and bpf_change_type() to take just a pointer to the ifnet, rather than
a pointer to the ifnet and a pointer to a member of the ifnet (the bpf
pointer).
We'll let this ride on the Dec 12 1.5N version bump.
fix last two fixes one more time, this time dealing with ugly
prototype issues, including the fact that the bcopy returns nothing,
but memcpy returns a void *. Never mind that we don't use it...
This was semi-nontrivial, since a function pointer to bcopy gets used
in this file.
Note #1: The catchpacket routine, which takes a function pointer to
bpf_mcpy or memcpy, should probably be converted to take a
flag that just says which is used, so memcpy can be inlined.
Note #2: The code is heavily #ifdef'ed to run on older operating
systems. We probably want to clean that cruft out, unless
someone is planning a new release of the code at LBL (doubtful.)
the "header already complete" flag. This allows BPF writers to spoof
layer 2 source addresses (providing the layer 2 in use supports it) in
applications where this is necessary. From Greg Smith <greg@nas.nasa.gov>.
- whitespace
- add rcsid; our sccsid is newer than the one on 1.2a1.
- change prototype to add mtu
- change size_t to u_int for consistency.
- add alignment stuff in bpf_movein
- add more consistency checks bpf_movein
- use one uiomove and then bcopy the data in bpf_movein
- update the comment for the panic when ifpromisc fails.
- separate the case when we have non blocking I/O and
no data and return EWOULDBLOCK
- check for other errors and return them
- pass the mtu to bpf_movein
- Add the BPF_KERN_FILTER junk, just so that we keep up with the code
- remove BIOCSRSIG, BIOCGRSIG; SIGIO does this well.
- don't add the SIOCGIFADDR stuff (it is bogus)
- Check for malloc return for consistency.
- comment should say poll
- change formatting to match the current code.
- save and restore the pcount and flags in case we fail to set the
interface into promiscuous mode.
- fix spelling typo.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.
For the detailed change history, look at the commit log entries for
the is-newarp branch.
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit. Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
* grok FIONBIO, FIOASYNC, and TIOC{G,S}PGRP
* add BIOC{G,S}RSIG; get/set the signal to be delivered
to the process or process group upon packet reception.
Defaults to SIGIO.
don't assume that tick is >= 1000; loses badly on alpha (div. by zero)
only try unaligned copies if NetBSD's UNALIGNED_ACCESS symbol is defined.
various misc type size cleanups, mostly short -> int16_t.