From owner-FreeBSD-users-jp@jp.freebsd.org  Thu Mar 21 23:37:59 1996
Received: by mail.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) id XAA10880
	Thu, 21 Mar 1996 23:37:59 +0900 (JST)
Received: by mail.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) with ESMTP id XAA10875
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 21 Mar 1996 23:37:55 +0900 (JST)
Received: from bishop.isl.intec.co.jp by ftp.intec.co.jp (8.7.5+2.6Wbeta6/3.4W4-generic) id XAA28290; Thu, 21 Mar 1996 23:37:48 +0900 (JST)
Received: (from uucp@localhost) by bishop.isl.intec.co.jp (8.7.5+2.6Wbeta6/3.4W4-bishop) with UUCP id XAA24786 for FreeBSD-users-jp@jp.freebsd.org; Thu, 21 Mar 1996 23:37:47 +0900 (JST)
Received: (from ikuo@localhost) by pawn.isl.intec.co.jp (8.7.4+2.6Wbeta6/3.4W4-uucp) id XAA18106; Thu, 21 Mar 1996 23:37:16 +0900 (JST)
Date: Thu, 21 Mar 1996 23:37:16 +0900 (JST)
From: Ikuo Nakagawa <ikuo@isl.intec.co.jp>
Message-Id: <199603211437.XAA18106@pawn.isl.intec.co.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <199603211244.VAA02474@lavender.yy.cs.keio.ac.jp>
References: <199603211244.VAA02474@lavender.yy.cs.keio.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 807
Subject: [FreeBSD-users-jp 807] Re: dhcp server in ports collection
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$B$$$/$*$G$9!#(B

>>>>> In article <199603211244.VAA02474@lavender.yy.cs.keio.ac.jp>,
	MIHIRA Yoshiro <sanpei@yy.cs.keio.ac.jp> writes:

> $B7DBg$N;0J?$H?=$7$^$9(B. 
>   ports $B$KF~$C$F$$$k(B WIDE-DHCP $B$K$D$$$F(B ports@freebsd $B$N?MC#$HO"Mm$r(B
> $B<h$j9g$C$F$$$^$9(B.

$B$46lO+$5$^$G$9!#(B

>   $B?@EDIR9-(B<candy@fct.kgc.co.jp>$B$5$s$K$h$k$H(B, $B<!$N$h$&$G$9$,(B. $B6qBNE*(B
> $B$K$O(B, $B$I$3$,$^$:$$$N$G$7$g$&$+(B?? $BM-<1<T$NJ}8f;XF3$$$?$@$1$k$H4r$7$$(B
> $B$G$9(B. NetBSD $B$d(B BSD/OS $B$NF1$8%=!<%9$r$_$^$7$?$,(B, $B4pK\E*$KF1$8%3!<%I(B
> $B$G$7$?(B.

$BM-<1<T$G$O$"$j$^$;$s(B :-)
$B;0J?$5$s$O$*$o$+$j$@$H;W$$$^$9$,!"$9$3$7>iD95$L#$K=q$-$^$9!#(B

>> $B$(!<$H(B bpf(4) $B$NOC$G$7$g$&$+(B?  $B$@$H$9$k$H!"$3$l$O(B FreeBSD 2.0 $B$K$J$C(B
>> $B$?$H$-$K$*$+$7$/$J$C$F$7$^$$$^$7$?!#(BNetBSD $B$G$O$3$N$h$&$J;v$O$"$j$^$;(B
>> $B$s!#(B
>> 
>> $B6qBNE*$K$O(B /usr/src/sys/net/if_ethersubr.c $B$N(B
>> 
>> case AF_UNSPEC:
>> eh = (struct ether_header *)dst->sa_data;
>> (void)memcpy(edst, eh->ether_dhost, sizeof (edst));
>> type = eh->ether_type;
>> ^^^^^^^^^^^^^^^^^^^^^^
>> break;
>> 
>> $B$,$*$+$7$$$H;W$$$^$9!#;d$O(B 1.1.5.1 -> 2.0 $B$K$7$?;~5$$,$D$$$F!"(Bhackers 
>> $B$G<ALd$7$?$N$G$9$,!"JV;v$O$b$i$($^$;$s$G$7$?$M$(!#(B

$B$3$N$"$H$G<!$N$h$&$JItJ,$,$"$j$^$9!#(B

    type = htons((u_short)type);
    (void)memcpy(&eh->ether_type, &type,
            sizeof(eh->ether_type));

$B$G$9$+$i!"(BAF_UNSPEC $B$N>l9g$K$O!"(Bether_output() $B$G(B byte order
$B$,F~$lBX$o$k$3$H$K$J$j$^$9(B(LITTLE_ENDIAN $B$N>l9g(B)$B!#7k6I(B kernel
$B$H%W%m%0%i%`$N$I$A$i$G(B byte order $B$rD4@0$9$k$+!"$H$$$&LdBj$G!"(B
$B@_7W;WA[E*$JOC$G$O$"$j$^$9!#(B

$B$7$?$,$C$F(B FreeBSD $B$G(B dhcps $B$N$h$&$J(B bpf $B$KD>@\=q$-=P$9$h$&$J(B
$B%W%m%0%i%`$r=q$/$H$-$K$O(B

  ether_type = htons(ETHERTYPE_IP);

$B$G$O$J$/!"(B

  ether_type = ETHERTYPE_IP;

$B$H$7$J$1$l$P$$$1$J$$$H$$$&$3$H$K$J$j$^$9!#(B

$B$9$3$7D4$Y$F8+$^$7$?$,!"F1MM$N$3$H$r(B rarpd $B$G$b$d$C$F$^$7$F!"(B
$B$=$3$K$O(B

    /*
     * XXX   Using htons(ETHERTYPE_REVARP) doesn't work: you wind
     * up transmitting 0x3580 instead of the correct value of
     * 0x8035. What makes no sense is that the NetBSD people
     * do in fact use htons(ETHERTYPE_REVARP) in their rarpd.
     * (Thank god for tcpdump or I would never have figured this
     * out.)
     */
    ep->ether_type = ETHERTYPE_REVARP; 

$B$H=q$$$F$"$j$^$7$?!#(BNetBSD $B$G$O(B

    ep->ether_type = htons(ETHERTYPE_REVARP);

$B$H=q$/$N$@$1$I!"$*$l$?$A$O0c$&$>!"$H$$$&$3$H$i$7$$$G$9$M!#7k6I!"(B
kernel $B$H%W%m%0%i%`B&$G@09g@-$5$($H$l$F$l$P$$$$$N$G$9$,!"$3$s$J(B
$B$H$3$m$G(B NetBSD $B$H(B FreeBSD $B$N0c$$$,$"$k$J$s$F(B...

$B!t(B $B@hF|$NOC$G$O(B 4.4BSD-Lite2 $B$,(B FreeBSD $BF1MM$N%3!<%I$r;}$C$F$k(B
$B!t(B (FreeBSD $B$,(B 4.4BSD-Lite2 $B$HF1$8$J$N$+(B...)$B$=$&$G$9$+$i!"0[C<(B
$B!t(B $B$J$N$O(B NetBSD $B$+(B?
-- 
Ikuo Nakagawa <ikuo@intec.co.jp>
