Lines Matching refs:addr

35 int device_get_mac_address(struct device *dev, char *addr);
37 int fwnode_get_mac_address(struct fwnode_handle *fwnode, char *addr);
83 static inline bool is_link_local_ether_addr(const u8 *addr) in is_link_local_ether_addr() argument
85 __be16 *a = (__be16 *)addr; in is_link_local_ether_addr()
90 return (((*(const u32 *)addr) ^ (*(const u32 *)b)) | in is_link_local_ether_addr()
105 static inline bool is_zero_ether_addr(const u8 *addr) in is_zero_ether_addr() argument
108 return ((*(const u32 *)addr) | (*(const u16 *)(addr + 4))) == 0; in is_zero_ether_addr()
110 return (*(const u16 *)(addr + 0) | in is_zero_ether_addr()
111 *(const u16 *)(addr + 2) | in is_zero_ether_addr()
112 *(const u16 *)(addr + 4)) == 0; in is_zero_ether_addr()
123 static inline bool is_multicast_ether_addr(const u8 *addr) in is_multicast_ether_addr() argument
126 u32 a = *(const u32 *)addr; in is_multicast_ether_addr()
128 u16 a = *(const u16 *)addr; in is_multicast_ether_addr()
137 static inline bool is_multicast_ether_addr_64bits(const u8 *addr) in is_multicast_ether_addr_64bits() argument
141 return 0x01 & ((*(const u64 *)addr) >> 56); in is_multicast_ether_addr_64bits()
143 return 0x01 & (*(const u64 *)addr); in is_multicast_ether_addr_64bits()
146 return is_multicast_ether_addr(addr); in is_multicast_ether_addr_64bits()
156 static inline bool is_local_ether_addr(const u8 *addr) in is_local_ether_addr() argument
158 return 0x02 & addr[0]; in is_local_ether_addr()
169 static inline bool is_broadcast_ether_addr(const u8 *addr) in is_broadcast_ether_addr() argument
171 return (*(const u16 *)(addr + 0) & in is_broadcast_ether_addr()
172 *(const u16 *)(addr + 2) & in is_broadcast_ether_addr()
173 *(const u16 *)(addr + 4)) == 0xffff; in is_broadcast_ether_addr()
182 static inline bool is_unicast_ether_addr(const u8 *addr) in is_unicast_ether_addr() argument
184 return !is_multicast_ether_addr(addr); in is_unicast_ether_addr()
198 static inline bool is_valid_ether_addr(const u8 *addr) in is_valid_ether_addr() argument
202 return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr); in is_valid_ether_addr()
230 static inline void eth_random_addr(u8 *addr) in eth_random_addr() argument
232 get_random_bytes(addr, ETH_ALEN); in eth_random_addr()
233 addr[0] &= 0xfe; /* clear multicast bit */ in eth_random_addr()
234 addr[0] |= 0x02; /* set local assignment bit (IEEE802) */ in eth_random_addr()
243 static inline void eth_broadcast_addr(u8 *addr) in eth_broadcast_addr() argument
245 memset(addr, 0xff, ETH_ALEN); in eth_broadcast_addr()
254 static inline void eth_zero_addr(u8 *addr) in eth_zero_addr() argument
256 memset(addr, 0x00, ETH_ALEN); in eth_zero_addr()
270 u8 addr[ETH_ALEN]; in eth_hw_addr_random() local
272 eth_random_addr(addr); in eth_hw_addr_random()
273 __dev_addr_set(dev, addr, ETH_ALEN); in eth_hw_addr_random()
285 return ether_crc(ETH_ALEN, ha->addr); in eth_hw_addr_crc()
317 static inline void eth_hw_addr_set(struct net_device *dev, const u8 *addr) in eth_hw_addr_set() argument
319 __dev_addr_set(dev, addr, ETH_ALEN); in eth_hw_addr_set()
431 static inline bool ether_addr_is_ipv4_mcast(const u8 *addr) in ether_addr_is_ipv4_mcast() argument
436 return ether_addr_equal_masked(addr, base, mask); in ether_addr_is_ipv4_mcast()
439 static inline bool ether_addr_is_ipv6_mcast(const u8 *addr) in ether_addr_is_ipv6_mcast() argument
444 return ether_addr_equal_masked(addr, base, mask); in ether_addr_is_ipv6_mcast()
447 static inline bool ether_addr_is_ip_mcast(const u8 *addr) in ether_addr_is_ip_mcast() argument
449 return ether_addr_is_ipv4_mcast(addr) || in ether_addr_is_ip_mcast()
450 ether_addr_is_ipv6_mcast(addr); in ether_addr_is_ip_mcast()
459 static inline u64 ether_addr_to_u64(const u8 *addr) in ether_addr_to_u64() argument
465 u = u << 8 | addr[i]; in ether_addr_to_u64()
475 static inline void u64_to_ether_addr(u64 u, u8 *addr) in u64_to_ether_addr() argument
480 addr[i] = u & 0xff; in u64_to_ether_addr()
490 static inline void eth_addr_dec(u8 *addr) in eth_addr_dec() argument
492 u64 u = ether_addr_to_u64(addr); in eth_addr_dec()
495 u64_to_ether_addr(u, addr); in eth_addr_dec()
502 static inline void eth_addr_inc(u8 *addr) in eth_addr_inc() argument
504 u64 u = ether_addr_to_u64(addr); in eth_addr_inc()
507 u64_to_ether_addr(u, addr); in eth_addr_inc()
516 static inline void eth_addr_add(u8 *addr, long offset) in eth_addr_add() argument
518 u64 u = ether_addr_to_u64(addr); in eth_addr_add()
521 u64_to_ether_addr(u, addr); in eth_addr_add()
536 const u8 addr[6 + 2]) in is_etherdev_addr()
543 res = ether_addr_equal_64bits(addr, ha->addr); in is_etherdev_addr()
603 u8 addr[ETH_ALEN]; in eth_hw_addr_gen() local
606 u64_to_ether_addr(u, addr); in eth_hw_addr_gen()
607 eth_hw_addr_set(dev, addr); in eth_hw_addr_gen()