<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/recipes-networking/passt, branch master-next</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-06-03T18:16:45+00:00</updated>
<entry>
<title>passt: update to 2026_05_26-tip</title>
<updated>2026-06-03T18:16:45+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-06-03T18:16:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=77fc609437e935ef1deea94d88014dfb62214058'/>
<id>urn:sha1:77fc609437e935ef1deea94d88014dfb62214058</id>
<content type='text'>
Bumping passt to version 2026_05_26.038c51e-2-g4b28237, which comprises the following commits:

    4b28237 tcp: Don't leak sockets on error paths
    98e3c01 tcp, tcp_splice: Make helper for setting SO_LINGER socket option

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>passt: update to 2026_01_20.386b5f5</title>
<updated>2026-03-26T13:45:09+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-26T13:37:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=802806ed5f36b908d10cd7a74d93e137401c9a8a'/>
<id>urn:sha1:802806ed5f36b908d10cd7a74d93e137401c9a8a</id>
<content type='text'>
Bumping passt to version 2026_01_20.386b5f5-48-gbc872d9, which comprises the following commits:

    bc872d9 treewide: Spell ASSERT() as assert()
    451fb76 vu_common: Move iovec management into vu_collect()
    f5391ae vu_handle_tx: Pass actual remaining out_sg capacity to vu_queue_pop()
    b9d076d virtio: Pass iovec arrays as separate parameters to vu_queue_pop()
    47e56fd pif: Remove unused PIF_NAMELEN
    b5e6ef4 doc: Fix formatting of (DEPRECATED) notes in man page
    744d6df Makefile: Use $^ to avoid duplication in static checker rules
    1b32bfe conf: Parse all forwarding options at the same time
    ea239bf conf: Don't defer handling of --dns option
    ee0e20e fwd: Always open /proc/net{tcp,tcp6,udp,udp6} in pasta mode
    d460ca3 fwd: Unify TCP and UDP forwarding tables
    bb2e4dd fwd: Split forwarding table from port scanning state
    d30e0b7 Fix misnamed field in struct ctx comments
    4fa0076 fwd: Don't initialise unused port bitmaps
    d2438ef tcp: Remove stale description of port_to_tap field
    0294fae conf, fwd: Make overall forwarding mode local to conf path
    831e983 netlink: Allow NULL to be passed as addr parameter to nl_addr_get (again)
    251e676 netlink: Return prefix length for IPv6 addresses in nl_addr_get()
    045560c iov: Add iov_truncate() helper and use it in vu handlers
    994bb76 tcp: Avoid comparison of expressions with different signedness in RTT_SET()
    ab77097 tcp: Avoid comparison of expressions with different signedness in tcp_timer_handler()
    5766fe8 migrate: Rename v1 address functions to v2 for clarity
    71a0d6c vu_common: Always set num_buffers in virtio-net header
    685864d clang-tidy: Don't insist on #ifdef over #if defined()
    9ee7805 fwd, pif: Replace with pif_sock_l4() with pif_listen()
    7d0fe08 tcp: Use flow_foreach_of_type() in tcp_{keepalive,inactivity}
    adbf5c1 Add missing includes to headers
    d2f7c21 tcp: Send TCP keepalive segments after a period of tap-side inactivity
    a681e44 tcp: Extend tcp_send_flag() to send TCP keepalive segments
    1820103 tcp: Re-introduce inactivity timeouts based on a clock algorithm
    e48ce41 tcp: Remove non-working activity timeout mechanism
    eb3babf tcp_vu, udp_vu: Fix comment headers for header length functions
    66e5941 Fix build when HAS_GETRANDOM is undefined
    8636c73 tcp_vu, udp_vu: Account for virtio net header in minimum frame size
    de5b694 tcp_vu: vu_pad() expects l2 length
    c320191 conf: Support CIDR notation for -a/--address option
    02af38d virtio: Introduce VNET_HLEN macro for virtio net header length
    812cdb8 tcp: Move tap header update out of tcp_fill_headers()
    bebafa7 udp: Split activity timeouts for UDP flows
    036fb87 checksum: add VSX fast path for POWER8/POWER9
    af7b81b migrate: Use forward table information to close() listening sockets
    768baf4 tcp, tcp_splice: Check for failures of shutdown(2)
    3581ded tcp: Eliminate FIN_TIMEOUT
    e992b14 tcp: Retransmit FINs like data segments
    e3f70c0 tcp_splice: Force TCP RST on abnormal close conditions
    cce94e9 tcp: Properly propagate tap-side RST to socket side
    07390d1 doc: Add test program verifying socket RST behaviour
    69ce8ee tcp: Add error checking for flow_epoll_set() in tcp_flow_migrate_target()
    386b5f5 flow: Remove EPOLLFD_ID_INVALID
    90287c2 tcp: Register fds with epoll at flow creation
    0fbd7af tcp_splice: Register fds with epoll at flow creation
    cee7eb0 conf, pasta: Add --splice-only option
    4a0d507 flow, fwd: Optimise forwarding rule lookup using epoll ref when possible
    fe37028 fwd, tcp, udp: Add forwarding rule to listening socket epoll references
    01bcdb9 fwd: Remap ports based directly on forwarding rule
    f56a822 flow, fwd: Consult rules table when forwarding a new flow from socket
    a0af19f fwd: Generate auto-forward exclusions from socket fd tables
    03a9c4b conf, fwd: Check forwarding table for conflicting rules
    acb7a30 tcp, udp: Remove old auto-forwarding socket arrays
    b223bec fwd, tcp, udp: Set up listening sockets based on forward table
    0c611bc ip: Add ipproto_name() function
    da49557 fwd: Make space to store listening sockets in forward table
    e2633b9 conf, fwd: Record "auto" port forwards in forwarding table
    9323ab9 conf: Accurately record ifname and address for outbound forwards
    bd52f61 conf, fwd: Keep a table of our port forwarding configuration
    016e3d7 inany: Extend inany_ntop() to treat NULL as a fully unspecified address
    81c97f6 hooks/pre-push: Use mandoc(1) to get HTML anchors to command-line options
    a6d92ca selinux: Enable open permissions on netns directory, operations on container_var_run_t
    4296a59 igmp: Remove apparently unneeded suppression
    fa765d5 epoll_ctl: Move u64 variant first for safer initialisation
    4af3d83 treewide: Fix more pointers which can be const
    a54274d tcp, udp: Make {tcp,udp}_listen() return socket fds
    d5fd945 tcp, udp, conf: Don't silently ignore listens on unsupported IP versions
    c0be730 flow: Introduce flow_epoll_set() to centralize epoll operations
    23da651 tcp_splice: Refactor tcp_splice_conn_epoll_events() to per-side computation
    e0fdfcc udp_flow: Assign socket to flow inside udp_flow_sock()
    ab27852 udp_flow: remove unneeded epoll_ref indirection
    cce0470 tcp: cleanup timer creation
    5614bdc tcp: remove timer update in tcp_epoll_ctl()
    faab79c apparmor: Upgrade ABI version to 4.0, explicitly enable user namespace creation
    2be0e79 tcp: Fix rounding issue in check for approximating window to zero
    b973f4a treewide: Fix places where we incorrectly indented with spaces
    b98a2e8 tcp: Remove some no longer used includes
    35f63d2 fwd: Minor cleanup to fwd_nat_from_splice()
    facc736 fwd: Remove now-unnecessary handling of unspecified oaddr from splice
    edac476 udp_vu: Discard datagrams when RX virtqueue is not usable
    9ea9dde fwd, tcp, udp: Consolidate epoll refs for listening sockets
    3b55ba8 epoll_ctl: Add missing description for flowside field of epoll_ref
    ad5670a tcp: Remove unused tcp_epoll_ref
    9437fc2 test: Include sshd-auth in mbuto guest image
    ac77d0c test: Handle Operating System Command escapes in terminal output
    accc331 treewide: Don't rely on terminator records in ip[46].dns arrays
    4a0c1a6 migrate: Don't use terminator element for versions[] array
    0bd2e68 util: Be more defensive about buffer overruns in read_file()
    2aa6323 apparmor: Allow reading TCP RTO sysctl parameters
    2ba9fd5 tcp: Update EPOLL_TYPE_TCP_TIMER fd
    6292845 udp: Rename udp_sock_init() to udp_listen() with small cleanups
    0f4ba61 tcp: Combine tcp_sock_init_one() and tcp_sock_init() into tcp_listen()
    75dcbc3 pasta: Warn, disable matching IP version if not supported, in local mode
    d2c5133 selinux: Enable read and watch permissions on netns directory as well
    b40f5cd tcp: Use less-than-MSS window on no queued data, or no data sent recently
    35fa86a conf, fwd: Move initialisation of auto port scanning out of conf()
    5be1a22 tcp: Remove extra space from TCP_INFO debug messages (trivial)
    87f1a91 pasta: Clean up waiting pasta child on failures
    e6612fe treewide: Introduce passt_exit() helper
    d6c5b6e tcp: Suppress new instance of cppcheck bug 14191
    d04c480 pif: Correctly set scope_id for guest-side link local addresses
    696709d tcp: Correct timer expiry value in trace message
    c3f1ba7 tcp_splice, flow: Add socket to epoll set before connect(), drop assert
    e8b56a3 fedora: Fix build on Fedora 43, selinux_requires_min not available on Copr builders
    c93515c tcp: Skip redundant ACK on partial sendmsg() failure
    e0f1330 tcp: Send a duplicate ACK also on complete sendmsg() failure
    2b5c906 tcp: Allow exceeding the available sending buffer size in window advertisements
    cf1925f tcp: Don't limit window to less-than-MSS values, use zero instead
    9139e60 tcp: Acknowledge everything if it looks like bulk traffic, not interactive
    28f413d tcp: Don't clear ACK_TO_TAP_DUE if we're advertising a zero-sized window
    000601b tcp: Adaptive interval based on RTT for socket-side acknowledgement checks
    920a479 tcp: Limit advertised window to available, not total sending buffer size
    f423e12 tcp: Change usage factor of sending buffer in tcp_get_sndbuf() to 75%
    6305b6c tcp, util: Add function for scaling to linearly interpolated factor, use it
    5d83844 iov: Fix coding style of basic (non-IOV_TAIL) parts
    0cb8f90 tcp, udp: Pad batched frames for vhost-user modes to 60 bytes (802.3 minimum)
    68b0a36 tcp, udp: Pad batched frames to 60 bytes (802.3 minimum) in non-vhost-user modes
    b9cd36f udp: Fix coding style for comment to enum udp_iov_idx
    e3e8af7 tcp: Fix coding style for comment to enum tcp_iov_parts
    1e51971 tap: Pad non-batched frames to 802.3 minimum (60 bytes) if needed
    822ce09 test: Update Makefile to avoid failing on missing images
    4ddd59b conf: Separate local mode for each IP version, don't enable disabled IP version
    834982c vu_common: Clarify prototype of vu_collect()
    7c7be67 test: Expand tmux right status bar to fit pass/fail/skipped counter and time
    aa809d3 tcp: Enable SO_KEEPALIVE if we see keep-alive segments from container / guest
    9e2e381 seccomp: Fix build and operation on 32-bit musl targets
    fdbb4ef fwd: Preserve non-standard loopback address when splice forwarding
    e3c4c41 tcp: Always populate oaddr field for socket initiated flows
    cec1ca8 util: Rename sock_l4_dualstack() to sock_l4_dualstack_any()
    653705c tcp, udp: Bind outbound listening sockets by interface instead of address
    e77cbf0 tcp, udp: Remove fallback if creating dual stack socket fails
    e6f6eb2 util: Fix setting of IPV6_V6ONLY socket option
    74e6f12 udp: Move udp_sock_init() special case to its caller
    c8d4683 udp: Unify some more inbound/outbound parts of udp_sock_init()
    860d3b1 tcp: Merge tcp_ns_sock_init[46]() into tcp_sock_init_one()
    3b8b834 util, flow, pif: Simplify sock_l4_sa() interface
    b0523f6 inany: Let length of sockaddr_inany be implicit from the family
    484dcfa flow: Remove bogus @path field from flowside_sock_args
    f37db87 conf: More useful errors for kernels without SO_BINDTODEVICE
    0ae7b8c util: Extend sock_probe_mem() to sock_probe_features()
    10e850a util: Correct error message on SO_BINDTODEVICE failure
    1a83487 tcp: Clamp the retry timeout
    3dde0e0 tcp: Update data retransmission timeout
    0e8df13 tcp: Resend SYN for inbound connections
    ffecfaf util: Introduce read_file() and read_file_integer() function
    785214c tcp: Rename "retrans" to "retries"
    2002c7d arp/ndp: don't send messages on uninitialized tap interface
    391c15a test: Fix IPv6 address/prefix mismatch error
    95ab87b spec: use %selinux_requires_min macro, drop overlapping dependencies
    be1583f fwd: Don't explicitly exclude reverse-direction TCP ports for UDP
    fd3fc8d fwd: Exclude ports based on prior mapping state
    bdbdf4e Revert "fwd: Update all port maps before applying exclusions"
    2c6590d udp: Use IP_FREEBIND for flow sockets as well as listening sockets
    75b8bb9 tcp: Properly remove sockets from epoll loop when connection is closed
    a36031a seccomp.sh: Quote tr character ranges to prevent glob expansion
    1d16439 contrib/selinux: use regex instead of SELinux template
    f6b6118 tcp, udp: Don't exclude ports in {tcp,udp}_port_rebind()
    81942a2 fwd: Update all port maps before applying exclusions
    942bfdb fwd: Check forwarding mode in fwd_scan_ports_*() rather than caller
    06c3dcc fwd: Share port scanning logic between init and timer cases
    1754f61 fwd: Move port exclusion handling from procfs_scan_listen() to callers
    1bc7d54 fwd: Consolidate scans (not rebinds) in fwd.c
    260075b tcp, udp, fwd: Run all port scanning from a single timer
    1f2c08b icmp: Remove vestiges of ICMP timer
    57446ca passt: Move main event loop processing into passt_worker()
    aaa8f34 udp: Use epoll instance management for UDP flows
    ca93124 icmp: Use epoll instance management for ICMP flows
    dd5302d tcp, flow: Replace per-connection in_epoll flag with an epollid in flow_common
    05972c7 util: Move epoll registration out of sock_l4_sa()
    965ea66 epoll_ctl: Extract epoll operations
    8bfa47a util: Simplify epoll_del() interface to take epollfd directly
    3a9dbe0 icmp: let icmp use mac address from flowside structure
    ad72098 tap: change signature of function tap_push_l2h()
    860a487 tcp: forward external source MAC address through tap interface
    627d5f7 udp: forward external source MAC address through tap interface
    5d35ac3 flow: add MAC address of LAN local remote hosts to flow
    7917155 arp/ndp: send ARP announcement / unsolicited NA when neigbour entry added
    e456c02 arp/ndp: respond with true MAC address of LAN local remote hosts
    45869d6 fwd: Add cache table for ARP/NDP contents
    3c46901 netlink: add subscription on changes in NDP/ARP table
    3b9c7f8 Add reverse Christmas tree to CONTRIBUTING.md
    7bb150c fwd: Fix misspelling
    b2ccb6d test: Fix the escaping issue in memory/passt test
    812a7c6 test: Update the threshold value for some perf tests
    4fb4c31 tap: Update some function comments for accuracy
    8a6def6 passt: Rename EPOLL_EVENTS to NUM_EPOLL_EVENTS
    720cc0b Fix the wrong command in CONTRIBUTING.md
    6d84c90 test: For missing static checkers, skip rather than failing tests
    5149f34 test: Add some missing quoting in exeter runner
    898cf50 test: Use ${} consistently in lib/exeter
    5da0316 isolation: keep CAP_DAC_OVERRIDE initially
    518d8c1 tcp: Clarify logic calculating how much guest data to ack
    a947839 tcp: On partial send (incomplete sendmsg()), request a retransmission right away
    b145441 tcp: Don't consider FIN flags with mismatching sequence
    8efa80b tcp: Completely ignore data segment in CLOSE-WAIT state, log a message
    b3217aa tcp: Fix ACK sequence on FIN to tap
    2a16cdf test: Add linting of Python test scripts
    81fd66a test: Don't delete exetool on make clean
    2274c3a cppcheck: Suppress variable scope warnings in dhcpv6()
    ee9b236 cppcheck: Suppress a buggy cppcheck warning
    065d199 cppcheck: Suppress the suppression of a suppression
    b4b3b08 clang-tidy: Suppress redundant expression warning
    4d9c35b test: Update passt.mbuto and passt.mem.mbuto
    a96a962 netlink: Don't require address to be global, just not link local
    7086781 test: Fix printf error when debug is enabled
    c54ef9e test: Update README.md
    f4729be test: Update mbuto profile to fix the symlink of /bin
    de28c20 test: Update lib/term for clearer output when DEBUG is enabled
    f07d7b0 test: fix 'make assets' failure as root
    e81c692 tap: Drop frames if no client connected
    623dbf6 Add --stats option to display event statistics
    ad4aae7 netlink: Drop nexthop state flags from routes we duplicate
    080f176 Add CONTRIBUTING.md
    c66be2c selinux: add missing file contexts for Podman
    fd1bcc3 selinux: add container_var_run_t type transition
    6f23cb9 dhcp: Fix coding style violations in dhcp() function
    1f22fde Improve clarity of comment
    e2920e3 Send an initial ARP and NDP request to resolve the guest IP address
    142b3d8 Fix --no-icmp description and make it imply --no-ndp
    07cb07d Introduce constant MAC_BROADCAST
    fc0affc Show debug message whenever we observe a new guest MAC address
    6cbcccc tcp: Store the owner connections for flags frames
    cd2e886 Reduce tcp_buf_discard size
    8d2f8c4 tcp: Don't send FIN segment to guest yet if we have pending unacknowledged data
    bde1847 tcp: Fast re-transmit if half-closed, make TAP_FIN_RCVD path consistent
    660cd69 tcp: Cast operands of sequence comparison macros to uint32_t before using them
    25f9354 tcp: Don't try to transmit right after the peer shrank the window to zero
    c62fb08 tcp: Fix closing logic for half-closed connections
    e86d480 tcp: Rewind sequence when guest shrinks window to zero
    1d502be tcp: Factor sequence rewind for retransmissions into a new function
    2e3d93b tcp: FIN flags have to be retransmitted as well
    d363fb7 test: Fix the download link for debian-11-generic-ppc64el image
    c10d8c9 tcp_vu: Pass virtqueue pointer to tcp_vu_sock_recv()
    ed18d4c udp_vu: Pass virtqueue pointer to udp_vu_sock_recv()
    6239915 vhost-user: Fix VHOST_USER_GET_QUEUE_NUM to return number of queues
    f9ee749 Add missing explicit PSH assignment
    83afb88 Fix typo in doc comment
    00e3580 test: Explicit specify forwarding ports for pasta in log rotation tests
    3c44ef8 test: Allow exeter &amp; podman tests to be parallel executed with BATS
    ffe34d2 test: Convert build tests to exeter
    a58e60e test: Run static checkers as exeter tests
    a283ef4 test: Extend test scripts to allow running exeter tests.
    ca38be0 packet: Add support for multi-vector packets
    3e43e1a packet: Refactor vhost-user memory region handling
    1602aa2 packet: remove unused parameter from PACKET_POOL_DECL()
    7ae35a9 packet: remove PACKET_POOL() and PACKET_POOL_P()
    2eb845a ndp: use iov_tail rather than pool
    76de6f5 icmp: use iov_tail rather than pool
    42a108b dhcpv6: use iov_tail rather than pool
    3a261fd dhcp: use iov_tail rather than pool
    c977d1f arp: use iov_tail rather than pool
    7e25351 packet: rename packet_data() to packet_get()
    9505908 tap: Convert tap6_handler() to iov_tail
    a26c608 tap: Convert tap4_handler() to iov_tail
    20cd6d0 ip: Use iov_tail in ipv6_l4hdr()
    84a4d3e dhcp: Convert to iov_tail
    feb3330 dhcpv6: Use iov_tail in dhcpv6_opt()
    c4cad31 dhcpv6: Convert to iov_tail
    54f15c6 dhcpv6: Extract sending of NotOnLink status
    1932832 dhcpv6: move offset initialization out of dhcpv6_opt()
    d2c33f4 tcp: Convert tcp_data_from_tap() to use iov_tail
    87cc7ab tcp: Convert tcp_tap_handler() to use iov_tail
    d9604f0 udp: Convert to iov_tail
    e45bf13 icmp: Convert to iov_tail
    f8860bb ndp: Convert to iov_tail
    1fc944c arp: Convert to iov_tail
    6bada9a packet: Add packet_data()
    de469a3 packet: Use iov_tail with packet_add()
    720d8fc tap: Use iov_tail with tap_add_packet()
    70b9c0c iov: Update IOV_REMOVE_HEADER() and IOV_PEEK_HEADER()
    066e6b1 iov: Introduce iov_tail_clone() and iov_drop_header().
    ea3dd28 arp: Don't mix incoming and outgoing buffers
    eef5bb8 build: Fix errors of TCP_REPAIR_* undeclared
    b4fc6cd treewide: Flush pcap and log files, if used, before exiting
    309eefd selinux: pasta accesses /etc/resolv.conf
    a878286 treewide: By default, don't quit source after migration, keep sockets open
    79de81e test: Deal with /bin, /sbin unification in Fedora
    3757ea3 style: Add parentheses to function names in comments
    9e0423e style: Fix 'Return' comment style
    0293c6f fedora: Hide restorecon(8) errors in post-transaction scriptlet
    98da8a9 fedora: Add container-selinux as dependency for passt-selinux
    754c6d7 flow, repair: Proper error handling for missing passt-repair helper on target
    a2088fe fedora: Depend on SELinux tools and policy version, drop circular dependency
    d21bcd9 fedora: Call %selinux_modules_* macros only once
    081df67 conf: flush stdout before early exit
    bcb5596 passt-repair: Fix missing newlines in error messages
    2c88349 Correct various function comment headers
    515b5ee tap: Avoid bogus missingReturn cppcheck warning in tap_l2_max_len()
    e019323 fedora: Separately restore context for /run/user in %posttrans selinux
    7aeda16 selinux: Transition to pasta_t in containers
    3262c9b iov: Standardize function comment headers
    b915375 virtio: Correct and align comment headers
    2fd0944 vhost_user: Correct and align function comment headers
    2046976 codespell: Correct typos in comments and error message
    4234ace test: Display count of skipped tests in status and summary
    2d3d69c flow: Fix clang error (clang-analyzer-security.PointerSub)
    0f7bf10 ndp: Fix Clang analyzer warning (clang-analyzer-security.PointerSub)
    a6b9832 virtio: Fix Clang warning (bugprone-sizeof-expression, cert-arr39-c)
    570e7b4 dhcpv6: fix GCC error (unterminated-string-initialization)
    8ec1341 flow: close socket fd on error
    92d5d68 flow: fix wrong macro name in comments
    eea8a76 flow: fix podman issue #26073
    587980c udp: Actually discard datagrams we can't forward
    f0021f9 fwd: fix doc typo
    93394f4 selinux: Add getattr to class udp_socket
    11be695 flow: fix podman issue #25959
    6a96cd9 util: Fix typo, ASSSERTION -&gt; ASSERTION
    ea0a124 passt-repair: Hide bogus gcc warning from -Og
    aa1cc89 conf: allow --fd 0
    436afc3 udp: Translate offender addresses for ICMP messages
    08e617e udp: Rework offender address handling in udp_sock_recverr()
    4668e91 treewide: Improve robustness against sockaddrs of unexpected family
    9128f6e fwd: Split out helpers for port-independent NAT
    2340bbf udp: Propagate errors on listening and brand new sockets
    cfc0ee1 udp: Minor re-organisation of udp_sock_recverr()
    f107a86 udp: Add udp_pktinfo() helper
    0498457 udp: Deal with errors as we go in udp_sock_fwd()
    3f99558 udp: Pass socket &amp; flow information direction to error handling functions
    1bb8145 udp: Be quieter about errors on UDP receive
    baf049f udp: Fix breakage of UDP error handling by PKTINFO support
    5024908 conf: Honour --dns-forward for local resolver even with --no-map-gw
    bbff365 conf: Split add_dns_resolv() into separate IPv4 and IPv6 versions
    59cc89f udp, udp_flow: Track our specific address on socket interfaces
    695c623 inany: Improve ASSERT message for bad socket family
    f4b0dd8 udp: Use PKTINFO cmsgs to get destination address for received datagrams
    6693fa1 tcp_splice: Don't clobber errno before checking for EAGAIN
    d3f33f3 tcp_splice: Don't double count bytes read on EINTR
    ffbef85 conf: Add missing return in conf_nat(), fix --map-guest-addr none
    06ef64c udp_flow: Save 8 bytes in struct udp_flow on 64-bit architectures
    9725e79 udp_flow: Don't discard packets that arrive between bind() and connect()
    9eb5406 udp: Fold udp_splice_prepare and udp_splice_send into udp_sock_to_sock
    bd6a41e udp: Rework udp_listen_sock_data() into udp_sock_fwd()
    159beef udp_flow: Take pif and port as explicit parameters to udp_flow_from_sock()
    fd844a9 udp: Move UDP_MAX_FRAMES to udp.c
    fc6ee68 udp: Merge vhost-user and "buf" listening socket paths
    0304dd9 udp: Split spliced forwarding path from udp_buf_reply_sock_data()
    5221e17 udp: Parameterize number of datagrams handled by udp_*_reply_sock_data()
    3a0881d udp: Don't bother to batch datagrams from "listening" socket
    84ab130 udp: Polish udp_vu_sock_info() and remove from vu specific code
    1d7bbb1 udp: Make udp_sock_recv() take max number of frames as a parameter
    d74b5a7 udp: Use connect()ed sockets for initiating side
    a7775e9 udp: support traceroute in direction tap-socket
    06784d7 passt-repair: Ensure that read buffer is NULL-terminated
    684870a udp: Correct some seccomp filter annotations
    76e554d udp: Simplify updates to UDP flow timestamp
    8aa2d90 udp: Remove redundant udp_at_sidx() call in udp_tap_handler()
    3d41e4d passt-repair: Correct off-by-one error verifying name
    dec3d73 migrate, tcp: bind() migrated sockets in repair mode
    6bfc60b platform requirements: Add test for address conflicts with TCP_REPAIR
    8e32881 platform requirements: Add attributes to die() function
    2ed2d59 platform requirements: Fix clang-tidy warning
    3de5af6 udp: Improve name of UDP related ICMP sending functions
    025a3c2 udp: Don't attempt to forward ICMP socket errors to other sockets
    42a854a pasta, passt-repair: Support multiple events per read() in inotify handlers
    65cca54 udp: correct source address for ICMP messages
    664c588 build: normalize arm targets
    77883fb udp: Add helper function for creating connected UDP socket
    37d78c9 udp: Always hash socket facing flowsides
    f67c488 udp: Better handling of failure to forward from reply socket
    269cf6a udp: Share more logic between vu and non-vu reply socket paths
    d924b7d udp_vu: Factor things out of udp_vu_reply_sock_data() loop
    5a977c2 udp: Simplify checking of epoll event bits
    89b203b udp: Common invocation of udp_sock_errs() for vhost-user and "buf" paths
    cf4d3f0 packet: Upgrade severity of most packet errors

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>networking: adapt to UNPACKDIR changes</title>
<updated>2025-06-26T02:57:46+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2025-06-26T02:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=816d4c6e0e7cfcf6efce65a89c9ac527d434bf9b'/>
<id>urn:sha1:816d4c6e0e7cfcf6efce65a89c9ac527d434bf9b</id>
<content type='text'>
This commit updates the container recipes to the OE core UNPACKDIR
changes.

  - We drop references to WORKDIR
  - Drop S = assignemnts where possible

