Skip site navigation (1)Skip section navigation (2)
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>