From: Nikolay Aleksandrov <nikolay@redhat.com>
To: Veaceslav Falico <vfalico@redhat.com>
Cc: netdev@vger.kernel.org, fubar@us.ibm.com, andy@greyhouse.net,
davem@davemloft.net, linux@8192.net, nicolas.2p.debian@free.fr,
rick.jones2@hp.com
Subject: Re: [PATCH net-next 4/6] bonding: don't validate arp if we don't have to
Date: Thu, 20 Jun 2013 00:19:04 +0200 [thread overview]
Message-ID: <51C22E58.5080209@redhat.com> (raw)
In-Reply-To: <1371663286-12518-5-git-send-email-vfalico@redhat.com>
On 19/06/13 19:34, Veaceslav Falico wrote:
> Currently, we validate all the incoming arps if arp_validate not 0.
> However, we don't have to validate backup slaves if arp_validate == active
> and vice versa, so return early in bond_arp_rcv() in these cases.
>
> It works correctly now because we verify arp_validate in slave_last_rx(),
> however we're just doing useless work in bond_arp_rcv().
>
> Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
> ---
> drivers/net/bonding/bond_main.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index b69c7f0..2cfbb2e 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -2624,6 +2624,10 @@ static int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond,
> return RX_HANDLER_ANOTHER;
>
> read_lock(&bond->lock);
> +
> + if (!slave_do_arp_validate(bond, slave))
> + goto out_unlock;
> +
> alen = arp_hdr_len(bond->dev);
>
> pr_debug("bond_arp_rcv: bond %s skb->dev %s\n",
Hm, I think this issue runs deeper because recv_probe can be wrong and
also if arp_validate is enabled while the bond is running then
recv_probe is not set (or unset for that matter if disabled). I have a
patch which needs little more work for some time now in my queue that
fixes this, but if you'd like to fix it I'd suggest addressing that
issue (recv_probe), because then you can just drop these checks and
improve performance when disabled (after it's been enabled).
This got a bit confusing when I read it :-)
Cheers,
Nik
next prev parent reply other threads:[~2013-06-19 22:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-19 17:34 [PATCH net-next 4/6] bonding: don't validate arp if we don't have to Veaceslav Falico
2013-06-19 22:19 ` Nikolay Aleksandrov [this message]
2013-06-20 8:43 ` Veaceslav Falico
2013-06-20 13:43 ` Nikolay Aleksandrov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51C22E58.5080209@redhat.com \
--to=nikolay@redhat.com \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=fubar@us.ibm.com \
--cc=linux@8192.net \
--cc=netdev@vger.kernel.org \
--cc=nicolas.2p.debian@free.fr \
--cc=rick.jones2@hp.com \
--cc=vfalico@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.