netstack3_device::ethernet

Function join_link_multicast

Source
pub fn join_link_multicast<BC: EthernetIpLinkDeviceBindingsContext, CC: EthernetIpLinkDeviceDynamicStateContext<BC>>(
    core_ctx: &mut CC,
    _bindings_ctx: &mut BC,
    device_id: &CC::DeviceId,
    multicast_addr: MulticastAddr<Mac>,
)
Expand description

Add device_id to a link multicast group multicast_addr.

Calling join_link_multicast with the same device_id and multicast_addr is completely safe. A counter will be kept for the number of times join_link_multicast has been called with the same device_id and multicast_addr pair. To completely leave a multicast group, leave_link_multicast must be called the same number of times join_link_multicast has been called for the same device_id and multicast_addr pair. The first time join_link_multicast is called for a new device and multicast_addr pair, the device will actually join the multicast group.

join_link_multicast is different from [join_ip_multicast] as join_link_multicast joins an L2 multicast group, whereas join_ip_multicast joins an L3 multicast group.