diff options
Diffstat (limited to 'include/net.h')
| -rw-r--r-- | include/net.h | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/include/net.h b/include/net.h index 967194800..aa58e333a 100644 --- a/include/net.h +++ b/include/net.h @@ -435,6 +435,29 @@ static inline void NetCopyLong(ulong *to, ulong *from)  	memcpy((void*)to, (void*)from, sizeof(ulong));  } +/** + * is_zero_ether_addr - Determine if give Ethernet address is all zeros. + * @addr: Pointer to a six-byte array containing the Ethernet address + * + * Return true if the address is all zeroes. + */ +static inline int is_zero_ether_addr(const u8 *addr) +{ +	return !(addr[0] | addr[1] | addr[2] | addr[3] | addr[4] | addr[5]); +} + +/** + * is_multicast_ether_addr - Determine if the Ethernet address is a multicast. + * @addr: Pointer to a six-byte array containing the Ethernet 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) +{ +	return (0x01 & addr[0]); +} +  /* Convert an IP address to a string */  extern void	ip_to_string (IPaddr_t x, char *s); |