public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: Paul Holzinger <pholzing@redhat.com>
Cc: passt-dev@passt.top, Jon Maloy <jmaloy@redhat.com>
Subject: Re: [PATCH 0/6] tcp: Fixes for issues uncovered by tests with 6.17-rc1 kernels
Date: Mon, 18 Aug 2025 23:58:04 +0200	[thread overview]
Message-ID: <20250818235804.03403456@elisabeth> (raw)
In-Reply-To: <9f68836b-4a5c-4228-9849-6f5103851be3@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 7827 bytes --]

On Mon, 18 Aug 2025 19:40:39 +0200
Paul Holzinger <pholzing@redhat.com> wrote:

> Hi,
> 
> On 15/08/2025 18:10, Stefano Brivio wrote:
> > Starting from Linux kernel commit 1d2fbaad7cd8 ("tcp: stronger
> > sk_rcvbuf checks"), window limits are enforced more aggressively with
> > a bigger amount of zero-window updates compared to what happened with
> > e2142825c120 ("net: tcp: send zero-window ACK when no memory") alone,
> > and occasional duplicate ACKs can now be seen also for local transfers
> > with default (208 KiB) socket buffer sizes.
> >
> > Paul reports that, with 6.17-rc1-ish kernels, Podman tests for the
> > pasta integration occasionally fail on the "TCP/IPv4 large transfer,
> > tap" case.
> >
> > While playing with a reproducer that seems to be matching those
> > failures:
> >
> >    while true; do ./pasta --trace -l /tmp/pasta.log -p /tmp/pasta.pcap --config-net -t 5555 -- socat TCP-LISTEN:5555 OPEN:/tmp/large.rcv,trunc & (sleep 0.3; socat -T2 OPEN:large.bin TCP:88.198.0.164:5555; ); wait; diff large.bin /tmp/large.rcv || break; done
> >
> > and a kernel including that commit, I hit a few different failures,
> > that should be fixed by this series.
> >
> > Stefano Brivio (6):
> >    tcp: FIN flags have to be retransmitted as well
> >    tcp: Factor sequence rewind for retransmissions into a new function
> >    tcp: Rewind sequence when guest shrinks window to zero
> >    tcp: Fix closing logic for half-closed connections
> >    tcp: Don't try to transmit right after the peer shrank the window to
> >      zero
> >    tcp: Fast re-transmit if half-closed, make TAP_FIN_RCVD path
> >      consistent
> >
> >   tcp.c | 170 ++++++++++++++++++++++++++++++++++++++++------------------
> >   1 file changed, 118 insertions(+), 52 deletions(-)  
> I applied the series in my test VM and run the reproducer from the 
> podman tests where I noticed the flake.
> 
> It failed after about 10mins and then when I enabled pasta trace logs 
> and tcpdump captures then it took 208 mins for me to reproduce so it 
> doesn't seem to fix the issue I am seeing.
> 
> I did send the pasta log/pcap files in private to Stefano for further 
> debugging.

Here's a quick summary of the issue by the way, if somebody is curious.
Excerpt of packet capture and pasta.log attached as well. Commented
capture:

$ tshark -r pasta-container.pcap -td -Y 'frame.number in { 345 .. 369 }'
  345   0.000018 192.168.122.100 → 169.254.1.2  60 TCP 5978 → 51626
[ACK] Seq=1 Ack=10086371 Win=140288 Len=0 346   0.000014  169.254.1.2 → 192.168.122.100 65540 TCP 51626 → 5978 [PSH, ACK] Seq=10086371 Ack=1 Win=65536 Len=65480 
  347   0.000024  169.254.1.2 → 192.168.122.100 740 TCP 51626 → 5978 [PSH, ACK] Seq=10151851 Ack=1 Win=65536 Len=680 
  348   0.000031  169.254.1.2 → 192.168.122.100 65540 TCP 51626 → 5978 [PSH, ACK] Seq=10152531 Ack=1 Win=65536 Len=65480 
  349   0.000032  169.254.1.2 → 192.168.122.100 8708 TCP [TCP Window Full] 51626 → 5978 [PSH, ACK] Seq=10218011 Ack=1 Win=65536 Len=8648 
  350   0.000005 192.168.122.100 → 169.254.1.2  60 TCP 5978 → 51626 [ACK] Seq=1 Ack=10218011 Win=8704 Len=0 
  351   0.000128 192.168.122.100 → 169.254.1.2  60 TCP 5978 → 51626 [ACK] Seq=1 Ack=10226659 Win=65536 Len=0 
  352   0.000051  169.254.1.2 → 192.168.122.100 116 TCP 51626 → 5978 [PSH, ACK] Seq=10226659 Ack=1 Win=65536 Len=56 
  353   0.000038  169.254.1.2 → 192.168.122.100 65540 TCP [TCP Window Full] 51626 → 5978 [PSH, ACK] Seq=10226715 Ack=1 Win=65536 Len=65480 
  354   0.000021 192.168.122.100 → 169.254.1.2  60 TCP [TCP ZeroWindow] 5978 → 51626 [ACK] Seq=1 Ack=10292195 Win=0 Len=0 
  355   0.000122 192.168.122.100 → 169.254.1.2  60 TCP [TCP Window Update] 5978 → 51626 [ACK] Seq=1 Ack=10292195 Win=110592 Len=0 
  356   0.000067  169.254.1.2 → 192.168.122.100 65540 TCP 51626 → 5978 [PSH, ACK] Seq=10292195 Ack=1 Win=65536 Len=65480 
  357   0.000031  169.254.1.2 → 192.168.122.100 45172 TCP [TCP Window Full] 51626 → 5978 [PSH, ACK] Seq=10357675 Ack=1 Win=65536 Len=45112 
  358   0.000038 192.168.122.100 → 169.254.1.2  60 TCP [TCP ZeroWindow] 5978 → 51626 [ACK] Seq=1 Ack=10357675 Win=0 Len=0 
  359   0.000023 192.168.122.100 → 169.254.1.2  60 TCP [TCP Window Update] 5978 → 51626 [ACK] Seq=1 Ack=10357675 Win=69632 Len=0 
  360   0.000037  169.254.1.2 → 192.168.122.100 65540 TCP [TCP Out-Of-Order] 51626 → 5978 [PSH, ACK] Seq=10357675 Ack=1 Win=65536 Len=65480 

...so far so good. What tshark marks as out-of-order is a result of the
kernel shrinking the window and us retransmitting from there (that's patch
3/6). Then this happens:

--

  361   0.000018  169.254.1.2 → 192.168.122.100 4212 TCP [TCP Window Full] 51626 → 5978 [PSH, ACK] Seq=10423155 Ack=1 Win=65536 Len=4152 

- we send some data

--

  362   0.000036 192.168.122.100 → 169.254.1.2  60 TCP [TCP ZeroWindow] 5978 → 51626 [ACK] Seq=1 Ack=10423155 Win=0 Len=0 

- the kernel shrinks the window: according to frame #359, we could send up
  to sequence byte 10357675 + 69632 = 10427307, and so we did that in frame
  #361 (10423155 + 4152 = 10427307), but now that's "too much" (this looks
  pathological and maybe we should have a second / third / fourth attempt
  at trying to fix the kernel...)

