| From 0c28eb79fa0868a1237cd18347504e757c891405 Mon Sep 17 00:00:00 2001 |
| From: Veaceslav Falico <vfalico@redhat.com> |
| Date: Tue, 12 Nov 2013 15:37:40 +0100 |
| Subject: bonding: don't permit to use ARP monitoring in 802.3ad mode |
| |
| From: Veaceslav Falico <vfalico@redhat.com> |
| |
| [ Upstream commit ec9f1d15db8185f63a2c3143dc1e90ba18541b08 ] |
| |
| Currently the ARP monitoring is not supported with 802.3ad, and it's |
| prohibited to use it via the module params. |
| |
| However we still can set it afterwards via sysfs, cause we only check for |
| *LB modes there. |
| |
| To fix this - add a check for 802.3ad mode in bonding_store_arp_interval. |
| |
| Signed-off-by: Veaceslav Falico <vfalico@redhat.com> |
| CC: Jay Vosburgh <fubar@us.ibm.com> |
| CC: Andy Gospodarek <andy@greyhouse.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/bonding/bond_sysfs.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/bonding/bond_sysfs.c |
| +++ b/drivers/net/bonding/bond_sysfs.c |
| @@ -537,8 +537,9 @@ static ssize_t bonding_store_arp_interva |
| goto out; |
| } |
| if (bond->params.mode == BOND_MODE_ALB || |
| - bond->params.mode == BOND_MODE_TLB) { |
| - pr_info("%s: ARP monitoring cannot be used with ALB/TLB. Only MII monitoring is supported on %s.\n", |
| + bond->params.mode == BOND_MODE_TLB || |
| + bond->params.mode == BOND_MODE_8023AD) { |
| + pr_info("%s: ARP monitoring cannot be used with ALB/TLB/802.3ad. Only MII monitoring is supported on %s.\n", |
| bond->dev->name, bond->dev->name); |
| ret = -EINVAL; |
| goto out; |