From mjl at luckie.org.nz Thu Feb 29 11:23:50 2024 From: mjl at luckie.org.nz (Matthew Luckie) Date: Fri, 1 Mar 2024 08:23:50 +1300 Subject: [scamper-announce] scamper-cvs-20240229 Message-ID: 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: