Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
Jeff Kirsher says: ==================== This series contains updates to ixgbe, ixgbevf, igbvf, igb and networking core (bridge). Most notably is the addition of support for local link multicast addresses in SR-IOV mode to the networking core. Also note, the ixgbe patch "ixgbe: Add support for pipeline reset" and "ixgbe: Fix return value from macvlan filter function" is revised based on community feedback. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -358,7 +358,7 @@ void br_dev_setup(struct net_device *dev)
|
||||
br->bridge_id.prio[0] = 0x80;
|
||||
br->bridge_id.prio[1] = 0x00;
|
||||
|
||||
memcpy(br->group_addr, br_group_address, ETH_ALEN);
|
||||
memcpy(br->group_addr, br_reserved_address, ETH_ALEN);
|
||||
|
||||
br->stp_enabled = BR_NO_STP;
|
||||
br->group_fwd_mask = BR_GROUPFWD_DEFAULT;
|
||||
|
@@ -19,9 +19,6 @@
|
||||
#include <linux/export.h>
|
||||
#include "br_private.h"
|
||||
|
||||
/* Bridge group multicast address 802.1d (pg 51). */
|
||||
const u8 br_group_address[ETH_ALEN] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
|
||||
|
||||
/* Hook for brouter */
|
||||
br_should_route_hook_t __rcu *br_should_route_hook __read_mostly;
|
||||
EXPORT_SYMBOL(br_should_route_hook);
|
||||
@@ -127,18 +124,6 @@ static int br_handle_local_finish(struct sk_buff *skb)
|
||||
return 0; /* process further */
|
||||
}
|
||||
|
||||
/* Does address match the link local multicast address.
|
||||
* 01:80:c2:00:00:0X
|
||||
*/
|
||||
static inline int is_link_local(const unsigned char *dest)
|
||||
{
|
||||
__be16 *a = (__be16 *)dest;
|
||||
static const __be16 *b = (const __be16 *)br_group_address;
|
||||
static const __be16 m = cpu_to_be16(0xfff0);
|
||||
|
||||
return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | ((a[2] ^ b[2]) & m)) == 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return NULL if skb is handled
|
||||
* note: already called with rcu_read_lock
|
||||
|
@@ -290,7 +290,6 @@ struct br_input_skb_cb {
|
||||
pr_debug("%s: " format, (br)->dev->name, ##args)
|
||||
|
||||
extern struct notifier_block br_device_notifier;
|
||||
extern const u8 br_group_address[ETH_ALEN];
|
||||
|
||||
/* called under bridge lock */
|
||||
static inline int br_is_root_bridge(const struct net_bridge *br)
|
||||
|
@@ -14,6 +14,7 @@
|
||||
#include <linux/capability.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/spinlock.h>
|
||||
@@ -310,7 +311,7 @@ static ssize_t store_group_addr(struct device *d,
|
||||
|
||||
/* Must be 01:80:c2:00:00:0X */
|
||||
for (i = 0; i < 5; i++)
|
||||
if (new_addr[i] != br_group_address[i])
|
||||
if (new_addr[i] != br_reserved_address[i])
|
||||
return -EINVAL;
|
||||
|
||||
if (new_addr[5] & ~0xf)
|
||||
|
Reference in New Issue
Block a user