• Octavian Purdila's avatar
    ip: fix mc_loop checks for tunnels with multicast outer addresses · 7ad6848c
    Octavian Purdila authored
    When we have L3 tunnels with different inner/outer families
    (i.e. IPV4/IPV6) which use a multicast address as the outer tunnel
    destination address, multicast packets will be loopbacked back to the
    sending socket even if IP*_MULTICAST_LOOP is set to disabled.
    
    The mc_loop flag is present in the family specific part of the socket
    (e.g. the IPv4 or IPv4 specific part).  setsockopt sets the inner
    family mc_loop flag. When the packet is pushed through the L3 tunnel
    it will eventually be processed by the outer family which if different
    will check the flag in a different part of the socket then it was set.
    Signed-off-by: default avatarOctavian Purdila <opurdila@ixiacom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7ad6848c
ip_output.c 35.6 KB