• Jiri Benc's avatar
    vxlan: implement GPE · e1e5314d
    Jiri Benc authored
    Implement VXLAN-GPE. Only COLLECT_METADATA is supported for now (it is
    possible to support static configuration, too, if there is demand for it).
    
    The GPE header parsing has to be moved before iptunnel_pull_header, as we
    need to know the protocol.
    
    v2: Removed what was called "L2 mode" in v1 of the patchset. Only "L3 mode"
        (now called "raw mode") is added by this patch. This mode does not allow
        Ethernet header to be encapsulated in VXLAN-GPE when using ip route to
        specify the encapsulation, IP header is encapsulated instead. The patch
        does support Ethernet to be encapsulated, though, using ETH_P_TEB in
        skb->protocol. This will be utilized by other COLLECT_METADATA users
        (openvswitch in particular).
    
        If there is ever demand for Ethernet encapsulation with VXLAN-GPE using
        ip route, it's easy to add a new flag switching the interface to
        "Ethernet mode" (called "L2 mode" in v1 of this patchset). For now,
        leave this out, it seems we don't need it.
    
        Disallowed more flag combinations, especially RCO with GPE.
        Added comment explaining that GBP and GPE cannot be set together.
    Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e1e5314d
vxlan.c 85 KB