Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netinet RFCs 1853, 2003, 2401 -- copy the DF bit.



details:   https://anonhg.NetBSD.org/src/rev/1a225830378f
branches:  trunk
changeset: 494341:1a225830378f
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Wed Jul 05 21:01:38 2000 +0000

description:
RFCs 1853, 2003, 2401 -- copy the DF bit.

diffstat:

 sys/netinet/in_gif.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (36 lines):

diff -r c827d11b9eaa -r 1a225830378f sys/netinet/in_gif.c
--- a/sys/netinet/in_gif.c      Wed Jul 05 20:18:16 2000 +0000
+++ b/sys/netinet/in_gif.c      Wed Jul 05 21:01:38 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: in_gif.c,v 1.14 2000/04/26 05:36:41 itojun Exp $       */
+/*     $NetBSD: in_gif.c,v 1.15 2000/07/05 21:01:38 thorpej Exp $      */
 /*     $KAME: in_gif.c,v 1.39 2000/04/26 05:33:31 itojun Exp $ */
 
 /*
@@ -122,6 +122,8 @@
                return EAFNOSUPPORT;
        }
 
+       bzero(&iphdr, sizeof(iphdr));
+
        switch (family) {
 #ifdef INET
        case AF_INET:
@@ -136,6 +138,9 @@
                }
                ip = mtod(m, struct ip *);
                tos = ip->ip_tos;
+
+               /* RFCs 1853, 2003, 2401 -- copy the DF bit. */
+               iphdr.ip_off |= (ntohs(ip->ip_off) & IP_DF);
                break;
            }
 #endif /*INET*/
@@ -163,7 +168,6 @@
                return EAFNOSUPPORT;
        }
 
-       bzero(&iphdr, sizeof(iphdr));
        iphdr.ip_src = sin_src->sin_addr;
        if (ifp->if_flags & IFF_LINK0) {
                /* multi-destination mode */



Home | Main Index | Thread Index | Old Index