From owner-freebsd-bugs Thu Dec 7 11:50: 7 2000 From owner-freebsd-bugs@FreeBSD.ORG Thu Dec 7 11:50:01 2000 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id A540437B402 for ; Thu, 7 Dec 2000 11:50:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id eB7Jo1879793; Thu, 7 Dec 2000 11:50:01 -0800 (PST) (envelope-from gnats) Resent-Date: Thu, 7 Dec 2000 11:50:01 -0800 (PST) Resent-Message-Id: <200012071950.eB7Jo1879793@freefall.freebsd.org> Resent-From: gnats-admin@FreeBSD.org (GNATS Management) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: gnats-admin@FreeBSD.org, fujiwara@rcac.tdi.co.jp Received: from f.rcac.tdi.co.jp (spacecraft2.f.rcac.tdi.co.jp [211.15.38.174]) by hub.freebsd.org (Postfix) with SMTP id 5C5A537B400 for ; Thu, 7 Dec 2000 11:46:35 -0800 (PST) Received: (qmail 1725 invoked by uid 100); 7 Dec 2000 19:46:27 -0000 Message-Id: <20001207194627.1724.qmail@f.rcac.tdi.co.jp> Date: 7 Dec 2000 19:46:27 -0000 From: fujiwara@rcac.tdi.co.jp Sender: fujiwara@f.rcac.tdi.co.jp Reply-To: fujiwara@rcac.tdi.co.jp To: FreeBSD-gnats-submit@freebsd.org Cc: ohm@rcac.tdi.co.jp, fujiwara@rcac.tdi.co.jp X-Send-Pr-Version: 3.113 Subject: misc/23362: tcpdump cannot work on CISCO_HDLC encoded link Resent-Sender: gnats@FreeBSD.org Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 23362 >Category: misc >Synopsis: tcpdump wrong on sppp CISCO_HDLC encoded link >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Dec 07 11:50:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: Kazunori_Fujiwara >Release: FreeBSD 5.0-CURRENT i386, 4.*, 3.* >Organization: TDI Co, LTD. >Environment: System: FreeBSD spacecraft.f.rcac.tdi.co.jp 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Mon Dec 4 04:46:08 JST 2000 fujiwara@spacecraft.f.rcac.tdi.co.jp:/usr/src/sys/compile/SPACECRAFT i386 FreeBSD 3/4/5, with/without kame >Description: FreeBSD's bpf doesnot distingish PPP and CISCO_HDLC. tcpdump on CISCO_HDLC link with some expressions, tcpdump don't catch any bpf data. >How-To-Repeat: use RISCom sr driver with CISCO_HDLC mode. >Fix: Support DLT_CHDLC with BPF and sr driver, or catch CISCO_HDLC packet when DLT_PPP. Index: /usr/src/contrib/libpcap/gencode.c =================================================================== RCS file: /FreeBSD-CVS/src/contrib/libpcap/gencode.c,v retrieving revision 1.8 diff -u -r1.8 gencode.c --- /usr/src/contrib/libpcap/gencode.c 2000/03/04 23:57:39 1.8 +++ /usr/src/contrib/libpcap/gencode.c 2000/12/07 19:25:00 @@ -661,11 +661,19 @@ return gen_false(); case DLT_PPP: - if (proto == ETHERTYPE_IP) - proto = PPP_IP; /* XXX was 0x21 */ + if (proto == ETHERTYPE_IP) { + b0 = gen_cmp(off_linktype, BPF_H, PPP_IP); + b1 = gen_cmp(off_linktype, BPF_H, proto); + gen_or(b0, b1); + return b1; + } #ifdef INET6 - else if (proto == ETHERTYPE_IPV6) - proto = PPP_IPV6; + if (proto == ETHERTYPE_IPV6) { + b0 = gen_cmp(off_linktype, BPF_H, PPP_IPV6); + b1 = gen_cmp(off_linktype, BPF_H, proto); + gen_or(b0, b1); + return b1; + } #endif break; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message