how to set multicast MAC ligitemately?

From: Alexey V. Yurchenko
Date: Fri Sep 26 2003 - 13:53:35 EST



Hi, everybody

In view of include/linux/etherdevice.h:

...
/**
* is_valid_ether_addr - Determine if the given Ethernet address is valid
* @addr: Pointer to a six-byte array containing the Ethernet address
*
* Check that the Ethernet address (MAC) is not 00:00:00:00:00:00, is not
* a multicast address, and is not FF:FF:FF:FF:FF:FF. The multicast
* and FF:FF:... tests are combined into the single test "!(addr[0]&1)".
*
* Return true if the address is valid.
*/
static inline int is_valid_ether_addr( u8 *addr )
{
const char zaddr[6] = {0,};

return !(addr[0]&1) && memcmp( addr, zaddr, 6);
}
...

how it is possible to set up multicast MAC address legitemately if NIC driver resorts to use of this function. Why are multicast addresses forbidden and who is the right person to ask?

(I really do need to set a multicast MAC address, and if multicast MAC addresses exist, why are they forbidden?)

Regards,
Alex
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html