[scamper-announce] scamper-cvs-20240716
Matthew Luckie
mjl at luckie.org.nz
Tue Jul 16 13:39:45 PDT 2024
https://www.caida.org/catalog/software/scamper/code/scamper-cvs-20240716.tar.gz
SHA256 (scamper-cvs-20240716.tar.gz) = 16dcb59cffeef7b5a6f71b7accaf420add464d190d86b36414507f9ecf4f9b20
SIZE (scamper-cvs-20240716.tar.gz) = 2900984
scamper
* add -O dl-any option to scamper, which causes scamper to open a
cooked datalink interface bound to "any" on Linux. Note that
scamper's implementation of -O dl-any currently prevents
transmission of packets on the datalink socket, but this will
change in the future.
* add -O dyn-filter option to scamper, which causes scamper to
dynamically adjust the BPF filter that it configures on a datalink
socket according to TCP/UDP ports that scamper is using. this
option is only available on Linux, and BSD systems with BIOCSETFNR
(FreeBSD and MacOS). note that both -O dyn-filter and -O dl-any
cannot currently be used at the same time, but this will change in
the future.
* only raise SO_SNDBUF and SO_RCVBUF; some systems (e.g. Linux)
already have larger socket buffers than scamper's defaults.
* add -O sockrx to ping, to force ping to receive ICMP responses over
a regular socket, even when using -O dl (which still records datalink
transmit timestamps).
* speed up receiving on datalink sockets by avoiding unnecessary
memsets and removing unused fields, and adjust BSD, Linux, DLPI code
to follow similar code patterns.
* consider both directions for TCP packets on datalink sockets,
allowing datalink transmit timestamps to be recorded for non TCP-syn
packets.
* avoid processing duplicate copies of the same packet on Linux
loopback interface with datalink sockets.
* remove "observe" functionality from scamper control socket, as
signalled over a year ago. "outfile" and "source" will be removed
from the control socket in the future.
* cleanup scamper_dlhdr.[ch], use scamper_dlhdr_t to scamper_probe_t
instead of its constituent parts.
* update tbit usage statement in scamper, and manual page, with
currently supported options
python module:
* use join to assemble command strings for all ScamperCtrl.do_*()
for orders of magnitude faster command generation
* implement __richcmp__ for all classes where __eq__, __lt__, etc,
were previously defined individually
* if string passed to ScamperAddr is invalid, raise an exception
* implement ScamperCtrl.do_tbit method, ScamperTbit classes
sc_minrtt:
* add sc_minrtt utility, which takes the output of sc_pinger to
produce a minimized RTT input file for sc_hoiho. to build, pass
--enable-sc_minrtt as well as --with-pcre or --with-pcre2 to
configure, and have sqlite3 development headers and libraries in
build environment.
tests:
* more ping and tbit command unit tests
* split out ARP reply parsing code into dl_parse_arp, add fuzzing cradle.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://mailman.caida.org/pipermail/scamper-announce/attachments/20240717/ca24d300/attachment.sig>
More information about the scamper-announce
mailing list