Promiscuous mode #174
-
I searched the README for "promiscuous" and found nothing so hopefully I haven't missed something obvious again :) I noticed when setting up smcroute that no traffic was being forwarded at all. However when I ran After some experimentation, the issue turned out to be that the network interface was not in promiscuous mode. Running tcpdump puts it into promiscuous mode which is why it was causing the incoming multicast packets to suddenly arrive on the machine. Going into the OpenWRT settings and setting the source interface to be run permanently in promiscuous mode fixed the problem, and now packets are forwarded even when tcpdump is not running. I am wondering whether this is something that smcroute should handle? Should it put the source network interfaces into promiscuous mode automatically, or is that deemed to be the responsibility of the OS? In which case would it be worth adding something to the README if this is a requirement for having smcroute function correctly? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
It's not really up to SMCRoute to handle the interface flags. If you want to set the interface in promiscuous mode you can do that. However, that means that the CPU will have to receive and drop every packet that is not supposed to be routed. Depending on your hardware there are ways to filter multicast, e.g. IGMP/MLD snooping, which allows only "subscribed" (or joined) multicast groups to be forwarded to the CPU. SMCRoute supports joining multicast groups, both ASM and SSM, meaning you can select exactly which groups reach the CPU and are forwarded by the multicast route. See the Moving this to Discussions, since it's more of a support question than bug/feature request. |
Beta Was this translation helpful? Give feedback.
-
Ah I see. Evidently the switch hardware in my router (or OpenWRT) doesn't support this for IPv6, but it explains what the IGMP snooping options are for as I was wondering how they applied to a network interface. Thanks for the explanation. I see now that |
Beta Was this translation helpful? Give feedback.
It's not really up to SMCRoute to handle the interface flags. If you want to set the interface in promiscuous mode you can do that. However, that means that the CPU will have to receive and drop every packet that is not supposed to be routed. Depending on your hardware there are ways to filter multicast, e.g. IGMP/MLD snooping, which allows only "subscribed" (or joined) multicast groups to be forwarded to the CPU. SMCRoute supports joining multicast groups, both ASM and SSM, meaning you can select exactly which groups reach the CPU and are forwarded by the multicast route. See the
mgroup
setting in the documentation.Moving this to Discussions, since it's more of a support question than b…