From owner-FreeBSD-net-jp@jp.freebsd.org  Fri Sep 12 15:40:16 1997
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) id PAA03845
	Fri, 12 Sep 1997 15:40:16 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) with ESMTP id PAA03834
	for <FreeBSD-net-jp@jp.freebsd.org>; Fri, 12 Sep 1997 15:40:13 +0900 (JST)
Received: from hotaka.csl.sony.co.jp (hotaka.csl.sony.co.jp [43.27.98.57]) by inetfw.sonycsl.co.jp (8.8.5/3.5W) with ESMTP id PAA04301 for <FreeBSD-net-jp@jp.freebsd.org>; Fri, 12 Sep 1997 15:40:12 +0900 (JST)
Received: from csl.sony.co.jp (localhost [127.0.0.1]) by hotaka.csl.sony.co.jp (8.8.4/3.3W3) with ESMTP id PAA15892 for <FreeBSD-net-jp@jp.freebsd.org>; Fri, 12 Sep 1997 15:39:56 +0859 (JST)
Message-Id: <199709120640.PAA15892@hotaka.csl.sony.co.jp>
To: FreeBSD-net-jp@jp.freebsd.org
X-Mailer: Mew version 1.70 on Emacs 19.28.1 / Mule 2.3
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Fri_Sep_12_15:39:23_1997)--"
Content-Transfer-Encoding: 7bit
Date: Fri, 12 Sep 1997 15:39:56 +0900
From: Kimio Ishii <ishii@csl.sony.co.jp>
Reply-To: FreeBSD-net-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=20]
X-Sequence: FreeBSD-net-jp 153
Subject: [FreeBSD-net-jp 153] connect CISCO with FreeBSD box
Errors-To: owner-FreeBSD-net-jp@jp.freebsd.org
Sender: owner-FreeBSD-net-jp@jp.freebsd.org

