diff options
author | Patrick McHardy <kaber@trash.net> | 2013-04-18 22:04:28 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-19 14:45:27 -0400 |
commit | 80d5c3689b886308247da295a228a54df49a44f6 (patch) | |
tree | ce7b1e6898c3f9fea945e67fd06b125dfcc61fe7 /drivers/net/team | |
parent | f646968f8f7c624587de729115d802372b9063dd (diff) |
net: vlan: prepare for 802.1ad VLAN filtering offload
Change the rx_{add,kill}_vid callbacks to take a protocol argument in
preparation of 802.1ad support. The protocol argument used so far is
always htons(ETH_P_8021Q).
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
-rw-r--r-- | drivers/net/team/team.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 9290eb23d664..7c43261975bd 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c | |||
@@ -1598,7 +1598,7 @@ team_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | |||
1598 | return stats; | 1598 | return stats; |
1599 | } | 1599 | } |
1600 | 1600 | ||
1601 | static int team_vlan_rx_add_vid(struct net_device *dev, uint16_t vid) | 1601 | static int team_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) |
1602 | { | 1602 | { |
1603 | struct team *team = netdev_priv(dev); | 1603 | struct team *team = netdev_priv(dev); |
1604 | struct team_port *port; | 1604 | struct team_port *port; |
@@ -1610,7 +1610,7 @@ static int team_vlan_rx_add_vid(struct net_device *dev, uint16_t vid) | |||
1610 | */ | 1610 | */ |
1611 | mutex_lock(&team->lock); | 1611 | mutex_lock(&team->lock); |
1612 | list_for_each_entry(port, &team->port_list, list) { | 1612 | list_for_each_entry(port, &team->port_list, list) { |
1613 | err = vlan_vid_add(port->dev, vid); | 1613 | err = vlan_vid_add(port->dev, proto, vid); |
1614 | if (err) | 1614 | if (err) |
1615 | goto unwind; | 1615 | goto unwind; |
1616 | } | 1616 | } |
@@ -1620,20 +1620,20 @@ static int team_vlan_rx_add_vid(struct net_device *dev, uint16_t vid) | |||
1620 | 1620 | ||
1621 | unwind: | 1621 | unwind: |
1622 | list_for_each_entry_continue_reverse(port, &team->port_list, list) | 1622 | list_for_each_entry_continue_reverse(port, &team->port_list, list) |
1623 | vlan_vid_del(port->dev, vid); | 1623 | vlan_vid_del(port->dev, proto, vid); |
1624 | mutex_unlock(&team->lock); | 1624 | mutex_unlock(&team->lock); |
1625 | 1625 | ||
1626 | return err; | 1626 | return err; |
1627 | } | 1627 | } |
1628 | 1628 | ||
1629 | static int team_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) | 1629 | static int team_vlan_rx_kill_vid(struct net_device *dev, __be16 proto, u16 vid) |
1630 | { | 1630 | { |
1631 | struct team *team = netdev_priv(dev); | 1631 | struct team *team = netdev_priv(dev); |
1632 | struct team_port *port; | 1632 | struct team_port *port; |
1633 | 1633 | ||
1634 | rcu_read_lock(); | 1634 | rcu_read_lock(); |
1635 | list_for_each_entry_rcu(port, &team->port_list, list) | 1635 | list_for_each_entry_rcu(port, &team->port_list, list) |
1636 | vlan_vid_del(port->dev, vid); | 1636 | vlan_vid_del(port->dev, proto, vid); |
1637 | rcu_read_unlock(); | 1637 | rcu_read_unlock(); |
1638 | 1638 | ||
1639 | return 0; | 1639 | return 0; |