diff options
| -rw-r--r-- | include/linux/etherdevice.h | 18 |
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 | */ | ||
| 277 | static 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 |
