Browse Source

[NET]: Don't exclude broadcast addresses from is_multicast_ether_addr()

The check for multicast shouldn't exclude broadcast type addresses.
This reverts the incorrect change done in 2.6.13.

The broadcast address is a multicast address and should be excluded
from being a valid_ether_address for use in bridging or device address.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger 19 năm trước cách đây
mục cha
commit
88df8ef59a
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      include/linux/etherdevice.h

+ 2 - 1
include/linux/etherdevice.h

@@ -63,10 +63,11 @@ static inline int is_zero_ether_addr(const u8 *addr)
  * @addr: Pointer to a six-byte array containing the Ethernet address
  * @addr: Pointer to a six-byte array containing the Ethernet address
  *
  *
  * Return true if the address is a multicast address.
  * Return true if the address is a multicast address.
+ * By definition the broadcast address is also a multicast address.
  */
  */
 static inline int is_multicast_ether_addr(const u8 *addr)
 static inline int is_multicast_ether_addr(const u8 *addr)
 {
 {
-	return ((addr[0] != 0xff) && (0x01 & addr[0]));
+	return (0x01 & addr[0]);
 }
 }
 
 
 /**
 /**