When a UDP socket joins a multicast group (using
IP_ADD_MEMBERSHIP or similar), this option causes the socket to be bound to the interface that the join was on. The benefit of this is that it ensures the socket will not accidentally receive packets from other interfaces that happen to match the same group and port. This can sometimes happen if another socket joins the same multicast group on a different interface, or if the switch is not filtering multicast traffic effectively.
If the socket joins multicast groups on more than one interface, then the binding is automatically removed.