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);
89 static inline bool is_link_local_ether_addr(const u8 *addr) in is_link_local_ether_addr() argument
91 __be16 *a = (__be16 *)addr; in is_link_local_ether_addr()
96 return (((*(const u32 *)addr) ^ (*(const u32 *)b)) | in is_link_local_ether_addr()
111 static inline bool is_zero_ether_addr(const u8 *addr) in is_zero_ether_addr() argument
114 return ((*(const u32 *)addr) | (*(const u16 *)(addr + 4))) == 0; in is_zero_ether_addr()
116 return (*(const u16 *)(addr + 0) | in is_zero_ether_addr()
117 *(const u16 *)(addr + 2) | in is_zero_ether_addr()
118 *(const u16 *)(addr + 4)) == 0; in is_zero_ether_addr()
129 static inline bool is_multicast_ether_addr(const u8 *addr) in is_multicast_ether_addr() argument
132 u32 a = *(const u32 *)addr; in is_multicast_ether_addr()
134 u16 a = *(const u16 *)addr; in is_multicast_ether_addr()
143 static inline bool is_multicast_ether_addr_64bits(const u8 *addr) in is_multicast_ether_addr_64bits() argument
147 return 0x01 & ((*(const u64 *)addr) >> 56); in is_multicast_ether_addr_64bits()
149 return 0x01 & (*(const u64 *)addr); in is_multicast_ether_addr_64bits()
152 return is_multicast_ether_addr(addr); in is_multicast_ether_addr_64bits()
162 static inline bool is_local_ether_addr(const u8 *addr) in is_local_ether_addr() argument
164 return 0x02 & addr[0]; in is_local_ether_addr()
175 static inline bool is_broadcast_ether_addr(const u8 *addr) in is_broadcast_ether_addr() argument
177 return (*(const u16 *)(addr + 0) & in is_broadcast_ether_addr()
178 *(const u16 *)(addr + 2) & in is_broadcast_ether_addr()
179 *(const u16 *)(addr + 4)) == 0xffff; in is_broadcast_ether_addr()
188 static inline bool is_unicast_ether_addr(const u8 *addr) in is_unicast_ether_addr() argument
190 return !is_multicast_ether_addr(addr); in is_unicast_ether_addr()
204 static inline bool is_valid_ether_addr(const u8 *addr) in is_valid_ether_addr() argument
208 return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr); in is_valid_ether_addr()
236 static inline void eth_random_addr(u8 *addr) in eth_random_addr() argument
238 get_random_bytes(addr, ETH_ALEN); in eth_random_addr()
239 addr[0] &= 0xfe; /* clear multicast bit */ in eth_random_addr()
240 addr[0] |= 0x02; /* set local assignment bit (IEEE802) */ in eth_random_addr()
249 static inline void eth_broadcast_addr(u8 *addr) in eth_broadcast_addr() argument
251 memset(addr, 0xff, ETH_ALEN); in eth_broadcast_addr()
260 static inline void eth_zero_addr(u8 *addr) in eth_zero_addr() argument
262 memset(addr, 0x00, ETH_ALEN); in eth_zero_addr()
276 u8 addr[ETH_ALEN]; in eth_hw_addr_random() local
278 eth_random_addr(addr); in eth_hw_addr_random()
279 __dev_addr_set(dev, addr, ETH_ALEN); in eth_hw_addr_random()
291 return ether_crc(ETH_ALEN, ha->addr); in eth_hw_addr_crc()
323 static inline void eth_hw_addr_set(struct net_device *dev, const u8 *addr) in eth_hw_addr_set() argument
325 __dev_addr_set(dev, addr, ETH_ALEN); in eth_hw_addr_set()
437 static inline bool ether_addr_is_ipv4_mcast(const u8 *addr) in ether_addr_is_ipv4_mcast() argument
441 return ether_addr_equal_masked(addr, eth_ipv4_mcast_addr_base, mask); in ether_addr_is_ipv4_mcast()
444 static inline bool ether_addr_is_ipv6_mcast(const u8 *addr) in ether_addr_is_ipv6_mcast() argument
448 return ether_addr_equal_masked(addr, eth_ipv6_mcast_addr_base, mask); in ether_addr_is_ipv6_mcast()
451 static inline bool ether_addr_is_ip_mcast(const u8 *addr) in ether_addr_is_ip_mcast() argument
453 return ether_addr_is_ipv4_mcast(addr) || in ether_addr_is_ip_mcast()
454 ether_addr_is_ipv6_mcast(addr); in ether_addr_is_ip_mcast()
463 static inline u64 ether_addr_to_u64(const u8 *addr) in ether_addr_to_u64() argument
469 u = u << 8 | addr[i]; in ether_addr_to_u64()
479 static inline void u64_to_ether_addr(u64 u, u8 *addr) in u64_to_ether_addr() argument
484 addr[i] = u & 0xff; in u64_to_ether_addr()
494 static inline void eth_addr_dec(u8 *addr) in eth_addr_dec() argument
496 u64 u = ether_addr_to_u64(addr); in eth_addr_dec()
499 u64_to_ether_addr(u, addr); in eth_addr_dec()
506 static inline void eth_addr_inc(u8 *addr) in eth_addr_inc() argument
508 u64 u = ether_addr_to_u64(addr); in eth_addr_inc()
511 u64_to_ether_addr(u, addr); in eth_addr_inc()
520 static inline void eth_addr_add(u8 *addr, long offset) in eth_addr_add() argument
522 u64 u = ether_addr_to_u64(addr); in eth_addr_add()
525 u64_to_ether_addr(u, addr); in eth_addr_add()
540 const u8 addr[6 + 2]) in is_etherdev_addr()
547 res = ether_addr_equal_64bits(addr, ha->addr); in is_etherdev_addr()
607 u8 addr[ETH_ALEN]; in eth_hw_addr_gen() local
610 u64_to_ether_addr(u, addr); in eth_hw_addr_gen()
611 eth_hw_addr_set(dev, addr); in eth_hw_addr_gen()