aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/etherdevice.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
index 3526e819d7ae..2f0e3d0818bc 100644
--- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h
@@ -266,6 +266,24 @@ static inline bool ether_addr_equal_64bits(const u8 addr1[6+2],
266} 266}
267 267
268/** 268/**
269 * ether_addr_equal_unaligned - Compare two not u16 aligned Ethernet addresses
270 * @addr1: Pointer to a six-byte array containing the Ethernet address
271 * @addr2: Pointer other six-byte array containing the Ethernet address
272 *
273 * Compare two Ethernet addresses, returns true if equal
274 *
275 * Please note: Use only when any Ethernet address may not be u16 aligned.
276 */
277static inline bool ether_addr_equal_unaligned(const u8 *addr1, const u8 *addr2)
278{
279#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
280 return ether_addr_equal(addr1, addr2);
281#else
282 return memcmp(addr1, addr2, ETH_ALEN) == 0;
283#endif
284}
285
286/**
269 * is_etherdev_addr - Tell if given Ethernet address belongs to the device. 287 * is_etherdev_addr - Tell if given Ethernet address belongs to the device.
270 * @dev: Pointer to a device structure 288 * @dev: Pointer to a device structure
271 * @addr: Pointer to a six-byte array containing the Ethernet address 289 * @addr: Pointer to a six-byte array containing the Ethernet address