[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