The new version with tag 2024_07_26.57a21d2 includes the following changes:
57a21d2 tap: Improve handling of partially received frames on qemu socket
37e3b24 tap: Correctly handle frames of odd length
4684f60 tap: Don't use EPOLLET on Qemu sockets
9e3f235 tap: Don't attempt to carry on if we get a bad frame length from qemu
a06db27 tap: Better report errors receiving from QEMU socket
77c092e log: Fetch log times with CLOCK_MONOTONIC, not CLOCK_REALTIME
e5c37ba log: Initialise timestamp for relative log time also if we use a log file
327d9d4 log, util: Fix sub-second part in relative log time calculation
2ce1d37 test/lib/perf_report: Fix highlight
e9a5423 test: Fix spurious test failure with systemd-resolved
becf81a fwd: Broaden what we consider for DNS specific forwarding rules
0ada84e fwd: Refactor tests in fwd_nat_from_tap() for clarity
4a333c8 conf: Accept addresses enclosed by square brackets in port forwarding specifiers
6ff702f tap: Exit if we fail to bind a UNIX domain socket with explicit path
f72d35a test: iperf3 3.16 introduces multiple threads, drop our own implementation of that
606e0c7 test: Update names of symbols and slabinfo entries
f16f8f5 test: Fix memory/passt tests, --netns-only is not a valid option for passt
1cd7730 log: Drop newlines in the middle of the perror()-like messages
1329558 tcp: Change SO_PEEK_OFF support message to debug()
d19b396 tap: Don't quit if pasta gets EIO on writev() to tap, interface might be down
a09aeb4 tcp: Correctly update SO_PEEK_OFF when tcp_send_frames() drops frames
9cb6b50 tcp: probe for SO_PEEK_OFF both in tcpv4 and tcp6
882599e udp: Rename UDP listening sockets
d29fa08 udp: Remove rdelta port forwarding maps
d89b3aa udp: Remove obsolete socket tracking
898f797 udp: Direct datagrams from host to guest via flow table
b7ad193 udp: Find or create flows for datagrams from tap interface
8126f7a udp: Remove obsolete splice tracking
e0647ad udp: Handle "spliced" datagrams with per-flow sockets
a45a7e9 udp: Create flows for datagrams from originating sockets
8abd06e fwd: Update flow forwarding logic for UDP
c000f2a flow, icmp: Use general flow forwarding rules for ICMP
060f24e flow, tcp: Flow based NAT and port forwarding for TCP
4cd753e icmp: Manage outbound socket address via flow table
781164e flow: Helper to create sockets based on flowside
2faf6fc icmp: Eliminate icmp_id_map
2f40a01 icmp: Look up ping flows using flow hash
6d76278 icmp: Obtain destination addresses from the flowsides
5cffb1b icmp: Remove redundant id field from flow table entry
508adde tcp: Re-use flow hash for initial sequence number generation
acca423 flow, tcp: Generalise TCP hash table to general flow hash table
163a339 tcp, flow: Replace TCP specific hash function with general flow hash
f19a8f7 tcp_splice: Eliminate SPLICE_V6 flag
528a651 tcp: Simplify endpoint validation using flowside information
e2ea10e tcp: Manage outbound address via flow table
52d45f1 tcp: Obtain guest address from flowside
f9fe212 tcp, flow: Remove redundant information, repack connection structures
4e2d36e flow: Common address information for target side
8012f5f flow: Common address information for initiating side
ba74b1f doc: Extend zero-recv test with methods using msghdr
01e5611 doc: Test behaviour of closing duplicate UDP sockets
66a02c9 tcp_splice: Use parameterised macros for per-side event/flag bits
5235c47 flow: Introduce flow_foreach_sidei() macro
71d7985 flow, tcp_splice: Prefer 'sidei' for variables referring to side index
9b125e7 flow, icmp, tcp: Clean up helpers for getting flow from index
2fa91ee udp: Handle errors on UDP sockets
6bd8283 util: Add AF_UNSPEC support to sockaddr_ntop()
4e1f850 udp, tcp: Tweak handling of no_udp and no_tcp flags
272d1d0 udp: Make udp_sock_recv static
f79c423 conf: Don't configure port forwarding for a disabled protocol
a740e16 tcp: handle shrunk window advertisements from guest
e63d281 tcp: leverage support of SO_PEEK_OFF socket option when available
8bd57bf doc: Trivial fix for reuseaddr-priority
ec2691a doc: Test behaviour of zero length datagram recv()s
299c407 doc: Add program to document and test assumptions about SO_REUSEADDR
be0214c udp: Consolidate datagram batching
69e5393 udp: Move some more of sock_handler tasks into sub-functions
c6c61a9 udp: Don't repeatedly initialise udp[46]_eth_hdr
55aff45 udp: Unify udp[46]_l2_iov
9f9b15f udp: Unify udp[46]_mh_splice
fbd78b6 udp: Rename IOV and mmsghdr arrays
f62c33d udp: Pass full epoll reference through more of sock handler path
8f8eb73 flow: Add flow_sidx_valid() helper
74c1c5e util: sock_l4() determine protocol from epoll type rather than the reverse
b625ed5 conf: Use the right maximum buffer size for c->sock_path
403a7c1 tcp_splice: Check return value of setsockopt() for SO_RCVLOWAT
21ee1eb conf: Copy up to MAXDNSRCH - 1 bytes, not MAXDNSRCH
https://passt.top/passt/log/?qt=range&q=2024_06_24.1ee2eca..2024_07_26.57a2…
Packages:
- Alpine Linux:
https://pkgs.alpinelinux.org/packages?name=passt
- Arch Linux:
https://www.archlinux.org/packages/extra/x86_64/passt/https://archlinuxarm.org/packages/aarch64/passthttps://archlinuxarm.org/packages/armv7h/passt
- Chimera:
https://pkgs.chimera-linux.org/packages?name=passt
- Clear Linux:
https://github.com/clearlinux-pkgs/passt/
- Debian tracker:
https://tracker.debian.org/pkg/passt
- Copr (CentOS Stream, EPEL, Fedora, Mageia):
https://copr.fedorainfracloud.org/coprs/sbrivio/passt/build/7793866/
permanent mirror: https://passt.top/builds/copr/0^20240726.g57a21d2/
- Fedora updates:
https://bodhi.fedoraproject.org/updates/?packages=passt
- Gentoo versions:
https://packages.gentoo.org/packages/net-misc/passt
- GNU Guix:
https://packages.guix.gnu.org/packages/passt/
- NixOS:
https://github.com/NixOS/nixpkgs/tree/nixos-unstable/pkgs/by-name/pa/passt
- openSUSE:
https://software.opensuse.org/package/passt
- PLD Linux:
https://git.pld-linux.org/cgi-bin/gitweb.cgi?p=packages/passt.git
- Solus:
https://github.com/getsolus/packages/tree/main/packages/p/passt
- Ubuntu tracker:
https://launchpad.net/ubuntu/+source/passt
- Void Linux:
https://voidlinux.org/packages/?q=passt
- Static builds:
- Package for other RPM-based distributions, x86_64 only:
https://passt.top/builds/latest/x86_64/passt-g57a21d2-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_57a21d2-1_all.deb
--
Stefano