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.

Reply via email to