From: Julian Anastasov <ja@ssi.bg>
To: Octavian Purdila <opurdila@ixiacom.com>
Cc: David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, Laurent Chavey <chavey@google.com>
Subject: Re: [PATCH v2] ipv4: support for request type gratuitous ARP
Date: Sun, 17 Jan 2010 22:43:54 +0200 (EET) [thread overview]
Message-ID: <Pine.LNX.4.58.1001172213550.10728@u.domain.uli> (raw)
In-Reply-To: <201001172055.52953.opurdila@ixiacom.com>
Hello,
On Sun, 17 Jan 2010, Octavian Purdila wrote:
> On Sunday 17 January 2010 15:45:45 you wrote:
>
> > May be I'm missing something but the description and
> > the changed code do not match. You claim this patch now supports
> > dest mac ff:ff:ff:ff:ff:ff while without the patch the
> > 'skb->pkt_type != PACKET_HOST' check usually updates the
> > existing entry with state NUD_STALE (neigh_update). What
> Hi Julian,
>
> Thanks for looking at this patch ! You are indeed correct, we don't need to do anything special when we want to update an existing ARP entry.
>
> But I also want to be able to create a new ARP entry not only update an existing one (and we can do that with Linux today, but only with response type grat arp).
>
> How about this new version?
Looks correct to me. You will save some CPU cycles
if the 'arp->ar_op == htons(ARPOP_REQUEST)' check is not added.
May be you also need to change arp_accept in
Documentation/networking/ip-sysctl.txt to show that we do not
differentiate Gratuitous ARP requests from replies.
> [PATCH] ipv4: allow warming up the ARP cache with request type gratuitous ARP
>
> If the per device ARP_ACCEPT option is enabled, currently we only allow
> creating new ARP cache entries for response type gratuitous ARP.
>
> Allowing gratuitous ARP to create new ARP entries (not only to update
> existing ones) is useful when we want to avoid unnecessary delays for
> the first packet of a stream.
>
> This patch allows request type gratuitous ARP to create new ARP cache
> entries as well. This is useful when we want to warm-up the ARP cache
> entries for a large number of hosts on the same LAN.
>
> Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
> ---
> net/ipv4/arp.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
> index 0787092..1940b4d 100644
> --- a/net/ipv4/arp.c
> +++ b/net/ipv4/arp.c
> @@ -907,7 +907,8 @@ static int arp_process(struct sk_buff *skb)
> devices (strip is candidate)
> */
> if (n == NULL &&
> - arp->ar_op == htons(ARPOP_REPLY) &&
> + (arp->ar_op == htons(ARPOP_REPLY) ||
> + (arp->ar_op == htons(ARPOP_REQUEST) && tip == sip)) &&
> inet_addr_type(net, sip) == RTN_UNICAST)
> n = __neigh_lookup(&arp_tbl, &sip, dev, 1);
> }
Regards
--
Julian Anastasov <ja@ssi.bg>
next prev parent reply other threads:[~2010-01-17 20:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-04 22:04 [RFC] ipv4: support for request type gratuitous ARP Octavian Purdila
2010-01-06 20:24 ` Laurent Chavey
2010-01-10 21:21 ` David Miller
2010-01-11 21:31 ` Octavian Purdila
2010-01-16 22:18 ` [PATCH v2] " Octavian Purdila
2010-01-17 13:45 ` Julian Anastasov
2010-01-17 18:55 ` Octavian Purdila
2010-01-17 20:43 ` Julian Anastasov [this message]
2010-01-18 3:05 ` David Miller
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=Pine.LNX.4.58.1001172213550.10728@u.domain.uli \
--to=ja@ssi.bg \
--cc=chavey@google.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=opurdila@ixiacom.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).