diff options
author | Veaceslav Falico <vfalico@redhat.com> | 2013-08-28 23:25:10 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-29 16:19:42 -0400 |
commit | 27bc11e63888c7cb0bd6d443e98775254cf7dbdd (patch) | |
tree | a0d7787f1a187f6bd0f949a8bf5bc511537dbf10 /Documentation/arm64 | |
parent | bonding: use netdev_upper list in bond_vlan_used (diff) | |
download | linux-dev-27bc11e63888c7cb0bd6d443e98775254cf7dbdd.tar.xz linux-dev-27bc11e63888c7cb0bd6d443e98775254cf7dbdd.zip |
bonding: make bond_arp_send_all use upper device list
Currently, bond_arp_send_all() is aware only of vlans, which breaks
configurations like bond <- bridge (or any other 'upper' device) with IP
(which is quite a common scenario for virt setups).
To fix this we convert the bond_arp_send_all() to first verify if the rt
device is the bond itself, and if not - to go through its list of upper
vlans and their respectiv upper devices (if the vlan's upper device matches
- tag the packet), if still not found - go through all of our upper list
devices to see if any of them match the route device for the target. If the
match is a vlan device - we also save its vlan_id and tag it in
bond_arp_send().
Also, clean the function a bit to be more readable.
CC: Vlad Yasevich <vyasevic@redhat.com>
CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/arm64')
0 files changed, 0 insertions, 0 deletions