Patchwork ipv6: silence log messages for locally generated multicast

login
register
mail settings
Submitter Jan Sembera
Date Dec. 8, 2008, 12:25 p.m.
Message ID <20081208122557.GB4498@alaris.suse.cz>
Download mbox | patch
Permalink /patch/12760/
State Accepted
Delegated to: David Miller
Headers show

Comments

Jan Sembera - Dec. 8, 2008, 12:25 p.m.
This patch fixes minor annoyance during transmission of unsolicited
neighbor advertisements from userspace to multicast addresses (as
far as I can see in RFC, this is allowed and the similar functionality
for IPv4 has been in arping for a long time).

Outgoing multicast packets get reinserted into local processing as if they
are received from the network. The machine thus sees its own NA and fills
the logs with error messages. This patch removes the message if NA has been
generated locally.

Signed-off-by: Jan Sembera <jsembera@suse.cz>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Dec. 9, 2008, 11:48 p.m.
From: Jan Sembera <jsembera@suse.cz>
Date: Mon, 8 Dec 2008 13:25:57 +0100

> This patch fixes minor annoyance during transmission of unsolicited
> neighbor advertisements from userspace to multicast addresses (as
> far as I can see in RFC, this is allowed and the similar functionality
> for IPv4 has been in arping for a long time).
> 
> Outgoing multicast packets get reinserted into local processing as if they
> are received from the network. The machine thus sees its own NA and fills
> the logs with error messages. This patch removes the message if NA has been
> generated locally.
> 
> Signed-off-by: Jan Sembera <jsembera@suse.cz>

Patch applied, thanks Jan.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 1724383..d0f54d1 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -912,8 +912,13 @@  static void ndisc_recv_na(struct sk_buff *skb)
 		   is invalid, but ndisc specs say nothing
 		   about it. It could be misconfiguration, or
 		   an smart proxy agent tries to help us :-)
+
+		   We should not print the error if NA has been
+		   received from loopback - it is just our own
+		   unsolicited advertisement.
 		 */
-		ND_PRINTK1(KERN_WARNING
+		if (skb->pkt_type != PACKET_LOOPBACK)
+			ND_PRINTK1(KERN_WARNING
 			   "ICMPv6 NA: someone advertises our address on %s!\n",
 			   ifp->idev->dev->name);
 		in6_ifa_put(ifp);