--

  363   0.000066  169.254.1.2 → 192.168.122.100 62666 TCP [TCP Out-Of-Order] 51626 → 5978 [PSH, ACK] Seq=10423155 Ack=1 Win=65536 Len=62606 

- we have more data from the socket, corresponding pasta.log excerpt:

0.8967:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8967:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8968:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS dropped
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8968:          Flow 0 (TCP connection): timer expires in 2.000s

  and we decide to send some, out of window. This is intended. However:

--

  364   0.000006 192.168.122.100 → 169.254.1.2  60 TCP [TCP ZeroWindow] 5978 → 51626 [ACK] Seq=1 Ack=10423155 Win=0 Len=0 

...the kernel didn't reopen the window yet

--

  365   0.000058  169.254.1.2 → 192.168.122.100 60 TCP 51626 → 5978 [FIN, PSH, ACK] Seq=10485761 Ack=1 Win=65536 Len=0 

but we send a FIN with an updated sequence (this looks wrong):

0.8968:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8968:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8968:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1195
0.8968:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1201
0.8968:          Flow 0 (TCP connection): timer expires in 2.000s
0.8968:          Flow 0 (TCP connection): event at tcp_buf_data_from_sock:379
0.8968:          Flow 0 (TCP connection): TAP_FIN_SENT: CLOSE_WAIT -> LAST_ACK

--

  366   0.000003 192.168.122.100 → 169.254.1.2  60 TCP [TCP ZeroWindow] 5978 → 51626 [ACK] Seq=1 Ack=10423155 Win=0 Len=0 

same as before...

