From: David Ahern <d...@cumulusnetworks.com> Date: Mon, 31 Oct 2016 15:54:00 -0700
> Enable support for IPv4 multicast: > - similar to unicast the flow struct is updated to L3 master device > if relevant prior to calling fib_rules_lookup. The table id is saved > to the lookup arg so the rule action for ipmr can return the table > associated with the device. > > - ip_mr_forward needs to check for master device mismatch as well > since the skb->dev is set to it > > - allow multicast address on VRF device for Rx by checking for the > daddr in the VRF device as well as the original ingress device > > - on Tx need to drop to __mkroute_output when FIB lookup fails for > multicast destination address. > > - if CONFIG_IP_MROUTE_MULTIPLE_TABLES is enabled VRF driver creates > IPMR FIB rules on first device create similar to FIB rules. In > addition the VRF driver does not divert IPv4 multicast packets: > it breaks on Tx since the fib lookup fails on the mcast address. > > With this patch, ipmr forwarding and local rx/tx work. > > Signed-off-by: David Ahern <d...@cumulusnetworks.com> Applied, thanks David.