The next API function is the AddrMulticastRemove()
function used to remove an (IP-to-Ethernet) multicast hardware address from a device.
Files
Every device driver’s net_dev.c
Prototype
Note that since every device driver’s AddrMulticastRemove()
function is accessed only by function pointer via the device driver’s API structure, it doesn’t need to be globally available and should therefore be declared as ‘static
’.
Arguments
p_if
Pointer to the interface to remove a multicast address.
p_addr_hw
Pointer to multicast hardware address to remove.
addr_hw_len
Length of multicast hardware address.
p_err
Pointer to variable that will receive the return error code from this function.
Returned Value
None.
Required Configuration
Necessary only if NET_IP_CFG_MULTICAST_SEL
is configured for transmit and receive multicasting (see NET_IP_CFG_MULTICAST_SEL).
Notes / Warnings
Use same exact code as in NetDev_AddrMulticastAdd()
to calculate the device’s CRC hash (see NetDev_MgmtDemux()), but remove a multicast address by decrementing the device’s hash bit reference counters and clearing the appropriate bits in the device’s multicast registers.