netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: Julian Anastasov <ja@ssi.bg>
Cc: netdev@oss.sgi.com, kuznet@ms2.inr.ac.ru
Subject: Re: Change proxy_arp to respond only for valid neighbours
Date: Mon, 9 Feb 2004 13:58:43 -0800	[thread overview]
Message-ID: <20040209135843.42b5b67e.davem@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0402082234110.6268@u.domain.uli>

On Sun, 8 Feb 2004 22:44:05 +0200 (EET)
Julian Anastasov <ja@ssi.bg> wrote:

> +				if (skb->stamp.tv_sec) {

Julian, do you understand what this check is for?

If it is zero, this means we are being reinvoked via the delayed proxy queue.
It means that some previously delayed response has been kicked so that we
should respond to it right now, with no delay, no matter what.

Otherwise you could loop delaying the thing forever.  If there is a case
where some pneigh ARP request should be evaluated multiple times, such
a change belongs in the pneigh_*() code not here in ipv4 arp processing.

The exact path is:

1) All input packets get skb->stamp.tv_sec assigned to in net/core/dev.c at
   the waaaay beginning of input packet processing...

2) Therefore the first time skb goes through arp_rcv() skb->tv_sec will be
   non-zero.

3) If it is pneigh_enqueue()'d, then skb->stamp.tv_sec will be set to zero
   therefore upon reprocessing by arp_rcv() it will be seen as zero and this
   is how such a state is detected.

Yes, I hate all of these overloaded meanings of skb->stamp.tv_* as much as
anyone else.

This is my contribution wrt. this suggested patch today, it's your turn to
make some commentary Julian :-)

  parent reply	other threads:[~2004-02-09 21:58 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-08 20:44 Change proxy_arp to respond only for valid neighbours Julian Anastasov
2004-02-08 21:14 ` David S. Miller
2004-02-08 21:38   ` Julian Anastasov
2004-02-08 22:44   ` Julian Anastasov
2004-02-09  6:08 ` Pekka Savola
2004-02-09 11:30   ` Julian Anastasov
2004-02-09 15:01 ` jamal
2004-02-09 22:23   ` Julian Anastasov
2004-02-09 22:50     ` jamal
2004-02-09 23:52       ` Julian Anastasov
2004-02-10  1:21         ` jamal
2004-02-10  9:44           ` Julian Anastasov
2004-02-10 10:48             ` jamal
2004-02-11  1:52               ` Julian Anastasov
2004-02-11 13:11                 ` jamal
2004-02-11 14:32                   ` Julian Anastasov
2004-02-12  4:48                     ` jamal
2004-02-12  9:46                       ` Julian Anastasov
2004-02-12 14:21                         ` jamal
2004-02-12 19:37                         ` kuznet
2004-02-13  0:34                           ` Julian Anastasov
2004-02-11 13:40                 ` jamal
2004-02-11 14:53                   ` Julian Anastasov
2004-02-09 20:19 ` David S. Miller
2004-02-09 21:26   ` James Morris
2004-02-09 21:39   ` Ben Greear
2004-02-09 21:45     ` David S. Miller
2004-02-09 22:42       ` Julian Anastasov
2004-02-09 22:45         ` David S. Miller
2004-02-09 22:32   ` Julian Anastasov
2004-02-09 21:58 ` David S. Miller [this message]
2004-02-09 22:49   ` Julian Anastasov

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=20040209135843.42b5b67e.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=ja@ssi.bg \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=netdev@oss.sgi.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).