diff options
| author | Stephen Hemminger <shemminger@osdl.org> | 2006-01-03 18:25:45 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2006-01-03 18:25:45 -0500 |
| commit | 88df8ef59a3eb54b1e2412765ff2736d2376d1ca (patch) | |
| tree | 3180783ee0ac9d32271725a6c9c4dcf69eabf717 | |
| parent | cd8787ab04d23f925f440b712b43a6fd5cb31ece (diff) | |
[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>
| -rw-r--r-- | include/linux/etherdevice.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 5f49a30eb6f2..745c988359c0 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h | |||
| @@ -63,10 +63,11 @@ static inline int is_zero_ether_addr(const u8 *addr) | |||
| 63 | * @addr: Pointer to a six-byte array containing the Ethernet address | 63 | * @addr: Pointer to a six-byte array containing the Ethernet address |
| 64 | * | 64 | * |
| 65 | * Return true if the address is a multicast address. | 65 | * Return true if the address is a multicast address. |
| 66 | * By definition the broadcast address is also a multicast address. | ||
| 66 | */ | 67 | */ |
| 67 | static inline int is_multicast_ether_addr(const u8 *addr) | 68 | static inline int is_multicast_ether_addr(const u8 *addr) |
| 68 | { | 69 | { |
| 69 | return ((addr[0] != 0xff) && (0x01 & addr[0])); | 70 | return (0x01 & addr[0]); |
| 70 | } | 71 | } |
| 71 | 72 | ||
| 72 | /** | 73 | /** |
