Multicast routing questions
emeric.poupon at stormshield.eu
Wed Jun 24 08:22:54 UTC 2015
I'm testing multicast routing on FreeBSD 9.3 and I have a question:
In packet reception, it seems the packet is received locally as many times the packet is rerouted + 1:
ip_input -> ip_mforward -> ip_output (as many times there are dst interfaces in the route cache entry) -> ip_mloopback -> if_simloop (rcvif becomes the ifp of the output interface) -> ip_input -> ip_mforward -> ...
In ip_input, after each ip_mforward call, the packet is processed locally (using the goto "ours:")
Futhermore it seems this infinite loop is actually broken thanks to a test in ip_mforward that checks the ifp is the same as the registered one in the cache entry.
Maybe I missed something, but it does not seem to be working as expected.
What do you think?
More information about the freebsd-net