• Shmulik Ladkani's avatar
    ip6_tunnel: Allow rcv/xmit even if remote address is a local address · 908d140a
    Shmulik Ladkani authored
    Currently, ip6_tnl_xmit_ctl drops tunneled packets if the remote
    address (outer v6 destination) is one of host's locally configured
    addresses.
    Same applies to ip6_tnl_rcv_ctl: it drops packets if the remote address
    (outer v6 source) is a local address.
    
    This prevents using ipxip6 (and ip6_gre) tunnels whose local/remote
    endpoints are on same host; OTOH v4 tunnels (ipip or gre) allow such
    configurations.
    
    An example where this proves useful is a system where entities are
    identified by their unique v6 addresses, and use tunnels to encapsulate
    traffic between them. The limitation prevents placing several entities
    on same host.
    
    Introduce IP6_TNL_F_ALLOW_LOCAL_REMOTE which allows to bypass this
    restriction.
    Signed-off-by: default avatarShmulik Ladkani <shmulik.ladkani@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    908d140a
ip6_tunnel.c 56 KB