----Next_Part(Fri_Sep_12_15:39:23_1997)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B$$$7$$(B@$B%=%K!<$H$b$&$7$^$9!#(B

CISCO$B$N%k!<%?$H(BFreeBSD box$B$r$D$J$0(Btips$B$r(B
$B$^$H$a$F$_$^$7$?!#(B
$B@lMQ@~$r(BFreeBSD$B$G<u$1$?$$?M(B($B$C$F$$$k$N$+$J(B?)$B$N(B
$B;29M$K$J$l$P9,$$$G$9!#(B

----Next_Part(Fri_Sep_12_15:39:23_1997)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

CISCO$B<R$N%k!<%?$H(BFreeBSD-2.2.2R$B$rF14|%7%j%"%k(B
$B%$%s%?!<%U%'%$%9$G$D$J$0$?$a$N%a%b(B
(by ishii@csl.sony.co.jp last update 1997/09/12)

#$B$3$NJ8=q$OA4$/$NL5J]>Z$G$9!#(B
#$B$3$NJ8=q$r?.$8$FDK$$L\$K$"$C$F$bEvJ}$O2?$N@UG$$bIi$$$^$;$s!#(B
#$B$"$/$^$G;29MDxEY$K$7$H$$$F$/$@$5$$!#(B

0) $BBP>]%O!<%I%&%'%"(B/$B%M%C%H%o!<%/9=@.(B

   CISCO4500 + IOS10.2(6)
   PC(FreeBSD-2.2.2) + SDL Riscom N2pci($BF14|%7%j%"%k%+!<%I(B)

  ====+=========+==== ethernet(10.27.98.0/24)
      |99       |253
     PC2      CISCO
  (FreeBSD)     |  (10.10.10.1)
         $B%(%j%_%M!<%?(B or $B@lMQ@~(B(V.35)
                |   10.10.10.2
               PC1
            (FreeBSD)

1) CISCO HDLC$B$G(BFreeBSD$B$H$D$J$0(B

1.1) CISCO$B$N%7%j%"%k$K(BIP$B%"%I%l%9(B(10.10.10.1)$B$r$D$1$k>l9g(B

  # ifconfig sr0 10.10.10.2 10.10.10.1 netmask 0xffffff00 link2
  $B$GDL?.2DG=!#(B
  (link2$B$H$$$&(Bflag$B$O(BCISCO HDLC framing$B$r$"$i$o$9!#(Blink2 flag$B$,(B
   $BN)$C$F$J$$$H(BPPP$B$G@\B3(B)

1.2) CISCO$B$N%7%j%"%k$K(BIP$B%"%I%l%9$r$D$1$J$$>l9g(B

  # ifconfig sr0 10.10.10.2 10.27.98.253 netmask 0xffffff00 link2
  $B$GDL?.2DG=!#(B
  (link2$B$H$$$&(Bflag$B$O(BCISCO HDLC framing$B$r$"$i$o$9!#(Blink2 flag$B$,(B
   $BN)$C$F$J$$$H(BPPP$B$G@\B3(B)

$BCm(B) $B8=:_(BCISCO$BF1;N$G$D$J$,$C$F$$$k$H$3$m$OIaDL(Bunnumbered link$B$rMQ$$$F(B
    $B$$$k$N$G!"$3$A$iB&$r(BFreeBSD$B$GCV$-49$($k$K$O$3$NJ}<0$G$D$J$.$^$9!#(B
    $B$3$l$@$H@\B3Aj<j$N(BCISCO$B$K@_Dj$NJQ99$OI,MW$"$j$^$;$s!#(B
    $B$?$@$7(BFreeBSD$B$G$O(Bunnumbered link$B$,IT2DG=$J$N$G@\B3Aj<j$N(BCISCO$B$N(B
    $B%$!<%5%M%C%H$J$I$N(BIP$B%"%I%l%9$rCN$kI,MW$,$"$j$^$9!#(B

1.3) $BCm0U;v9`(B

  $B!&%+!<%M%k$N:F%3%s%Q%$%k;~$K$O(Bdevice sr0(PCI$B$N>l9g$O$3$l$@$1(B)$B$N(B
    $BB>$K(B pseudo-device sppp $B$H$$$&9T$,I,MW!#(B

  $B!&(B/etc/rc.conf$B$K(Bsr0$B$N@_Dj$r=q$$$F$*$/$@$1$G$O(Bboot$B;~$K(B
    link$B$,(Bup$B$7$J$$>l9g$,$"$j$^$9!#(B
    /etc/rc.local$B$N:G8e$NJ}$K(Bifconfig sr0 up $B$H=q$$$F$*$/$HNI$$(B
    $B$G$7$g$&!#(B

  $B!&(B/sys/net/if_spppcubr.c$B$K$O(Bbug$B$,$"$C$F!"(BCISCO$BB&$N%7%j%"%k$K(BIP
    $B%"%I%l%9$r$D$1$?>l9g$b$D$1$J$$>l9g$b!"(BPC1$B$+$i(BPC2$B$X(Btraceroute
    $B$9$k$H0J2<$N$h$&$K$J$C$F$7$^$$$^$9!#(B

# traceroute -n 10.27.98.99
traceroute to 10.27.98.99 (10.27.98.99), 30 hops max, 40 byte packets
 1  * * *
 2  10.27.98.99  1.357 ms  1.238 ms  1.248 ms
#

  $B!&(B/sys/net/if_spppsubr.c$B$K(Bbug$B$,$"$C$F!"$=$N$^$^$G$O(Bkeep-alive
    $B%Q%1%C%H$,DL$i$:$K(Blink$B$,<+F0E*$K(Bdown$B$7$F$7$^$$$^$9!#(B

  $B!&$J$*$3$N(B2$B$D$N(Bbug$B$O(B1997/09/12$B8=:_!"(B2.2$B$H(B3.0$B$NN>J}$N%V%i%s%A$G(B
    $B=$@5$5$l$F$$$^$9!#(B

  $B!&>e=R$7$?(B2$B$D$N(Bbug$B$KBP$9$k(Bpatch$B$O0J2<$K$J$j$^$9!#(B
                      $B"-"-"-(B

--- if_spppsubr.c-dist	Thu Jul 31 20:24:26 1997
+++ if_spppsubr.c	Tue Aug  5 21:18:17 1997
@@ -404,7 +404,7 @@
 	}
 	h = mtod (m, struct ppp_header*);
 	if (sp->pp_flags & PP_CISCO) {
-		h->address = CISCO_MULTICAST;        /* broadcast address */
+		h->address = CISCO_UNICAST;        /* broadcast address */
 		h->control = 0;
 	} else {
 		h->address = PPP_ALLSTATIONS;        /* broadcast address */
@@ -848,7 +848,7 @@
 	struct ifaddr *ifa;
 	struct ifnet *ifp = &sp->pp_if;
 
-	if (m->m_pkthdr.len != CISCO_PACKET_LEN) {
+	if (m->m_pkthdr.len < CISCO_PACKET_LEN) {
 		if (ifp->if_flags & IFF_DEBUG)
 			printf ("%s%d: invalid cisco packet length: %d bytes\n",
 				ifp->if_name, ifp->if_unit, m->m_pkthdr.len);



2) PPP$B$G(BFreeBSD$B$H$D$J$0(B

CISCO$BB&$N@_Dj$,LLE]$@$C$?$N$G;n$7$F$$$^$;$s!#(B(_ _)

----Next_Part(Fri_Sep_12_15:39:23_1997)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

-- 
Kimio Ishii (kishii@arch.sony.co.jp or ishii@csl.sony.co.jp)
Software Laboratry, Architecture Laboratries, Sony Corporation

----Next_Part(Fri_Sep_12_15:39:23_1997)----
