summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-04Apparently even nonblocking reads are blocking in a way(?!) and we will get ↵Peter Bex
multiple packets off the iface. The actual packet data is preceded by a "struct bpf_hdr" header we need to skip. Because of that, passing a raw buffer is not going to be very useful, so bpf-read-packet! can be removed from the API.
2016-03-04Change test descriptions to match realityPeter Bex
2016-03-04Switch to nonblocking I/O and get rid of bpf-read-timeout since it is ↵Peter Bex
useless for nonblocking I/O...
2016-03-04Make ioctl interface a little less verbose by generating some stuff that's ↵Peter Bex
always the same in a macro. This should also inline it
2016-03-04Implement filter settingPeter Bex
2016-03-04Add stats procedurePeter Bex
2016-03-04Implement timeout IOCTLPeter Bex
2016-03-04Expose flush ioctl and add listing/getter/setter of datalink types.Peter Bex
For now, we just work with the underlying integer values. Maybe later we'll translate these to symbols?
2016-03-04Fix commentsPeter Bex
2016-03-04Add another real-world example code. Rename ldx to ldxb for the MSH hack, ↵Peter Bex
to more closely match tcpdump-generated output
2016-03-04Fix a few problems with the jump instructions (forgot to add #x05 to all of ↵Peter Bex
the conditional ones, too), make uint? and label? also recognise zero as valid and fix error expression of disassembler. Implement back-and-forth transcoding of tcpdump's "decimal encoding" output of compiled packet matching instructions (using -ddd). Fixed a few bugs I ran into with bitstring, so depend on the version to be released next (this code triggers error situations in the current version)
2016-03-04Don't try to print details of closed BPF objectsPeter Bex
2016-03-04Implement buffer-length option, and export the interface setting/getting ↵Peter Bex
procedures as well as the procedure to retrieve the buffer length. Switch to c-pointer and use LOCATION to get pointers from scheme objects.
2016-03-04Add setup file, copyright and BPF device interfacePeter Bex
Add an initial opaque record type holding a connection to the BPF device. At least this now allows us to open a BPF device onto a network interface and request which network device we're connected to.
2013-05-05Add a TODO for using the definitions from bpf.h, since we're going to have ↵Peter Bex
to use this anyway in order to be able to use its IOCTLs
2013-05-04Initial version of BPF assembler/disassembler with a handful of basic ↵Peter Bex
internal consistency tests