From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: Mahesh Bandewar <mahesh@bandewar.net>
Cc: David Miller <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
netdev <netdev@vger.kernel.org>,
Ido Schimmel <idosch@mellanox.com>,
Hans Liljestrand <ishkamiel@gmail.com>,
Kees Cook <keescook@chromium.org>,
Reshetova Elena <elena.reshetova@intel.com>,
Florian Westphal <fw@strlen.de>,
Roopa Prabhu <roopa@cumulusnetworks.com>,
Ihar Hrachyshka <ihrachys@redhat.com>,
David Ahern <dsa@cumulusnetworks.com>,
Zhang Shengju <zhangshengju@cmss.chinamobile.com>,
Mahesh Bandewar <maheshb@google.com>
Subject: Re: [PATCH next] neigh: initialize neigh entry correctly during arp processing
Date: Wed, 16 Aug 2017 20:32:15 -0400 [thread overview]
Message-ID: <20170817003215.GQ6984@oracle.com> (raw)
In-Reply-To: <20170817000251.38469-1-mahesh@bandewar.net>
On (08/16/17 17:02), Mahesh Bandewar wrote:
>
> From: Mahesh Bandewar <maheshb@google.com>
>
> If the ARP processing creates a neigh entry, it's immediately marked
> as STALE without timer and stays that way in that state as long as
> host do not send traffic to that neighbour.
Perhaps I dont understand the specific packet exchange case
that your patch is trying to fix, but if the neighbor entry
is created as a result of an incoming packet (but we have not
yet sent anything to this neighbor) then it should be marked STALE?
IOW, STALE means "Ingress path claims this adjacency, but egress
path has not been verified". Is the problem that the neigh never
goes into PROBE?
> + if (neigh) {
> + if (neigh->nud_state & NUD_VALID)
> + neigh_update(neigh, lladdr, NUD_STALE,
> + NEIGH_UPDATE_F_OVERRIDE, 0);
> + else
> + neigh_event_send(neigh, NULL);
> + }
NUD_VALID is already a mask of
(NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE|NUD_PROBE|NUD_STALE|NUD_DELAY)
are you sure you want to force the transition of probe/delay -> stale
here? Maybe it woudl help to describe the exact wire packet
exchange that is broken today, but fixed by your patch.
--Sowmini
next prev parent reply other threads:[~2017-08-17 0:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-17 0:02 [PATCH next] neigh: initialize neigh entry correctly during arp processing Mahesh Bandewar
2017-08-17 0:32 ` Sowmini Varadhan [this message]
2017-08-17 1:02 ` Mahesh Bandewar (महेश बंडेवार)
2017-08-17 0:58 ` 吉藤英明
2017-08-18 23:10 ` 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=20170817003215.GQ6984@oracle.com \
--to=sowmini.varadhan@oracle.com \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=edumazet@google.com \
--cc=elena.reshetova@intel.com \
--cc=fw@strlen.de \
--cc=idosch@mellanox.com \
--cc=ihrachys@redhat.com \
--cc=ishkamiel@gmail.com \
--cc=keescook@chromium.org \
--cc=mahesh@bandewar.net \
--cc=maheshb@google.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.com \
--cc=zhangshengju@cmss.chinamobile.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).