Now, after patching this https://github.com/torvalds/linux/commit/e58e415968110648231ed6783d38e78032661cee#diff-48343a6a17e1d4e6337f69d59390d138
"net: Enable support for VRF with ipv4 multicast", I think we should support multicast now.
However, the interface A enslaved to vrf-2 and we can receive peer(router with ospf enabled) multicast (ospf hello), but no multicast(ospf hello) transmitted from the enslaved interface A.
I can ping through the peer(router with ospf enabled), and get response.
I also saw the issue https://forums.cumulusnetworks.com/cumulus-linux-230719/multicast-ping-on-vrf-7737160 which show that "A socket bound to the VRF device can be used to receive packets, but Tx must specify the interface to send packets." I really do not understand that well, should I modify ospfd (quagga) to support normal ospf (send hello) multicast ?
Is there a way to make the kernel support send multicast to all enslaved devices ? you know, we have multiple enslaved devices, and there are many programs may need send multicast packet like rip, ospfd, igmp ...
Best answer by Pete B