diff options
author | Jiri Pirko <jpirko@redhat.com> | 2011-04-19 03:48:16 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-25 12:00:30 -0700 |
commit | 3aba891dde3842d89ad022237b99c1ed308040b0 (patch) | |
tree | 7b89bcdc0362a1fdd50d74c3a8108f16fecfa5b1 /drivers/net/bonding/bond_3ad.h | |
parent | 22d5969fb450afd3a4aff606360f7d52c5a3a628 (diff) | |
download | op-kernel-dev-3aba891dde3842d89ad022237b99c1ed308040b0.zip op-kernel-dev-3aba891dde3842d89ad022237b99c1ed308040b0.tar.gz |
bonding: move processing of recv handlers into handle_frame()
Since now when bonding uses rx_handler, all traffic going into bond
device goes thru bond_handle_frame. So there's no need to go back into
bonding code later via ptype handlers. This patch converts
original ptype handlers into "bonding receive probes". These functions
are called from bond_handle_frame and they are registered per-mode.
Note that vlan packets are also handled because they are always untagged
thanks to vlan_untag()
Note that this also allows arpmon for eth-bond-bridge-vlan topology.
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_3ad.h')
-rw-r--r-- | drivers/net/bonding/bond_3ad.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/bonding/bond_3ad.h b/drivers/net/bonding/bond_3ad.h index b28baff..291dbd4 100644 --- a/drivers/net/bonding/bond_3ad.h +++ b/drivers/net/bonding/bond_3ad.h @@ -258,7 +258,6 @@ struct ad_bond_info { * requested */ struct timer_list ad_timer; - struct packet_type ad_pkt_type; }; struct ad_slave_info { @@ -280,7 +279,8 @@ void bond_3ad_adapter_duplex_changed(struct slave *slave); void bond_3ad_handle_link_change(struct slave *slave, char link); int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info); int bond_3ad_xmit_xor(struct sk_buff *skb, struct net_device *dev); -int bond_3ad_lacpdu_recv(struct sk_buff *skb, struct net_device *dev, struct packet_type* ptype, struct net_device *orig_dev); +void bond_3ad_lacpdu_recv(struct sk_buff *skb, struct bonding *bond, + struct slave *slave); int bond_3ad_set_carrier(struct bonding *bond); #endif //__BOND_3AD_H__ |