[scamper-announce] scamper-cvs-20240229
Matthew Luckie
mjl at luckie.org.nz
Thu Feb 29 11:23:50 PST 2024
https://www.caida.org/catalog/software/scamper/code/scamper-cvs-20240229.tar.gz
SHA256 (scamper-cvs-20240229.tar.gz) = f010533ccc257fe6459581a07fb55e4ecf160142a0f8e4077f661adccd3b43be
SIZE (scamper-cvs-20240229.tar.gz) = 2819683
scamper:
* bugfix: correct SCAMPER_DL_IS_ICMP_TIME_REPLY macro so that scamper
does not ignore ICMP replies quoting TCP/UDP packets for 1/256
source port values.
* bugfixes for -O icmp-rxerr: handle EPOLLERR on linux, try using
IPV6_RECVHOPLIMIT before IPV6_HOPLIMIT for IPv6 udp probing.
* bugfix: fix possible assertions in dealias, trace, and tracelb code.
* ping: count UDP replies as from the target
* trace: correct datalink timestamp adjustments
* add more specific error messages when a scamper command is not
accepted, return them over control socket or terminal, as appropriate.
* scamper_fd_t: refactor fd_addr, fd_sport, fd_dl, fd_ifindex
* scamper_fd_t: decouple udp4raw/udp4dg from each other. use udp4dg
and udp6 sockets in udpprobe primitive, rather than have each
udpprobe task create its own socket.
* scamper_fd_t: add methods that return an available open socket for
probing a given destination without blocking if another task is
probing the same destination. use this with ping -F 0 and trace -s 0,
instead of generating random port values, so that scamper opens
the minimum number of file descriptors.
* ping and trace: have -O dl mean to capture transmit and receive
timestamps from a datalink interface. add -O raw option so that
IPv4 TCP probes can be transmitted over a raw socket, to allow transmitted
TCP packets to be observed on the datalink interface.
* add memory-mapped ring buffer support (PACKET_RX_RING) for receiving
packets on datalink sockets on Linux. enable at scamper runtime
with -O ring. contributed by Alistair King.
python module:
* generate module .c with Cython 0.29.37, to enable module to compile
with Python 3.11.
* link against libpython
* have all time parameters take either a timedelta or float/int. float/int
parameters are all seconds.
* add ScamperInstError exception which identifies the scamper instance
and includes the error string returned by the instance.
* reduce copying in methods that return bytes objects
* add str method for ScamperInst
libscamperctrl:
* pass error strings through, bump library version
libscamperfile:
* add new functions, bump library version
tests:
* add unit tests for scamper_fd
* add more timeval unit tests
* add more cmd_dealias and cmd_ping tests
-------------- 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/20240301/1578c5ff/attachment.sig>
More information about the scamper-announce
mailing list