Date: Tue, 2 May 1995 08:19:48 -0400 (EDT) From: "House of Debuggin'" <wpaul@skynet.ctr.columbia.edu> To: julian@freefall.cdrom.com (Julian Elischer) Cc: hackers@FreeBSD.org Subject: Re: policy with sources imported.. Message-ID: <199505021219.IAA04080@skynet.ctr.columbia.edu> In-Reply-To: <199505020219.TAA15598@freefall.cdrom.com> from "Julian Elischer" at May 1, 95 07:19:52 pm
next in thread | previous in thread | raw e-mail | index | archive | help
They say this Julian Elischer person was kidding when he wrote: [snip] > The current case in point for me is rarpd.. > now I guess it came with 4.4, but I can't find anywhere, It didn't come with 4.4 (though it probably should have). If you dig back into the usrsbin commit logs, you'll find out where it came from. I originally found it packaged with the sources for tcpdump 2.0 (which I had to hunt for long and hard). I found one other rarpd implementation with the Xkernel source distribution, but it was extremely crufty and designed to work with some special kind of device interface that doesn't exist in FreeBSD (or SunOS for that matter -- makes me wonder why Seth put it there) so I discarded it. I think what happened is that a copy of an old BPF distribution was bundled with this version of tcpdump, and the sample rarpd code came along for the ride. You won't find it in later tcpdump distributions. The NetBSD rarpd is based upon the same code, only they made a few more cosmetic changes than I did. (I tried to keep the modifications needed to make it work to a minimum.) The only real trick was getting the byte ordering right. Well, that and I had to write the ethers(3) functions to support it. :) The byte ordering nonsense leads be to believe that the program was originally written on a big-endian machine, and the lack of support for variable length addresses in ifreq structures should give some clue to what version of BSD it was written for. (Certainly earlier than 4.4 -- I don't recall if 4.3 had this or not.) Oh, and the old code relied on SIOCSARP and friends for setting entries in the arp table; these ioctls have been deprecated in 4.4 (much to my dismay). > a version of rarpd that doesn't need bpf.. > It seems to me that rarpd should be able to run using > a raw ICMP socket, similar to ping, but > I can't find a version that does that, yet there are enough > machines out there that don't have bpf for me to believe that possibly > there might have been a version of this same software that > did it with raw sockets.. (It might even be possible with this code > if the original docs were there..) Just cause they don't have BPF doesn't mean that aren't using packet filtering. :) The rarpd in SunOS 4.1.x does it with the Network Interface Tap (/dev/nit), which is a cousin of BPF. I haven't inspected the one in Solaris, but it probably works the same way, only with the SysV equivalent (I forget what the stupid SysV packet filter is called, but there is one -- it's mentioned in the BPF man page and tcpdump documentation somewhere). IRIX probably does it much like Solaris does, and who knows how HPUX does it. The problem is that RARP requests are link-level broadcasts. If I understand it correctly (and I may not), they wouldn't normally be passed up through the IP layers, even with a raw socket. So you need something like BPF in this case. (It's even used to transmit the raw response packet after a broadcast has been received.) Since we're talking about this, it would be really nice if someone could add BPF support to the Intel EtherExpress16 (ix) driver, since rarpd won't work on that card without it. :) It doesn't register itself with the devconf stuff either. > This sort of thing hits me again and again.. > I want something that I know is in FreeBSD, but can't find any > pointers as to where to look before that... > > any ideas? > am I just net-illiterate? > julian For the things I imported, I made it a point to say where everything came from in the commit logs. Since there's a push to add README files to the source tree, listing the packages' origins here too might not be a bad idea. -Bill -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Bill Paul (212) 854-6020 | System Manager Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Møøse Illuminati: ignore it and be confused, or join it and be confusing! ~~~~~~~~~ FreeBSD 2.1: "We can kick your operating system's ass!" ~~~~~~~~~~
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505021219.IAA04080>