mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-26 14:17:26 -04:00
eth: Rename and properly align br_reserved_address array
Since this array is no longer part of the bridge driver, it should have an 'eth' prefix not 'br'. We also assume that either it's 16-bit-aligned or the architecture has efficient unaligned access. Ensure the first of these is true by explicitly aligning it. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Acked-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
46acc460c0
commit
2bc80059fe
2 changed files with 4 additions and 3 deletions
|
@ -52,7 +52,8 @@ extern struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs,
|
|||
#define alloc_etherdev_mq(sizeof_priv, count) alloc_etherdev_mqs(sizeof_priv, count, count)
|
||||
|
||||
/* Reserved Ethernet Addresses per IEEE 802.1Q */
|
||||
static const u8 br_reserved_address[ETH_ALEN] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
|
||||
static const u8 eth_reserved_addr_base[ETH_ALEN] __aligned(2) =
|
||||
{ 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
|
||||
|
||||
/**
|
||||
* is_link_local_ether_addr - Determine if given Ethernet address is link-local
|
||||
|
@ -64,7 +65,7 @@ static const u8 br_reserved_address[ETH_ALEN] = { 0x01, 0x80, 0xc2, 0x00, 0x00,
|
|||
static inline bool is_link_local_ether_addr(const u8 *addr)
|
||||
{
|
||||
__be16 *a = (__be16 *)addr;
|
||||
static const __be16 *b = (const __be16 *)br_reserved_address;
|
||||
static const __be16 *b = (const __be16 *)eth_reserved_addr_base;
|
||||
static const __be16 m = cpu_to_be16(0xfff0);
|
||||
|
||||
return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | ((a[2] ^ b[2]) & m)) == 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue