• Martin Varghese's avatar
    net: Special handling for IP & MPLS. · 4b5f6723
    Martin Varghese authored
    Special handling is needed in bareudp module for IP & MPLS as they
    support more than one ethertypes.
    
    MPLS has 2 ethertypes. 0x8847 for MPLS unicast and 0x8848 for MPLS multicast.
    While decapsulating MPLS packet from UDP packet the tunnel destination IP
    address is checked to determine the ethertype. The ethertype of the packet
    will be set to 0x8848 if the  tunnel destination IP address is a multicast
    IP address. The ethertype of the packet will be set to 0x8847 if the
    tunnel destination IP address is a unicast IP address.
    
    IP has 2 ethertypes.0x0800 for IPV4 and 0x86dd for IPv6. The version
    field of the IP header tunnelled will be checked to determine the ethertype.
    
    This special handling to tunnel additional ethertypes will be disabled
    by default and can be enabled using a flag called multiproto. This flag can
    be used only with ethertypes 0x8847 and 0x0800.
    Signed-off-by: default avatarMartin Varghese <martin.varghese@nokia.com>
    Acked-by: default avatarWillem de Bruijn <willemb@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4b5f6723
bareudp.c 19.9 KB