diff options
author | nikolay@redhat.com <nikolay@redhat.com> | 2013-09-07 02:00:26 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-11 23:55:17 +0400 |
commit | 5bb9e0b50d2188d8fac481742d9f801436e2c5ab (patch) | |
tree | bdf506c0c2ccc9aabe07846151f4ac27b6473644 /drivers/net/bonding/bond_main.c | |
parent | 5c5038dc26bdc609022a897e15f9ccdd28402ad9 (diff) | |
download | linux-5bb9e0b50d2188d8fac481742d9f801436e2c5ab.tar.xz |
bonding: fix bond_arp_rcv setting and arp validate desync state
We make bond_arp_rcv global so it can be used in bond_sysfs if the bond
interface is up and arp_interval is being changed to a positive value
and cleared otherwise as per Jay's suggestion.
This also fixes a problem where bond_arp_rcv was set even though
arp_validate was disabled while the bond was up by unsetting recv_probe
in bond_store_arp_validate and respectively setting it if enabled.
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Acked-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 39e5b1c7ffe2..72df399c4ab3 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -2404,8 +2404,8 @@ static void bond_validate_arp(struct bonding *bond, struct slave *slave, __be32 slave->target_last_arp_rx[i] = jiffies; } -static int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond, - struct slave *slave) +int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond, + struct slave *slave) { struct arphdr *arp = (struct arphdr *)skb->data; unsigned char *arp_ptr; |