The new version with tag 2023_02_16.4663ccc includes the following changes: 4663ccc conf: Fix typo and logic in conf_ports() check for port binding 36f0199 conf, tap: Silence two false positive invalidFunctionArg from cppcheck 89e0fbf tcp: Remove 'zero_len' goto from tcp_data_from_sock 83b2061 tcp: Remove 'recvmsg' goto from tcp_data_from_sock 42bfd21 tap: Eliminate goto from tap_handler() b62ed9c tap: Don't pcap frames that didn't get sent d957796 passt.1: Fix typo, improve wording in examples of port forwarding specifiers 77a6d97 dhcp: Fix netmask calculation for option 1 from prefix length 7564b58 tap: Use single counter for iov elements in tap_send_frames_pasta() 3d0de2c conf, tcp, udp: Exit if we fail to bind sockets for all given ports b4f13c2 log: Don't duplicate messages on stderr before daemonising c9af6f9 convert all remaining err() followed by exit() to die() a1ab1ca log a detailed error (not usage()) when there are extra non-option arguments 60bd93e make conf_netns_opt() exit immediately after logging error ead4a98 make conf_ugid() exit immediately after logging error fe2a54e make conf_pasta_ns() exit immediately after logging error b20fe11 make conf_ports() exit immediately after logging error c864c60 eliminate most calls to usage() in conf() dac4af8 add die() to log an error message and exit with a single call 193385b log to stderr until process is daemonized, even if a log file is set dccc2ff test: Fedora 32-35 have moved to the archives 64325a0 test: Update location for Debian ppc64 images 6ccab72 tcp: Improve handling of fallback if socket pool is empty on new splice dc467d5 tcp: Split pool lookup from creating new sockets in tcp_conn_new_sock() 912d37c tcp: Move socket pool declarations around c899347 tcp: Split init and ns cases for tcp_sock_refill() e456c1c tcp: Make a helper to refill each socket pool ee8353c Makefile: Explict int type in FALLOC_FL_COLLAPSE_RANGE probe 67920b8 test/pasta_options: Ignore failures on shell 'exit' a234407 pasta: propagate exit code from child command 04dfc5b pasta: correctly exit when execvp() fails 3487b5f pasta: do not leak netlink sock into child 7a8ed94 Make assertions actually useful cc6d828 tcp: Reset ACK_FROM_TAP_DUE flag only as needed, update timer ac15359 tap: Send frames after the first one in tap_send_frames_pasta() d8921da pasta: Wait for tap to be set up before spawning command 54502cc udp: Use tap_send_frames() 2d553b5 tap: Improve handling of partial frame sends 97d1ca2 udp: Use abstracted tap header 0fb7b2b tap: Use different io vector bases depending on tap type 2416310 tcp: Use abstracted tap header 4b3d38a tap: Add "tap headers" abstraction e4443ba tcp: Consolidate calculation of total frame size dcea260 tcp: Remove redundant and incorrect initialization from *_iov_init() 716a926 util: Parameterize ethernet header initializer macro 67afaab tcp, udp: Use named field initializers in iov_init functions f5a9501 util: Introduce hton*_constant() in place of #ifdefs 6d011c1 tap, tcp: Move tap send path to tap.c e21ee41 tcp: Combine two parts of pasta tap send path together a79e774 tcp: Improve interface to tcp_l2_buf_flush() f1d2d35 tcp: Don't compute total bytes in a message until we need it 99f0be3 tcp: Combine two parts of passt tap send path together d3089eb pcap: Replace pcapm() with pcap_multiple() cb3c1ce pcap: Introduce pcap_frame() helper b93d025 udp: Don't use separate sockets to listen for spliced packets 8d503e8 udp: Decide whether to "splice" per datagram rather than per socket 8a10f23 udp: Unify udp_sock_handler_splice() with udp_sock_handler() f1ed8db udp: Pre-populate msg_names with local address c9e193b udp: Don't handle tap receive batch size calculation within a #define 4eb54fd udp: Split receive from preparation and send in udp_sock_handler() 09c00f1 udp: Split sending to passt tap interface into separate function a6e919a udp: Move sending pasta tap frames to the end of udp_sock_handler() c196953 test/perf/pasta_tcp: Add host to namespace cases for traffic via tap 37f82cc tcp: Explicitly check option length field values in tcp_opt_get() 08c01f5 test/perf/pasta_udp: Add host to namespace cases for traffic via tap 310bdbd udp: Factor out control structure management from udp_sock_fill_data_v[46] https://passt.top/passt/log/?qt=range&q=2022_11_16.ace074c..2023_02_16.… Packages: - Debian tracker: https://tracker.debian.org/pkg/passt - Copr (CentOS Stream, EPEL, Fedora, Mageia, openSUSE): https://copr.fedorainfracloud.org/coprs/sbrivio/passt/build/5536686/ permanent mirror: https://passt.top/builds/copr/0^20230216.g4663ccc/ - Debian package, from x86_64 static build: https://passt.top/builds/latest/x86_64/passt_4663ccc-1_all.deb - Fedora updates: https://bodhi.fedoraproject.org/updates/?packages=passt - Ubuntu tracker: https://packages.ubuntu.com/lunar/passt - Static builds: - Package for other RPM-based distributions, x86_64 only: https://passt.top/builds/latest/x86_64/passt-g4663ccc-1.x86_64.rpm - x86_64 static binaries: https://passt.top/builds/latest/x86_64/ - Debian package, from x86_64 static build: https://passt.top/builds/latest/x86_64/passt_4663ccc-1_all.deb -- Stefano