diff options
author | Veaceslav Falico <vfalico@gmail.com> | 2014-07-17 17:02:23 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-20 20:35:00 -0700 |
commit | 3e403a77779faf046862d91c36ef79fb4b12be9a (patch) | |
tree | 25f1b3b47eff4aa4e437d991b33f3438eed85eec /drivers/net/bonding/bonding.h | |
parent | 224e923cd9b001c612b7b68933264156271722f9 (diff) | |
download | lwn-3e403a77779faf046862d91c36ef79fb4b12be9a.tar.gz lwn-3e403a77779faf046862d91c36ef79fb4b12be9a.zip |
bonding: make it possible to have unlimited nested upper vlans
Currently we're limited by a constant level of vlan nestings, and fail to
find anything beyound that level (currently 2).
To fix this - remove the limit of nestings when going through device tree,
and when the end device is found - allocate the needed amount of vlan tags
and return them, instead of found/not found.
CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r-- | drivers/net/bonding/bonding.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h index a85ca51eabf5..aace510d08d1 100644 --- a/drivers/net/bonding/bonding.h +++ b/drivers/net/bonding/bonding.h @@ -36,7 +36,6 @@ #define bond_version DRV_DESCRIPTION ": v" DRV_VERSION " (" DRV_RELDATE ")\n" -#define BOND_MAX_VLAN_ENCAP 2 #define BOND_MAX_ARP_TARGETS 16 #define BOND_DEFAULT_MIIMON 100 @@ -525,9 +524,9 @@ int bond_netlink_init(void); void bond_netlink_fini(void); struct net_device *bond_option_active_slave_get_rcu(struct bonding *bond); const char *bond_slave_link_status(s8 link); -bool bond_verify_device_path(struct net_device *start_dev, - struct net_device *end_dev, - struct bond_vlan_tag *tags); +struct bond_vlan_tag *bond_verify_device_path(struct net_device *start_dev, + struct net_device *end_dev, + int level); #ifdef CONFIG_PROC_FS void bond_create_proc_entry(struct bonding *bond); |