Also note: openvswitch ptest is disabled as something in the source
handling changes have broken it's install. We'll revisit this later.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>passt: update to 2025_03_20.32f6212</title>
<updated>2025-03-24T18:42:34+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2025-03-24T18:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=18630a89a2cbd461a753a7959fce4b1ad13f60f8'/>
<id>urn:sha1:18630a89a2cbd461a753a7959fce4b1ad13f60f8</id>
<content type='text'>
Bumping passt to version 2025_03_20.32f6212-11-gcf4d3f0, which comprises the following commits:

    cf4d3f0 packet: Upgrade severity of most packet errors
    0857515 packet: ASSERT on signs of pool corruption
    9153aca util: Add abort_with_msg() and ASSERT_WITH_MSG() helpers
    38bcce9 packet: Rework packet_get() versus packet_get_try()
    961aa6a packet: Move checks against PACKET_MAX_LEN to packet_check_range()
    37d9f37 packet: Avoid integer overflows in packet_get_do()
    c48331c packet: Correct type of PACKET_MAX_LEN
    9866d14 tap: Clarify calculation of TAP_MSGS
    a41d6d1 tap: Make size of pool_tap[46] purely a tuning parameter
    e43e007 packet: More cautious checks to avoid pointer arithmetic UB
    4592719 vu_common: Tighten vu_packet_check_range()
    32f6212 Makefile: Enable -Wformat-security
    07c2d58 conf: Include libgen.h for basename(), fix build against musl
    ebdd463 tcp: Flush socket before checking for more data in active close state
    c250ffc migrate: Bump migration version number
    cfb3740 migrate, tcp: Migrate RFC 7323 timestamp
    28772ee migrate, tcp: More careful marshalling of mss parameter during migration
    51f3c07 passt-repair: Fix build with -Werror=format-security
    cb5b593 tcp, flow: Better use flow specific logging heleprs
    96fe554 conf: Unify several paths in conf_ports()
    78f1f0f test/perf: Simplify iperf3 server lifetime management
    26df8a3 conf: Limit maximum MTU based on backend frame size
    9d1a6b3 pcap: Correctly set snaplen based on tap backend type
    b6945e0 Simplify sizing of pkt_buf
    c4bfa33 tap: Use explicit defines for maximum length of L2 frame
    1eda8de packet: Remove redundant TAP_BUF_BYTES define
    c43972a packet: Give explicit name to maximum packet size
    74cd82a conf: Detect vhost-user mode earlier
    4b17d04 conf: Move mode detection into helper function
    bb00a04 conf: Use the same optstring for passt and pasta modes
    c8b520c flow, repair: Wait for a short while for passt-repair to connect
    0470170 passt-repair: Add directory watch
    2b58b22 cppcheck: Add suppressions for "logically" exported functions
    a83c806 vhost_user: Don't export several functions
    27395e6 tcp: Don't export tcp_update_csum()
    12d5b36 checksum: Don't export various functions
    e36c35c log: Don't export passt_vsyslog()
    57d2db3 treewide: Mark assorted functions static
    68b0418 udp: create and send ICMPv6 to local peer when applicable
    87e6a46 tap: break out building of udp header from tap_udp6_send function
    55431f0 udp: create and send ICMPv4 to local peer when applicable
    82a839b tap: break out building of udp header from tap_udp4_send function
    1924e25 conf: Be more precise about minimum MTUs
    672d786 tcp: Send RST in response to guest packets that match no connection
    1f23681 tap: Consider IPv6 flow label when building packet sequences
    0081756 ip: Helpers to access IPv6 flow label
    52419a6 migrate, tcp: Don't flow_alloc_cancel() during incoming migration
    b270821 tcp: Unconditionally move to CLOSED state on tcp_rst()
    56ce03e tcp: Correct error code handling from tcp_flow_repair_socket()
    39f85bc migrate, flow: Don't attempt to migrate TCP flows without passt-repair
    7b92f2e migrate, flow: Trivially succeed if migrating with no flows
    8747173 selinux: Fixes/workarounds for passt and passt-repair, mostly for libvirt usage
    be86232 seccomp.sh: Silence stty errors
    ea69ca6 tap: always set the no_frag flag in IPv4 headers
    4dac235 contrib/fedora: Actually install passt-repair SELinux policy file
    16553c8 dhcp: Add option code byte in calculation for OPT_MAX boundary check
    183bedf Makefile: Use mmap2() as alternative for mmap() in valgrind extra syscalls
    1cc5d4c conf: Use 0 instead of -1 as "unassigned" mtu value
    3dc7da6 conf: More thorough error checking when parsing --mtu option
    65e317a flow: Clean up and generalise flow traversal macros
    b79a22d flow: Remove unneeded bound parameter from flow traversal macros
    7ffca35 flow: Remove unneeded index from foreach_* macros
    adb46c1 flow: Add flow_perror() helper
    ba0823f tcp: Don't pass both flow pointer and flow index
    854bc7b tcp: Remove spurious prototype for tcp_flow_migrate_shrink_window
    e56c803 tcp: More type safety for tcp_flow_migrate_target_ext()
    5a07eb3 tcp_vu: head_cnt need not be global
    6b40651 tap: Remove unused ETH_HDR_INIT() macro
    354bc0b packet: Don't pass start and offset separately to packet_check_range()
    0a51060 packet: Use flexible array member in struct pool
    bcc4908 dhcp: Remove option 255 length byte
    a1e48a0 test: Add migration tests
    89ecf2f migrate: Migrate TCP flows
    3e903bb repair, passt-repair: Build and warning fixes for musl
    01b6a16 tcp_splice: A typo three years ago and SO_RCVLOWAT is gone
    667caa0 tcp_splice: Don't wake up on input data if we can't write it anywhere
    7c33b12 vhost_user: Clear ring address on GET_VRING_BASE
    71249ef tcp, tcp_splice: Don't set SO_SNDBUF and SO_RCVBUF to maximum values
    30f1e08 tcp: Keep updating window and checking for socket data after FIN from guest
    98d474c contrib/selinux: Enable mapping guest memory for libvirt guests
    9a84df4 selinux: Add rules needed to run tests
    a301158 rampstream: Add utility to test for corruption of data streams
    6f122f0 tcp: Get bound address for connected inbound sockets too
    f3fe795 vhost_user: Make source quit after reporting migration state
    b899141 Add interfaces and configuration bits for passt-repair
    155cd0c migrate: Migrate guest observed addresses
    5911e08 migrate: Skeleton of live migration logic
    836fe21 passt-repair: Fix off-by-one in check for number of file descriptors
    def7de4 tcp_vu: Fix off-by one in header count array adjustment
    90f91fe tcp: Implement conservative zero-window probe on ACK timeout
    472e2e9 tcp: Don't discard window information on keep-alive segments
    31e8109 dhcp, dhcpv6: Add hostname and client fqdn ops
    a3d142a conf: Don't map DNS traffic to host, if host gateway is a resolver
    864be47 passt-repair: Send one confirmation *per command*, not *per socket*
    fe8b6a7 dhcp: Don't re-use request message for reply
    b7b70ba passt-repair: Dodge "structurally unreachable code" warning from Coverity
    0f009ea passt-repair: Fix calculation of payload length from cmsg_len
    a0b7f56 passt-repair: Don't use perror(), accept ECONNRESET as termination
    a5cca99 conf, passt.1: Un-deprecate --host-lo-to-ns-lo
    0da87b3 debug: Add tcpdump to mbuto.img
    f66769c apparmor: Workaround for unconfined libvirtd when triggered by unprivileged user
    593be32 passt-repair.1: Fix indication of TCP_REPAIR constants
    9215f68 passt-repair: Build fixes for musl
    a9d63f9 passt-repair: use _exit() over return
    d0006fa treewide: use _exit() over exit()
    745c163 tcp: Simplify handling of getsockname()
    b4a7b5d migrate: Fix several errors with passt-repair
    dcf014b doc: Add mock of migration source and target
    52e57f9 tcp: Get socket port and address using getsockname() when connecting from guest
    8c24301 Introduce passt-repair
    e894d9a vhost_user: Turn some vhost-user message reports to trace()
    e25a930 util: Add read_remainder() and read_all_buf()
    71fa736 tcp_splice, udp_flow: fcntl64() support on PPC64 depends on glibc version
    b75ad15 vhost_user: On 32-bit ARM, mmap() is not available, mmap2() is used instead
    722d347 tcp: Don't reset outbound connection on SYN retries
    bf28608 pasta.te: fix demo.sh and remove one duplicate rule
    dcd6d81 tcp: Add HOSTSIDE(x), HOSTFLOW(x) macros
    0349cf6 util: Rename and make global vu_remove_watch()
    10c4a9e tcp: Always pass NULL event with EPOLL_CTL_DEL
    dd6a685 vhost-user: Implement an empty VHOST_USER_SEND_RARP command
    d477a1f netlink: Skip loopback interface while looking for a template
    4f2c8e7 vhost_user: Drop packet with unsupported iovec array
    ec5c4d9 tcp: Set PSH flag for last incoming packets in a batch
    db2c91a tcp: Set ACK flag on *all* RST segments, even for client in SYN-SENT state
    54bb972 tcp: Disable Nagle's algorithm (set TCP_NODELAY) on all sockets
    8757834 tcp: Buffer sizes are *not* inherited on accept()/accept4()
    c96a88d vhost_user: remove ASSERT() on iovec number
    412ed4f vhost-user: Report to front-end we support VHOST_USER_PROTOCOL_F_DEVICE_STATE
    31d7002 vhost-user: add VHOST_USER_SET_DEVICE_STATE_FD command
    878e163 vhost-user: add VHOST_USER_CHECK_DEVICE_STATE command
    78c73e9 vhost-user: Report to front-end we support VHOST_USER_PROTOCOL_F_LOG_SHMFD
    3c1d91b vhost-user: add VHOST_USER_SET_LOG_BASE command
    538312a vhost-user: Pass vu_dev to more virtio functions
    b04195c vhost-user: add VHOST_USER_SET_LOG_FD command
    6016e04 vhost-user: update protocol features and commands list
    a8f4fc4 tcp: Mask EPOLLIN altogether if we're blocked waiting on an ACK from the guest
    b8f573c tcp: Set EPOLLET when when reading from a socket fails with EAGAIN
    22cf08b tcp: Don't subscribe to EPOLLOUT events on STALLED
    707f77b tcp: Fix ACK sequence getting out of sync on EPOLLOUT wake-up
    1b95bd6 vhost_user: fix multibuffer from linux

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>passt: update to 2024_12_11.09478d5</title>
<updated>2025-01-17T19:17:09+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2025-01-16T04:20:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=638e163e28b9e911a3169b852bf3995dd0ae8bdf'/>
<id>urn:sha1:638e163e28b9e911a3169b852bf3995dd0ae8bdf</id>
<content type='text'>
Bumping passt to version 2024_12_11.09478d5-9-g1b95bd6, which comprises the following commits:

    1b95bd6 vhost_user: fix multibuffer from linux
    f04b483 test/pasta_podman: Run Podman tests on a single CPU thread
    2c174f1 checksum: fix checksum with odd base address
    725acd1 tcp_splice: Set (again) TCP_NODELAY on both sides
    3876fc7 seccomp: Unconditionally allow accept(2) even if accept4(2) is present
    898e853 virtio: Use const pointer for vu_dev
    324233b udp_flow: Don't block multicast and broadcast messages
    2385b69 Makefile: Report error and stop if we can't set TARGET
    e5ba8ad README: Mark vhost-user as supported
    09478d5 treewide: Dodge dynamic memory allocation in strerror() from glibc &gt; 2.40
    e24f026 pasta: make it possible to disable socket splicing
    947f5cd tap: Call vu_init() with --fd
    2139ad3 tap: Use a common function to start a new connection
    8996d18 udp_vu: update segment size
    1908297 flow: Remove over-zealous sanity checks in flow_sidx_hash()
    1db4f77 udp: Improve detail of UDP endpoint sanity checking
    966fdc8 perf/passt_vu_tcp: Make it shine
    020c8b7 tcp_vu: Compute IPv4 header checksum if dlen changes
    d9c0f8e Makefile: Use make internal string functions
    b6e79ef tcp_vu: Remove unnecessary tcp_vu_update_check() function
    a6348ca tcp: Merge tcp_fill_headers[46]() with each other
    2abf5ab tcp: Merge tcp_update_check_tcp[46]()
    08ea3cc tcp: Pass TCP header and payload separately to tcp_fill_headers[46]()
    2ee0769 tcp: Pass TCP header and payload separately to tcp_update_check_tcp[46]()
    6715109 iov, checksum: Replace csum_iov() with csum_iov_tail()
    f931103 iov: iov tail helpers
    804a7ce tcp_vu: Change 'dlen' to ssize_t in tcp_vu_data_from_sock()
    00cc230 Fix build on 32bit target
    6fae899 virtio: check if avail ring is configured
    7e131e9 tcp: Move tcp_l2_buf_fill_headers() to tcp_buf.c
    676bf54 test: Add tests for passt in vhost-user mode
    28997fc vhost-user: add vhost-user
    b2e62f7 passt: rename tap_sock_init() to tap_backend_init()
    b7c292b tcp: Export headers functions
    5a8b33c udp: Prepare udp.c to be shared with vhost-user
    31117b2 vhost-user: introduce vhost-user API
    7d1cd4d vhost-user: introduce virtio API
    dd143e3 packet: replace struct desc by struct iovec
    c0fbc7e dhcp: Honour broadcast flag (RFC 2131, 4.1)
    9da2038 dhcp: Introduce support for Rapid Commit (option 80, RFC 4039)
    d6e9e24 dhcp: Use -1 as "missing option" length instead of 0
    14b84a7 treewide: Introduce 'local mode' for disconnected setups
    c6e6106 test: Improve logic for waiting for SLAAC &amp; DAD to complete in NDP tests
    cda7f16 ndp: Don't send first periodic router advertisement right after guest connects
    2bf8ffc test/perf: Select a single IPv6 namespace address in pasta tests
    6819b2e conf, passt.1: Update --mac-addr default in usage() and man page
    b61be84 passt.1: Fix "default" note about --map-guest-addr
    238c69f tcp: Acknowledge keep-alive segments, ignore them for the rest
    af464c4 tcp: Reset ACK_TO_TAP_DUE flag whenever an ACK isn't needed anymore
    5ae2184 ndp: Don't send unsolicited RAs if NDP is disabled
    bf94927 ndp: Don't send unsolicited router advertisement if we can't, yet
    5e24466 selinux: Use auth_read_passwd() interface for all our getpwnam() needs
    6e1e442 ndp: Send unsolicited Router Advertisements
    b39760c passt: Seed libc's pseudo random number generator
    71d5dee util: Add general low-level random bytes helper
    a60703e ndp: Make route lifetime a #define
    36c070e ndp: Use struct assignment in preference to memcpy() for IPv6 addresses
    cbc83e1 ndp: Split out helpers for sending specific NDP message types
    4e47167 ndp: Add ndp_send() helper
    71f228d ndp: Remove redundant update to addr_seen
    0588163 cppcheck: Don't check the system headers
    14dd70e linux_dep: Fix CLOSE_RANGE_UNSHARE availability handling
    d64f257 linux_dep: Move close_range() conditional handling to linux_dep.h
    b84cd05 log: Only check for FALLOC_FL_COLLAPSE_RANGE availability at runtime
    58fa550 tap, tcp, util: Add some missing SOCK_CLOEXEC flags
    71869e2 passt: Use NOLINT clang-tidy block instead of NOLINTNEXTLINE
    d4f09c9 util: Define small and big thresholds for socket buffers as unsigned long long
    87940f9 tap: Cast TAP_BUF_BYTES - ETH_MAX_MTU to ssize_t, not TAP_BUF_BYTES
    1feb90f dhcpv6: Turn some option headers pointers to const
    5f5e814 dhcpv6: Use for loop instead of goto to avoid false positive cppcheck warning
    78da088 tcp: unify payload and flags l2 frames array
    9a0e544 test: Improve test for NDP assigned prefix
    910f4f9 test: Don't require 64-bit prefixes in perf tests
    1699083 test: Make nstool hold robust against interruptions to control clients
    b456ee1 test: Rename propagating signal handler
    867db07 util: Work around cppcheck bug 6936
    6f913b3 udp: Don't dereference uflow before NULL check in udp_reply_sock_handler()
    d8e05a3 ndp: Use const pointer for ndp_ns packet
    0d7b820 linux_dep: Generalise tcp_info.h to handling Linux extension compatibility
    c5f4e4d fwd: Squash different-signedness comparison warning
    1e76a19 util: Remove unused ffsl() function
    1d7cff3 clang: Add rudimentary clangd configuration
    c560e2f Makefile: Don't attempt to auto-detect stack size
    13fc6d5 Makefile: Use -DARCH for qrap only
    7917159 seccomp: Simplify handling of AUDIT_ARCH
    93bce40 Makefile: Move NETNS_RUN_DIR definition to C code
    c938d8a netlink: RTA_PAYLOAD() returns int, not size_t
    f6b546c flow: Correct type of flowside_at_sidx()
    30b4f88 arch: Avoid explicit access to 'environ'
    b78e72d clang: Move clang-tidy configuration from Makefile to .clang-tidy
    8346216 Makefile: Simplify exclusion of qrap from static checks
    8f1b6a0 clang: Add .clang-format file
    5e93bcd test: Adjust misplaced sleeps in two_guests code
    9afce0b tap: Explicitly cast TUNSETIFF to fix build warning with musl on ppc64le
    d165d36 tcp: Fix build against musl, __sum16 comes from linux/types.h
    ee7d0b6 util: Don't use errno after a successful call in __daemon()
    b1a607f udp: Take care of cert-int09-c clang-tidy warning for enum udp_iov_idx
    099ace6 treewide: Address cert-err33-c clang-tidy warnings for clock and timer functions
    59fe34e treewide: Suppress clang-tidy warning if we already use O_CLOEXEC
    134b4d5 Makefile: Disable readability-math-missing-parentheses clang-tidy check
    7442478 treewide: Silence cert-err33-c clang-tidy warnings for fprintf()
    98efe7c treewide: Comply with CERT C rule ERR33-C for snprintf()
    988a4d7 Makefile: Exclude qrap.c from clang-tidy checks
    ba38e67 tcp: unify l2 TCPv4 and TCPv6 queues and structures
    2053c36 tcp: set ip and eth headers in l2 tap queues on the fly
    5563d5f test: remove obsolete images
    f43f7d5 tcp: cleanup tcp_buf_data_from_sock()
    e7fcd0c tcp: Use runtime tests for TCP_INFO fields
    8114381 tcp: Generalise probing for tcpi_snd_wnd field
    13f0291 tcp: Remove compile-time dependency on struct tcp_info version
    9e4615b tcp_splice: fcntl(2) returns the size of the pipe, if F_SETPIPE_SZ succeeds
    149f457 tcp_splice: splice() all we have to the writing side, not what we just read
    9e5df35 tcp: Use structures to construct initial TCP options
    b4dace8 fwd: Direct inbound spliced forwards to the guest's external address
    58e6d68 test: Clarify test for spliced inbound transfers
    1fa4211 passt.1: Clarify and update "Handling of local addresses" section
    ef8a516 passt.1: Mark --stderr as deprecated more prominently
    53176ca test: Wait for DAD on DHCPv6 addresses
    75b9c0f test: Explicitly wait for DAD to complete on SLAAC addresses
    f9d677b arp: Fix a handful of small warts
    2d7f734 tcp: Send "empty" handshake ACK before first data segment
    7612cb8 test: Pass TRACE from run_term() into ./run from_term
    b40880c test/lib/term: Always use printf for messages with escape sequences
    ff63ac9 conf: Add --dns-host option to configure host side nameserver
    9d66df9 conf: Add command line switch to enable IP_FREEBIND socket option
    151dbe0 udp: Update UDP checksum using an iovec array
    3d484aa tcp: Update TCP checksum using an iovec array
    e6548c6 checksum: Add an offset argument in csum_iov()
    fd8334b pcap: Add an offset argument in pcap_iov()
    72e7d30 tcp: Use tcp_payload_t rather than tcphdr
    def8acd test: Kernel binary can now be passed via the KERNEL environmental variable
    b55013b inany: Add inany_pton() helper
    cbde419 tcp, udp: Make {tcp,udp}_sock_init() take an inany address
    b8d4fac util, pif: Replace sock_l4() with pif_sock_l4()
    204e77c udp: Don't attempt to get dual-stack sockets in nonsensical cases
    8f8c4d2 tcp: Allow checksum to be disabled
    4fe5f4e udp: Allow checksum to be disabled
    d836d9e util: Remove possible quadratic behaviour from write_remainder()
    bfc294b util: Add helper to write() all of a buffer
    bb41901 tcp: Make tcp_update_seqack_wnd()s force_seq parameter explicitly boolean
    265b209 tcp: Simplify ifdef logic in tcp_update_seqack_wnd()
    4aff6f9 tcp: Clean up tcpi_snd_wnd probing
    7d8804b tcp: Make some extra functions private
    5ff5d55 tcp: Avoid overlapping memcpy() in DUP_ACK handling
    1f414ed tcp: Remove redundant initialisation of iov[TCP_IOV_ETH].iov_base
    6b38f07 apparmor: Allow read access to /proc/sys/net/ipv4/ip_local_port_range
    116bc82 selinux: Allow read access to /proc/sys/net/ipv4/ip_local_port_range
    a33ecaf tap: Don't risk truncating frames on full buffer in tap_pasta_input()
    d2a1dc7 tap: Restructure in tap_pasta_input()
    11e2905 tap: Improve handling of EINTR in tap_passt_input()
    49fc4e0 tap: Split out handling of EPOLLIN events
    63513e5 util: Fix order of operands and carry of one second in timespec_diff_us()
    748ef4c cppcheck: Work around some cppcheck 2.15.0 redundantInitialization warnings
    afedc24 tcp: Use EPOLLET for any state of not established connections
    aff5a49 udp: Handle more error conditions in udp_sock_errs()
    bd99f02 udp: Treat errors getting errors as unrecoverable
    bd092ca udp: Split socket error handling out from udp_sock_recv()
    88bfa38 flow: Helpers to log details of a flow
    1166401 udp: Allow UDP flows to be prematurely closed
    7ad9f9b flow: Fix incorrect hash probe in flowside_lookup()
    0ea60e5 log: Don't prefix log file messages with time and severity if they're continuations
    3836396 Makefile: Enable _FORTIFY_SOURCE iff needed
    eedc81b fwd, conf: Probe host's ephemeral ports
    4a41dc5 conf, fwd: Don't attempt to forward port 0
    1daf6f4 conf, fwd: Make ephemeral port logic more flexible
    712ca32 seccomp.sh: Try to account for terminal width while formatting list of system calls
    e0be6bc udp: Use dual stack sockets for port forwarding when possible
    c78b194 udp: Remove unnnecessary local from udp_sock_init()
    620e19a udp: Merge udp[46]_mh_recv arrays
    418feb3 test: Look for possible sshd-session paths (if it's there at all) in mbuto's profile
    1d6142f README: pasta is indeed a supported back-end for rootless Docker
    f00ebda util: Don't stop on unrelated values when looking for --fd in close_open_files()
    05453ea test: Update list of dependencies in README.md
    1a66806 tcp, udp: Allow timerfd_gettime64() and recvmmsg_time64() on arm (armhf)
    6e9ecf5 util: Provide own version of close_range(), and no-op fallback
    7291b70 udp_flow: Add missing unistd.h include for close()
    3963075 test: Duplicate existing recvfrom() valgrind suppression for recv()
    d6817b3 test/passt.mbuto: Install sshd-session OpenSSH's split process
    34be8ee test/passt.mbuto: Run sshd from vsock proxy with absolute path
    aded2b6 test/lib/setup: Transform i686 kernel architecture name into QEMU name (i386)
    2aea1da treewide: Allow additional system calls for i386/i686
    57b7bd2 fwd, conf: Allow NAT of the guest's assigned address
    8436c0d fwd: Distinguish translatable from untranslatable addresses on inbound
    e813a4d conf: Allow address remapped to host to be configured
    dbaaebb test: Reconfigure IPv6 address after changing MTU
    935bd81 conf, fwd: Split notion of gateway/router from guest-visible host address
    90e83d5 Don't take "our" MAC address from the host
    356de97 fwd: Split notion of "our tap address" from gateway for IPv4
    4d8dd1f fwd: Helpers to clarify what host addresses aren't guest accessible
    975cfa5 Initialise our_tap_ll to ip6.gw when suitable
    8d4baa4 Clarify which addresses in ip[46]_ctx are meaningful where
    a42fb9c treewide: Change misleading 'addr_ll' name
    c9f0ec3 util: Correct sock_l4() binding for link local addresses
    57532f1 conf: Remove incorrect initialisation of addr_ll_seen
    0b25cac conf: Treat --dns addresses as guest visible addresses
    a6066f4 conf: Correct setting of dns_match address in add_dns6()
    7c083ee conf: Move adding of a nameserver from resolv.conf into subfunction
    1d10760 conf: Move DNS array bounds checks into add_dns[46]
    6852bd0 conf: More accurately count entries added in get_dns()
    c679894 conf: Use array indices rather than pointers for DNS array slots
    ceea52c treewide: Use struct assignment instead of memcpy() for IP addresses
    905ecd2 treewide: Rename MAC address fields for clarity
    066e699 util: Helper for formatting MAC addresses
    e6feb5a treewide: Use "our address" instead of "forwarding address"
    32c3868 netlink: Fix typo in function comment for nl_addr_set()
    f4e9f26 pasta: Disable neighbour solicitations on device up to prevent DAD
    d6f0220 netlink, pasta: Fetch link-local address from namespace interface once it's up
    74e508c netlink, pasta: Disable DAD for link-local addresses on namespace interface
    0c74068 netlink, pasta: Turn nl_link_up() into a generic function to set link flags
    8231ce5 netlink, pasta: Split MTU setting functionality out of nl_link_up()
    b91d337 netlink: Fix typo in function comment for nl_addr_get()
    9462064 test: Speed up by cutting on eye candy and performance test duration
    61c0b0d flow: Don't crash if guest attempts to connect to port 0
    baba284 conf: Don't ignore -t and -u options after -D
    c16141e ndp.c: Turn NDP responder into more declarative implementation
    f6d5a52 conf: Delay handling -D option until after addresses are configured
    86bdd96 Correct inaccurate comments on ip[46]_ctx::addr
    fecb1b6 log: Don't prefix message with timestamp on --debug if it's a continuation
    baccfb9 conf: Stop parsing options at first non-option argument
    09603ca passt, util: Close any open file that the parent might have leaked
    755f9fd nstool: Propagate SIGTERM to processes executed in the namespace
    5ca61c2 nstool: Fix some trivial typos
    a628cb9 log: Avoid duplicate calls to logtime()
    2c7558d log: Handle errors from clock_gettime()
    b91bae1 log: Correct formatting of timestamps
    95569e4 util: Some corrections for timespec_diff_us
    fbb0c95 conf, pasta: Make -g and -a skip route/addresses copy for matching IP version only
    ee36266 log, passt: Keep printing to stderr when passt is running in foreground
    3a082c4 tcp_splice: Fix side in OUT_WAIT flag setting
    031df33 util: Use unsigned (size_t) value for iov length
    e877f90 udp_flow: move all udp_flow functions to udp_flow.c
    623ceb1 udp_flow: Remove udp_meta_t from the parameters of udp_flow_from_sock()
    a5bbefa log: Make logfile_write() private
    f30ed68 pasta: Save errno on signal handler entry, restore on return when needed
    0149d11 pasta: modify hostname when detaching new namespace
    8fae3b7 Fix typo in README file
    f87b11c fedora/rpkg: List myself as author for changelog entries
    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-&gt;sock_path
    403a7c1 tcp_splice: Check return value of setsockopt() for SO_RCVLOWAT
    21ee1eb conf: Copy up to MAXDNSRCH - 1 bytes, not MAXDNSRCH
    1ee2eca udp: Reduce scope of rport in udp_invert_portmap()
    0546975 Revert "udp: Make rport calculation more local"
    c66f034 log: Don't report syslog failures to stderr after initialisation
    e7323e5 conf, passt: Don't call __openlog() if a log file is used
    dba7f0f treewide: Replace strerror() calls
    92a22fe treewide: Replace perror() calls with calls to logging functions
    c1140df log: Add _perror() logging function variants
    afd9cdc log, passt: Always print to stderr before initialisation is complete
    8c2f24a conf, log: Instead of abusing log levels, add log_conf_parsed flag
    bca0fef conf, passt: Make --stderr do nothing, and deprecate it
    b748016 conf, passt: Don't try to log to stderr after we close it
    65923ba conf: Accept duplicate and conflicting options, the last one wins
    62de614 netlink: Strip nexthop identifiers when duplicating routes
    1544a43 passt.1, qrap.1: align license description with SPDX identifier
    f301bb1 netlink: Ignore EHOSTUNREACH failures when duplicating routes
    450a613 netlink: With no default route, pick the first interface with a route
    54a9d38 tcp: Don't rely on bind() to fail to decide that connection target is valid
    020ff7a siphash: Remove stale prototypes
    7e87bd9 udp: Move management of udp[46]_localname into udp_splice_send()
    ff57f8d udp: Rework how we divide queued datagrams between sending methods
    63db7dc udp: Fold checking of splice flag into udp_mmh_splice_port()
    523fbc5 util: Split construction of bind socket address from the rest of sock_l4()
    4070bac tap: use in-&gt;buf_size rather than sizeof(pkt_buf)
    7290335 iov: remove iov_copy()
    0c335d7 vhost-user: compare mode MODE_PASTA and not MODE_PASST
    377b666 udp: rename udp_sock_handler() to udp_buf_sock_handler()
    e7ac995 udp: refactor UDP header update functions
    9ecf7fe tap: refactor packets handling functions
    fba2b54 tcp: move buffers management functions to their own file
    ec26fa0 tcp: extract buffer management from tcp_send_flag()
    d949667 cppcheck: Suppress constParameterCallback errors
    8a83b53 selinux: Allow access to user_devpts
    ec416fd tcp, flow: Fix some error paths which didn't clean up flows properly
    3f63743 util: Use 'long' to represent millisecond durations
    f9e8ee0 lineread: Use ssize_t for line lengths
    c919bbb conf: Safer parsing of MAC addresses
    bda80ef util: Use unsigned indices for bits in bitmaps
    0e36fe1 clang-tidy: Enable the bugprone-macro-parentheses check
    7094b91 Remove pointless macro parameters in CALL_PROTO_HANDLER
    c80fa6a udp: Make rport calculation more local
    d2afb4b tcp: Make pointer const in tcp_revert_seq
    b3aeb00 log: Remove log_to_stdout option
    7cb2088 conf: Don't print usage via the logging subsystem
    e651197 conf: Remove unhelpful usage() wrapper
    e84a01e tcp: move seq_to_tap update to when frame is queued
    765eb0b apparmor: Fix comments after PID file and AF_UNIX socket creation refactoring

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>networking: introduce passt / pasta</title>
<updated>2024-06-04T13:03:44+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2024-06-04T02:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=179ed822514b7f6afdd8a24bc84a2754e2c7d77c'/>
<id>urn:sha1:179ed822514b7f6afdd8a24bc84a2754e2c7d77c</id>
<content type='text'>
Introducing the pasta package as an alternative for non-priviledged
container networking:

https://passt.top/passt/about/

   passt: Plug A Simple Socket Transport
   passt implements a translation layer between a Layer-2 network interface and native
   Layer-4 sockets (TCP, UDP, ICMP/ICMPv6 echo) on a host. It doesn't require any
   capabilities or privileges, and it can be used as a simple replacement for Slirp.

   pasta: Pack A Subtle Tap Abstraction
   pasta (same binary as passt, different command) offers equivalent functionality,
   for network namespaces: traffic is forwarded using a tap interface inside the
   namespace, without the need to create further interfaces on the host, hence not
   requiring any capabilities or privileges.

   It also implements a tap bypass path for local connections: packets with a local
   destination address are moved directly between Layer-4 sockets, avoiding Layer-2
   translations, using the splice(2) and recvmmsg(2)/sendmmsg(2) system calls for
   TCP and UDP, respectively.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
</feed>