--

  367   0.000021 192.168.122.100 → 169.254.1.2  60 TCP [TCP Window Update] 5978 → 51626 [ACK] Seq=1 Ack=10423155 Win=73216 Len=0 
  368   0.000119 192.168.122.100 → 169.254.1.2  60 TCP [TCP Window Update] 5978 → 51626 [ACK] Seq=1 Ack=10423155 Win=155136 Len=0 

and finally we have window updates, but we're in LAST_ACK and for whatever
reason we never send the missing data. Things time out after two minutes.

--

I guess I missed to rewind the sequence in some cases where the window
shrinks, or something else to that effect.

-- 
Stefano

[-- Attachment #2: pasta-container-end.pcap.gz --]
[-- Type: application/gzip, Size: 128892 bytes --]

[-- Attachment #3: pasta-end.log --]
[-- Type: text/x-log, Size: 13804 bytes --]

0.8960:          pasta: epoll event on connected TCP socket 81 (events: 0x00000001)
0.8960:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8960:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8960:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8960:          Flow 0 (TCP connection): timer expires in 2.000s
0.8961:          pasta: epoll event on connected TCP socket 81 (events: 0x00000001)
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8961:          Flow 0 (TCP connection): timer expires in 2.000s
0.8961:          pasta: epoll event on connected TCP socket 81 (events: 0x00000001)
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:314
0.8961:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:315
0.8961:          Flow 0 (TCP connection): STALLED
0.8961:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:316
0.8961:          Flow 0 (TCP connection): timer expires in 2.000s
0.8961:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8961:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8961:          Flow 0 (TCP connection): packet length 20 from tap
0.8962:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1093
0.8962:          Flow 0 (TCP connection): timer expires in 2.000s
0.8962:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8962:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8962:          Flow 0 (TCP connection): STALLED dropped
0.8962:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8962:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8962:          Flow 0 (TCP connection): SOCK_FIN_RCVD: ESTABLISHED -> CLOSE_WAIT
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8963:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS dropped
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8963:          Flow 0 (TCP connection): timer expires in 2.000s
0.8963:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8963:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8963:          Flow 0 (TCP connection): packet length 20 from tap
0.8963:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1093
0.8963:          Flow 0 (TCP connection): timer expires in 2.000s
0.8963:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8963:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8963:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8963:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8963:          Flow 0 (TCP connection): timer expires in 2.000s
0.8963:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8963:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:314
0.8963:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:315
0.8963:          Flow 0 (TCP connection): STALLED
0.8963:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:316
0.8963:          Flow 0 (TCP connection): timer expires in 2.000s
0.8963:          pasta: epoll event on connected TCP socket 81 (events: 0x00002000)
0.8963:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8963:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8963:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8963:          Flow 0 (TCP connection): packet length 20 from tap
0.8963:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1088
0.8963:          Flow 0 (TCP connection): ACK_FROM_TAP_DUE dropped
0.8963:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8963:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8964:          Flow 0 (TCP connection): STALLED dropped
0.8964:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8964:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8964:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:314
0.8964:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:315
0.8964:          Flow 0 (TCP connection): STALLED
0.8964:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:316
0.8964:          Flow 0 (TCP connection): ACK_FROM_TAP_DUE
0.8964:          Flow 0 (TCP connection): timer expires in 2.000s
0.8964:          pasta: epoll event on connected TCP socket 81 (events: 0x00002000)
0.8964:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8965:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8965:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8965:          Flow 0 (TCP connection): packet length 20 from tap
0.8965:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1088
0.8965:          Flow 0 (TCP connection): ACK_FROM_TAP_DUE dropped
0.8965:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8965:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8965:          Flow 0 (TCP connection): STALLED dropped
0.8965:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8965:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8965:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS dropped
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8965:          Flow 0 (TCP connection): ACK_FROM_TAP_DUE
0.8965:          Flow 0 (TCP connection): timer expires in 2.000s
0.8965:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8965:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8965:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8965:          Flow 0 (TCP connection): timer expires in 2.000s
0.8966:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8966:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:314
0.8966:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:315
0.8966:          Flow 0 (TCP connection): STALLED
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:316
0.8966:          Flow 0 (TCP connection): timer expires in 2.000s
0.8966:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8966:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8966:          Flow 0 (TCP connection): packet length 20 from tap
0.8966:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1093
0.8966:          Flow 0 (TCP connection): timer expires in 2.000s
0.8966:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8966:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8966:          Flow 0 (TCP connection): STALLED dropped
0.8966:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8966:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8966:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS dropped
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8966:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8966:          Flow 0 (TCP connection): timer expires in 2.000s
0.8966:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8966:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8966:          Flow 0 (TCP connection): packet length 20 from tap
0.8966:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8966:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8967:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8967:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8967:          Flow 0 (TCP connection): timer expires in 2.000s
0.8967:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8967:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:314
0.8967:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:315
0.8967:          Flow 0 (TCP connection): STALLED
0.8967:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:316
0.8967:          Flow 0 (TCP connection): timer expires in 2.000s
0.8967:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8967:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8967:          Flow 0 (TCP connection): packet length 20 from tap
0.8967:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1093
0.8967:          Flow 0 (TCP connection): timer expires in 2.000s
0.8967:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8967:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8967:          Flow 0 (TCP connection): STALLED dropped
0.8967:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8967:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:393
0.8968:          Flow 0 (TCP connection): ACK_FROM_TAP_BLOCKS dropped
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:394
0.8968:          Flow 0 (TCP connection): flag at tcp_buf_data_from_sock:418
0.8968:          Flow 0 (TCP connection): timer expires in 2.000s
0.8968:          pasta: epoll event on connected TCP socket 81 (events: 0x00002001)
0.8968:          Flow 0 (TCP connection): event at tcp_sock_handler:2416
0.8968:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1195
0.8968:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1201
0.8968:          Flow 0 (TCP connection): timer expires in 2.000s
0.8968:          Flow 0 (TCP connection): event at tcp_buf_data_from_sock:379
0.8968:          Flow 0 (TCP connection): TAP_FIN_SENT: CLOSE_WAIT -> LAST_ACK
0.8968:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8968:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8968:          Flow 0 (TCP connection): packet length 20 from tap
0.8968:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8968:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8968:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8969:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8969:          Flow 0 (TCP connection): packet length 20 from tap
0.8969:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1088
0.8969:          Flow 0 (TCP connection): ACK_FROM_TAP_DUE dropped
0.8969:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8969:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8969:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8969:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8969:          Flow 0 (TCP connection): packet length 20 from tap
0.8969:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1088
0.8969:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8969:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.8970:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
0.8970:          tap: protocol 6, 192.168.122.100:5978 -> 169.254.1.2:51626 (1 packet)
0.8970:          Flow 0 (TCP connection): packet length 20 from tap
0.8970:          Flow 0 (TCP connection): flag at tcp_update_seqack_from_tap:1088
0.8970:          Flow 0 (TCP connection): flag at tcp_prepare_flags:1143
0.8970:          Flow 0 (TCP connection): flag at tcp_tap_handler:2136
0.9880:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)
2.0120:          pasta: epoll event on /dev/net/tun device 9 (events: 0x00000001)

      reply	other threads:[~2025-08-18 21:58 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-15 16:10 [PATCH 0/6] tcp: Fixes for issues uncovered by tests with 6.17-rc1 kernels Stefano Brivio
2025-08-15 16:10 ` [PATCH 1/6] tcp: FIN flags have to be retransmitted as well Stefano Brivio
2025-08-18  2:43   ` David Gibson
2025-08-15 16:10 ` [PATCH 2/6] tcp: Factor sequence rewind for retransmissions into a new function Stefano Brivio
2025-08-18  2:46   ` David Gibson
2025-08-15 16:10 ` [PATCH 3/6] tcp: Rewind sequence when guest shrinks window to zero Stefano Brivio
2025-08-18  2:49   ` David Gibson
2025-08-15 16:10 ` [PATCH 4/6] tcp: Fix closing logic for half-closed connections Stefano Brivio
2025-08-18  2:52   ` David Gibson
2025-08-15 16:10 ` [PATCH 5/6] tcp: Don't try to transmit right after the peer shrank the window to zero Stefano Brivio
2025-08-18  2:56   ` David Gibson
2025-08-18 17:06     ` Stefano Brivio
2025-08-19  0:55       ` David Gibson
2025-08-15 16:10 ` [PATCH 6/6] tcp: Fast re-transmit if half-closed, make TAP_FIN_RCVD path consistent Stefano Brivio
2025-08-18  3:04   ` David Gibson
2025-08-18 17:40 ` [PATCH 0/6] tcp: Fixes for issues uncovered by tests with 6.17-rc1 kernels Paul Holzinger
2025-08-18 21:58   ` Stefano Brivio [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250818235804.03403456@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=jmaloy@redhat.com \
    --cc=passt-dev@passt.top \
    --cc=pholzing@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).