All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] Reverse sense of promisc tests in ip6_mc_input
@ 2007-05-12 22:51 Corey Mutter
  2007-05-13  0:21 ` David Stevens
  0 siblings, 1 reply; 3+ messages in thread
From: Corey Mutter @ 2007-05-12 22:51 UTC (permalink / raw)
  To: yoshfuji; +Cc: netdev

From: Corey Mutter <crm-netdev@mutternet.com>

Reverse the sense of the promiscuous-mode tests in ip6_mc_input(). 

Signed-off-by: Corey Mutter <crm-netdev@mutternet.com>

---

I had been suspicious of this code for a while, but just assumed I must 
have been missing something. However, I did some tests and, sure enough, 
I can open a socket and it will see IPv6 multicast packets come in, then 
the packets will stop coming in when I turn on IFF_ALLMULTI on the 
interface. 

In my tests, this change works more like I'd expect; I can open a 
socket, and it doesn't see any multicast packets (unless I join a group 
or something) until after I turn on IFF_ALLMULTI. 

--- linux-2.6.21.1/net/ipv6/ip6_input.c	2007-04-27 17:49:26.000000000 -0400
+++ linux/net/ipv6/ip6_input.c	2007-05-12 18:19:09.597750000 -0400
@@ -235,7 +235,7 @@ int ip6_mc_input(struct sk_buff *skb)
 	IP6_INC_STATS_BH(ip6_dst_idev(skb->dst), IPSTATS_MIB_INMCASTPKTS);
 
 	hdr = skb->nh.ipv6h;
-	deliver = likely(!(skb->dev->flags & (IFF_PROMISC|IFF_ALLMULTI))) ||
+	deliver = unlikely(skb->dev->flags & (IFF_PROMISC|IFF_ALLMULTI)) ||
 	    ipv6_chk_mcast_addr(skb->dev, &hdr->daddr, NULL);
 
 	/*

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-05-14 10:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-12 22:51 [PATCH 1/1] Reverse sense of promisc tests in ip6_mc_input Corey Mutter
2007-05-13  0:21 ` David Stevens
2007-05-14 10:00   ` David Miller

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.