Date: Mon, 18 Nov 1996 14:07:47 -0800 (PST) From: Bill Paul <wpaul> To: CVS-committers, cvs-all, cvs-usrsbin Subject: cvs commit: src/usr.sbin/rarpd Makefile rarpd.c arptab.c etherent.c Message-ID: <199611182207.OAA15958@freefall.freebsd.org>
index | next in thread | raw e-mail
wpaul 96/11/18 14:07:45
Modified: usr.sbin/rarpd Makefile rarpd.c
Removed: usr.sbin/rarpd arptab.c etherent.c
Log:
Fix up new rarpd.
This includes the following changes:
- Support for poking ARP entries into the local table is now built
in, so the arptab.c module I hacked together is no longer needed.
- rarp_process() and rarp_reply() now accept a len argument which is
passed down from rarp_loop() which tells rarp_reply() exactly how
long the original RARP frame was. (Usually, it's 60 bytes, which is
the minimum.) Previously, the length was calculated using the sum
of sizeof(struct ether_header) + sizeof(struct ether_arp) (plus the
ethernet frame header, I think). The result was a total packet
length of 42 bytes. Now, rarp_reply() sends out packets that are
the same size as those it recieves (60 bytes). This agrees with the
behavior of rarpd on SunOS (as observed with tcpdump). The unused
extra bytes are zeroed.
Revision Changes Path
1.4 +3 -2 src/usr.sbin/rarpd/Makefile
1.8 +532 -279 src/usr.sbin/rarpd/rarpd.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611182207.OAA15958>
