Sorry if this is a little bit out of topic, but I'm developing it in OpenBSD and I couldn't find a definitive answer.
My application has one process for each interface, therefore I have one socket to each process, I need each socket to receive packets that came only through their interface. So process that handles interface iwn0 should only receive packets that came through iwn0, and process that handles interface em0, should see only packets for em0. I'm interested in multicast packets, no doubts about joining the group, that I understand. Well I obviously don't want to bind to INADDR_ANY, even so, if I did, would the packets be delivered in both sockets ? I could also try to play with MCAST_BLOCK_SOURCE, but that doesn't seem nice either. Pardon my ignorance here, but if I bind each socket to a unicast address of the specified interface, I'll get what I want, but what happens if the address changes ? Do I need to rebind the socket ? I understand that if I need to rebind, I'll use AF_ROUTE to get address changes and so on, that's wouldn't be much of a trouble. If that's any of concern, I'm joining multicast dns group, and the protocol uses udp port 5353. Sorry for the long post. Thanks. -- Christiano Farina HAESBAERT Do NOT send me html mail.