]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'vrf-ipv6-mcast-link-local'
authorDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 19:34:34 +0000 (12:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 19:34:34 +0000 (12:34 -0700)
commitbda37e8d5048d510721e8aa8b506f4561d33b8b1
tree35a4899be648232e3a96c47220f08414eb5fd6c3
parentab9e61bb4e062de29b578d041ba99b54dc01ec2e
parente62c66a45142d6ba1ee057369edc6be8d9a447cb
Merge branch 'vrf-ipv6-mcast-link-local'

David Ahern says:

====================
net: vrf: Handle ipv6 multicast and link-local addresses

IPv6 multicast and link-local addresses require special handling by the
VRF driver. Rather than using the VRF device index and full FIB lookups,
packets to/from these addresses should use direct FIB lookups based on
the VRF device table.

Multicast routes do not make sense for the L3 master device directly.
Accordingly, do not add mcast routes for the device, and the VRF driver
should fail attempts to send packets to ipv6 mcast addresses on the
device (e.g, ping6 ff02::1%<vrf> should fail)

With this change connections into and out of a VRF enslaved device work
for multicast and link-local addresses (icmp, tcp, and udp).  e.g.,

1. packets into VM with VRF config:
    ping6 -c3 fe80::e0:f9ff:fe1c:b974%br1
    ping6 -c3 ff02::1%br1
    ssh -6 fe80::e0:f9ff:fe1c:b974%br1

2. packets going out a VRF enslaved device:
    ping6 -c3 fe80::18f8:83ff:fe4b:7a2e%eth1
    ping6 -c3 ff02::1%eth1
    ssh -6 root@fe80::18f8:83ff:fe4b:7a2e%eth1
====================

Signed-off-by: David S. Miller <davem@davemloft.net>