I am working with devices that allow auto-discovery by sending a discovery packet to a multicast address (239.254.12.16). I have a container that listens for these packets which has been working if I run it on the host network.
I now have the requirement to run many of these on one machine and have each of them listen on a different network interface. I have tried publishing the port these devices use by doing -p 239.254.12.16:50019/udp to no avail. Does anyone have any insight as to why this is not working?
Once that works I am unsure how I can have a certain container only listen on a specific network interface since when publishing the port I am not specifying a network interface address but rather a multicast address.
This requires the container either to use the host network or use a macvlan network to assign the container an ip from your lan subnet - both will only work with docker-ce (=not with Docker Desktop).
Thanks for the quick response.
Currently we are using smcroute but this has the problem that multicast routes are static and generate network overload.
We are testing with pimd but it is not working for us. Do you have any experience with pimd or should we try with macvlan?
I can not give any recommendations. I can just tell you that mavlan and host mode allows receiving mutlicast/broadcast packages, and that none of this is possible with Docker Desktop.