(usagi-users 03678) Re: IPv6 multicast routing in Linux 2.6.16.18 + USAGI

YOSHIFUJI Hideaki / 吉藤英明 <[email protected]>
Newsgroups gmane.linux.ipv6.usagi.users
Organization USAGI/WIDE Project
Message-ID <[email protected]>
Hello.

In article <[email protected]> (at Wed, 24 May 2006 00:25:48 -0500), Otto Solares <[email protected]> says:

> I am running 2.6.16.18 + latest USAGI kernel patch, I'm
> implementing IPv6 multicast routing.
:
> KERNEL: assertion (newskb->dst) failed at net/ipv6/ip6_output.c (113)

Thanks for the report.

I'm not sure the following patch is related to your report,
but anyway, please try it.

Regards,

Index: net/ipv6/mcast.c
===================================================================
RCS file: /cvsroot/usagi/usagi/kernel/linux26/net/ipv6/mcast.c,v
retrieving revision 1.48
diff -u -r1.48 mcast.c
--- net/ipv6/mcast.c	3 Apr 2006 11:58:31 -0000	1.48
+++ net/ipv6/mcast.c	30 May 2006 11:57:42 -0000
@@ -1482,8 +1482,6 @@
 
 	pmr->csum = csum_ipv6_magic(&pip6->saddr, &pip6->daddr, mldlen,
 		IPPROTO_ICMPV6, csum_partial(skb->h.raw, mldlen, 0));
-	err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev,
-		mld_dev_queue_xmit);
 
 #ifdef CONFIG_IPV6_MROUTE
 	/* 
@@ -1498,6 +1496,9 @@
 	}
 #endif
 
+	err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev,
+		mld_dev_queue_xmit);
+
 	if (!err) {
 		ICMP6_INC_STATS(idev,ICMP6_MIB_OUTMSGS);
 #ifdef CONFIG_IPV6_STATISTICS
@@ -1839,9 +1840,6 @@
 					   IPPROTO_ICMPV6,
 					   csum_partial((__u8 *) hdr, len, 0));
 
-	err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev,
-		mld_dev_queue_xmit);
-
 #ifdef CONFIG_IPV6_MROUTE
 	/* 
 	 * if we are acting as a multicast router, loopback a copy to the
@@ -1855,6 +1853,9 @@
 	}
 #endif
 
+	err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev,
+		mld_dev_queue_xmit);
+
 	if (!err) {
 		if (type == ICMPV6_MGM_REDUCTION)
 			ICMP6_INC_STATS(idev, ICMP6_MIB_OUTGROUPMEMBREDUCTIONS);

-- 
YOSHIFUJI Hideaki @ USAGI Project  <[email protected]>
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.