Date: Tue, 21 Feb 2006 01:49:14 +0100 From: Joerg Pernfuss <elessar@bsdforen.de> To: net@FreeBSD.org Cc: Andre Oppermann <andre@FreeBSD.org>, Ruslan Ermilov <ru@FreeBSD.org> Subject: Re: [FIX] dummynet breaks IP reassembly Message-ID: <20060221014914.7f8de7d1@loki> In-Reply-To: <20060210221415.GC33588@ip.net.ua> References: <20060210221415.GC33588@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_NYpEKZZ7JOGLaph/32jtkA/ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, =20 on the german questions list someone encountered 'ip reassembly time exceeded' errors on his router running 5.4-RELEASE. Looking at the ip_id of the packets, it seemed like the same error. =20 Here is a naive RELENG_5 adaption of Ruslan's patch for RELENG_6 - sadly the user already started upgrading to FreeBSD6 by the time I had this patch ready, so it is untested (and I don't exactly know if one has to fix more than that). --- ip_dummynet.c Tue Feb 21 01:01:23 2006 +++ ip_dummynet.c Tue Feb 21 01:13:00 2006 @@ -453,7 +453,7 @@ DUMMYNET_UNLOCK(); switch (pkt->dn_dir) { case DN_TO_IP_OUT: - (void)ip_output(m, NULL, NULL, pkt->flags, NULL, NULL); + (void)ip_output(m, NULL, NULL, IP_FORWARDING, NULL, NULL); break ; case DN_TO_IP_IN : @@ -1128,7 +1128,6 @@ * NULL in ip_input, destination interface in ip_output, * real_dst in bdg_forward * rule matching rule, in case of multiple passes - * flags flags from the caller, only used in ip_output * */ static int @@ -1212,8 +1211,6 @@ pkt->dn_dir =3D dir ; pkt->ifp =3D fwa->oif; - if (dir =3D=3D DN_TO_IP_OUT) - pkt->flags =3D fwa->flags; if (q->head =3D=3D NULL) q->head =3D m; else --- ip_dummynet.h Tue Feb 21 01:24:10 2006 +++ ip_dummynet.h Tue Feb 21 01:28:26 2006 @@ -129,7 +129,6 @@ dn_key output_time; /* when the pkt is due for delivery= */ struct ifnet *ifp; /* interface, for ip_output */ - int flags ; /* flags, for ip_output (IPv6 ?) = */ }; #endif /* _KERNEL */ --- ip_fw.h Tue Feb 21 01:25:14 2006 +++ ip_fw.h Tue Feb 21 01:26:16 2006 @@ -435,8 +435,6 @@ struct ip_fw *rule; /* matching rule */ struct ether_header *eh; /* for bridged packets */ - int flags; /* for dummynet */ - struct ipfw_flow_id f_id; /* grabbed from IP header */ u_int32_t retval; struct inpcb *inp; Regards, Joerg --=20 | /"\ ASCII ribbon | GnuPG Key ID | e86d b753 3deb e749 6c3a | | \ / campaign against | 0xbbcaad24 | 5706 1f7d 6cfd bbca ad24 | | X HTML in email | Now featuring a brand new GPG-Key! | | / \ and news | Please update your keyring. | --Sig_NYpEKZZ7JOGLaph/32jtkA/ Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFD+mOTH31s/bvKrSQRAjLDAJsGyYM8K60YPher2tBCy1qAXSvpGgCfRgQB UzEt7oj47q/4rQn2x4p4RkM= =Xb7c -----END PGP SIGNATURE----- --Sig_NYpEKZZ7JOGLaph/32jtkA/--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060221014914.7f8de7d1>