From mboxrd@z Thu Jan 1 00:00:00 1970 From: Craig McGeachie Subject: [RFC 1/1] appletalk: ignore aarp probe broadcasts that loopback. Date: Sun, 19 Aug 2018 13:07:39 +1200 Message-ID: <20180819010739.26975-2-slapdau@gmail.com> References: <20180819010739.26975-1-slapdau@gmail.com> Cc: Craig McGeachie , Craig McGeachie To: "David S. Miller" , netdev@vger.kernel.org Return-path: Received: from mail-pg1-f196.google.com ([209.85.215.196]:46701 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725741AbeHSEUk (ORCPT ); Sun, 19 Aug 2018 00:20:40 -0400 Received: by mail-pg1-f196.google.com with SMTP id f14-v6so5137245pgv.13 for ; Sat, 18 Aug 2018 18:11:02 -0700 (PDT) In-Reply-To: <20180819010739.26975-1-slapdau@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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