[Bug 276395] net/scamper: update to 20240229

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 29 Feb 2024 20:38:54 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276395

mjl@luckie.org.nz changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #247904|0                           |1
        is obsolete|                            |

--- Comment #2 from mjl@luckie.org.nz ---
Created attachment 248831
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=248831&action=edit
update net/scamper to 20240229

Compared to the previous patch a month ago, I've left the py-scamper port out,
so that this update is simple, in the hope of moving this forward.

Changelog from 20240122:

https://mailman.caida.org/pipermail/scamper-announce/2024-February/000040.html

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

-- 
You are receiving this mail because:
You are the assignee for the bug.