From owner-cvs-all Tue Mar 13 17:50:13 2001 Delivered-To: cvs-all@freebsd.org Received: from white.imgsrc.co.jp (ns.imgsrc.co.jp [210.226.20.2]) by hub.freebsd.org (Postfix) with ESMTP id 175A637B718; Tue, 13 Mar 2001 17:50:06 -0800 (PST) (envelope-from kuriyama@imgsrc.co.jp) Received: from waterblue.imgsrc.co.jp (kuriyama@waterblue.imgsrc.co.jp [210.226.20.160]) by white.imgsrc.co.jp (8.11.2/8.11.0) with ESMTP id f2E1o3T57782; Wed, 14 Mar 2001 10:50:04 +0900 (JST) Date: Wed, 14 Mar 2001 10:50:01 +0900 Message-ID: <7mwv9tnmpi.wl@waterblue.imgsrc.co.jp> From: Jun Kuriyama To: Luigi Rizzo Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net if_ethersubr.c In-Reply-To: <200103132200.f2DM0Xc88870@freefall.freebsd.org> References: <200103132200.f2DM0Xc88870@freefall.freebsd.org> User-Agent: Wanderlust/2.4.1 (Stand By Me) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: multipart/mixed; boundary="Multipart_Wed_Mar_14_10:50:01_2001-1" Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --Multipart_Wed_Mar_14_10:50:01_2001-1 Content-Type: text/plain; charset=US-ASCII At Tue, 13 Mar 2001 14:00:33 -0800 (PST), Luigi Rizzo wrote: > Fix breakage in bridging introduced in 1.70.2.13: > when doing bridging, we want to receive packets from all > interfaces in the same cluster, so the MAC address check > does not apply (it is already done in the bridging functions). Thanks! With your update and Itojun's patch (obtained from KAME repository), I can finally assign IPv6 address via rtsol. I think we should apply attached patch before 4.3. Without this, we cannot receive RA if bridging is enabled. -- Jun Kuriyama // IMG SRC, Inc. // FreeBSD Project --Multipart_Wed_Mar_14_10:50:01_2001-1 Content-Type: application/octet-stream; type=patch Content-Disposition: attachment; filename="ip6_input.c.diff" Content-Transfer-Encoding: 7bit Index: ip6_input.c =================================================================== RCS file: /home/ncvs/src/sys/netinet6/ip6_input.c,v retrieving revision 1.11.2.3 diff -u -r1.11.2.3 ip6_input.c --- ip6_input.c 2001/03/04 21:09:47 1.11.2.3 +++ ip6_input.c 2001/03/14 01:35:53 @@ -263,7 +263,33 @@ ip6stat.ip6s_total++; #ifndef PULLDOWN_TEST - /* XXX is the line really necessary? */ + /* + * L2 bridge code and some other code can return mbuf chain + * that does not conform to KAME requirement. too bad. + * XXX: fails to join if interface MTU > MCLBYTES. jumbogram? + */ + if (m && m->m_next != NULL && m->m_pkthdr.len < MCLBYTES) { + struct mbuf *n; + + MGETHDR(n, M_DONTWAIT, MT_HEADER); + if (n && m->m_pkthdr.len > MHLEN) { + MCLGET(n, M_DONTWAIT); + if ((n->m_flags & M_EXT) == 0) { + m_freem(n); + n = NULL; + } + } + if (!n) + return; /*ENOBUFS*/ + + m_copydata(m, 0, m->m_pkthdr.len, mtod(n, caddr_t)); + n->m_pkthdr = m->m_pkthdr; + n->m_len = m->m_pkthdr.len; + n->m_pkthdr.aux = m->m_pkthdr.aux; + m->m_pkthdr.aux = (struct mbuf *)NULL; + m_freem(m); + m = n; + } IP6_EXTHDR_CHECK(m, 0, sizeof(struct ip6_hdr), /*nothing*/); #endif --Multipart_Wed_Mar_14_10:50:01_2001-1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message