Patch from dcjm@cs.ed.ac.uk (Dave Matthews)...
authorDavid Greenman <davidg@Root.COM>
Mon, 31 Jan 1994 07:34:36 +0000 (07:34 +0000)
committerDavid Greenman <davidg@Root.COM>
Mon, 31 Jan 1994 07:34:36 +0000 (07:34 +0000)
commitb27f876d7519cb1b0feb38fa3da09d57da4ac5eb
treedce7958be76f825ded896dc507947fc4e04a68cb
parente88d1ba4db9d3cff1417db3c0279e480553affca
Patch from dcjm@cs.ed.ac.uk (Dave Matthews)...
Yes, I know that IFADDR ioctl is supposed to be deprecated... Note
that the patch was modified by me to fit better into the driver. -DG

...

While porting CAP to 386bsd/pk0.2.4 and now to FreeBSD Release 1.0
I found a couple of bugs associated with the packet filter. Here
are the fixes.  I'm posting them here because they apply to
FreeBSD and 386bsd/pk0.2.4 and possibly to other *BSD.

The first occurs when using the packet filter to write raw
ethernet packets.  The header consisting of the sender and
destination addresses and the protocol is removed and later
added back on, but with the byte order of the protocol reversed.
The fix ensures that the byte order in the protocol field is
swapped when it is removed.

The second fix ensures that SIOCGIFADDR works for BPF as claimed
in the man pages, by adding it to the ed driver.  Similar fixes
will be needed for other ethernet drivers.
Dave Matthews.
sys/i386/isa/if_ed.c
sys/net/bpf.c