From owner-freebsd-isdn Sat Jan 13 11:21: 0 2001 Delivered-To: freebsd-isdn@freebsd.org Received: from mail.gmx.net (pop.gmx.net [194.221.183.20]) by hub.freebsd.org (Postfix) with SMTP id 42F1237B402 for ; Sat, 13 Jan 2001 11:20:42 -0800 (PST) Received: (qmail 7236 invoked by uid 0); 13 Jan 2001 19:20:40 -0000 Received: from p3ee214c9.dip.t-dialin.net (HELO forge.local) (62.226.20.201) by mail.gmx.net (mail02) with SMTP; 13 Jan 2001 19:20:40 -0000 Received: from thomas by forge.local with local (Exim 3.16 #1 (Debian)) id 14HWjz-0000ZO-00 for ; Sat, 13 Jan 2001 20:53:31 +0100 Date: Sat, 13 Jan 2001 20:53:31 +0100 To: freebsd-isdn@freebsd.org Subject: [PATCH] isppp with uncompressed VJ packets broken in -CURRENT Message-ID: <20010113205331.A2143@crow.dom2ip.de> Mail-Followup-To: tmoestl@gmx.net, freebsd-isdn@freebsd.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="IS0zKkzwUGydFO0o" Content-Disposition: inline User-Agent: Mutt/1.2.5i From: Thomas Moestl Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, it seems that a commit to i4b/drivers/i4b_ispppsubr.c on 2000-01-12 has broken the handling of uncompressed VJ packets. The attached diff should hopefully fix that. From what I can tell, the second call to sl_uncompress_tcp_core needs the TYPE_UNCOMPRESSED_TCP flag (as it was before the commit). Additionally, sl_uncompress_core may return 0 if the packet was uncompressed previously, so this is no error condition. The first call (not visible in the diff) is IMHO correct as it is, because the 0 return value should not happen. The second call should always return 0, so I check explicitely for it (other cases are not handled anyway). Could someone please review/comment/commit this? - thomas --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="isdn-kernel2.diff" *** sys/i4b/driver/i4b_ispppsubr.c.orig Sat Jan 13 12:30:20 2001 --- sys/i4b/driver/i4b_ispppsubr.c Sat Jan 13 20:08:11 2001 *************** *** 580,587 **** int hlen, vjlen; if ((vjlen = sl_uncompress_tcp_core(m->m_data, ! m->m_len, m->m_len, TYPE_COMPRESSED_TCP, ! &sp->pp_comp, &iphdr, &hlen)) <= 0) goto drop; schednetisr (NETISR_IP); --- 580,587 ---- int hlen, vjlen; if ((vjlen = sl_uncompress_tcp_core(m->m_data, ! m->m_len, m->m_len, TYPE_UNCOMPRESSED_TCP, ! &sp->pp_comp, &iphdr, &hlen)) != 0) goto drop; schednetisr (NETISR_IP); --IS0zKkzwUGydFO0o-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message