Function netstack3_device::ethernet::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.