All of lore.kernel.org
 help / color / mirror / Atom feed
From: Craig McGeachie <slapdau@gmail.com>
To: "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org
Cc: Craig McGeachie <slapdau@gmail.com>,
	Craig McGeachie <slapdau@yahoo.com.au>
Subject: [RFC 1/1] appletalk: ignore aarp probe broadcasts that loopback.
Date: Sun, 19 Aug 2018 13:07:39 +1200	[thread overview]
Message-ID: <20180819010739.26975-2-slapdau@gmail.com> (raw)
In-Reply-To: <20180819010739.26975-1-slapdau@gmail.com>

AARP probe packets are broadcast to dynamically discover if an Appletalk
node address is in use. The definition of AARP requires interpreting the
receipt of probe requests for the address being tested as the address being
in use, and then trying the next address. However, the node receives its own
Ethertalk broadcast, and incorrectly interprets that as another node trying
to claim the address.

Signed-off-by: Craig McGeachie <slapdau@gmail.com>
---
 net/appletalk/aarp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index 49a16cee..f966cc01 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -757,6 +757,10 @@ static int aarp_rcv(struct sk_buff *skb, struct net_device *dev,
 	if (!ifa)
 		goto out1;
 
+	/* Ignore packets from myself. */
+	if (ether_addr_equal(ea->hw_src, dev->dev_addr))
+		goto out1;
+
 	if (ifa->status & ATIF_PROBE &&
 	    ifa->address.s_node == ea->pa_dst_node &&
 	    ifa->address.s_net == ea->pa_dst_net) {
-- 
2.17.1

  reply	other threads:[~2018-08-19  4:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-19  1:07 [RFC 0/1] Appletalk AARP probe broken by receipt of own broadcasts Craig McGeachie
2018-08-19  1:07 ` Craig McGeachie [this message]
2018-08-19  1:32 ` Andrew Lunn
2018-08-19  2:09   ` Craig McGeachie
2018-08-19 14:41     ` Andrew Lunn
2018-08-20  8:48       ` Craig McGeachie
2018-08-20 13:28         ` Andrew Lunn
2018-08-21  6:07           ` Craig McGeachie

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=20180819010739.26975-2-slapdau@gmail.com \
    --to=slapdau@gmail.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=slapdau@yahoo.com.au \
    /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.