From owner-freebsd-current Tue Apr 23 18:47:59 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id SAA29724 for current-outgoing; Tue, 23 Apr 1996 18:47:59 -0700 (PDT) Received: from precipice.shockwave.com (precipice.shockwave.com [171.69.108.33]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id SAA29717 for ; Tue, 23 Apr 1996 18:47:55 -0700 (PDT) Received: from localhost.shockwave.com (localhost.shockwave.com [127.0.0.1]) by precipice.shockwave.com (8.7.5/8.7.3) with SMTP id SAA28795; Tue, 23 Apr 1996 18:47:05 -0700 (PDT) Message-Id: <199604240147.SAA28795@precipice.shockwave.com> To: Poul-Henning Kamp cc: current@FreeBSD.org, Jim Fleming Subject: Re: SLIP: Check IP Version (please test) In-reply-to: Your message of "Tue, 23 Apr 1996 20:05:54 -0000." <9458.830289954@critter.tfs.com> Date: Tue, 23 Apr 1996 18:47:05 -0700 From: Paul Traina Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk This patch seems to be irrelevant in any case. Only IPv4 packets should be passed to the SLIP driver. SLIP is not a multiprotocol point-to-point protocol, PPP is. IPvX x!=4 is a different protocol. SLIP is not supported in IPv6. Please don't slow down the code path by adding this change. Paul From: Poul-Henning Kamp Subject: SLIP: Check IP Version (please test) Somebody running slip with header compression please test this patch. Poul-Henning > I am starting to develop a substantialliy modified version of the IP protoc >>ol . > As specified in the IP protocol the ip_v (IP Version) field of the IP heade >>r > should be set to 4. (see /usr/src/sys/netinet/ip.h) > > It is not desirable for new versions of IP to "break" existing code. I have >> n ot > provide this but in studying the SLIP code I see that there is never really > a check done to see of the IP header is of version 4. Index: if_sl.c =================================================================== RCS file: /home/ncvs/src/sys/net/if_sl.c,v retrieving revision 1.37 diff -u -r1.37 if_sl.c --- if_sl.c 1996/04/07 17:39:09 1.37 +++ if_sl.c 1996/04/23 20:03:53 @@ -561,7 +561,8 @@ } while (m1 = m1->m_next); } #endif - if ((ip = mtod(m, struct ip *))->ip_p == IPPROTO_TCP) { + if ((ip = mtod(m, struct ip *))->ip_v == IPVERSION) && + (ip = mtod(m, struct ip *))->ip_p == IPPROTO_TCP) { if (sc->sc_if.if_flags & SC_COMPRESS) *mtod(m, u_char *) |= sl_compress_tcp(m, ip, &sc->sc_comp, 1); -- Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team. http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox. whois: [PHK] | phk@ref.tfs.com TRW Financial Systems, In >>c. Future will arrive by its own means, progress not so.