ATS is retransmitting a frame even though ATS knows the packet that carried the 
original frame is acked.
 
```
[Sep 17 19:46:45.234] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | 
CRYPTO size=127 offset=0 data_len=123
[Sep 17 19:46:45.234] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | ACK 
size=5 largest_acked=0 delay=43 block_count=0 first_ack_block=0
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1151 
(_state_commo> (quic_net)                       [4c01b675-bb43ef9c] [TX] 
INITIAL packet #0 size=193
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:335 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[INITIAL] Handshake retransmission alarm will be set
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:371 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[INITIAL] Loss detection alarm has been set to 400ms
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | 
CRYPTO size=1013 offset=0 data_len=1009
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1151 
(_state_commo> (quic_net)                       [4c01b675-bb43ef9c] [TX] 
HANDSHAKE packet #0 size=1073
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:335 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Handshake retransmission alarm will be set
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:371 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Loss detection alarm has been set to 400ms
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | 
CRYPTO size=1114 offset=1009 data_len=1109
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1151 
(_state_commo> (quic_net)                       [4c01b675-bb43ef9c] [TX] 
HANDSHAKE packet #1 size=1174
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:335 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Handshake retransmission alarm will be set
[Sep 17 19:46:45.235] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:371 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Loss detection alarm has been set to 400ms
[Sep 17 19:46:45.648] {0x7f5c6e4dd700} DEBUG: <QUICNetVConnection.cc:420 
(retransmit_pa> (quic_net)                       [4c01b675-bb43ef9c] Retransmit 
HANDSHAKE packet #0
[Sep 17 19:46:45.649] {0x7f5c6e4dd700} DEBUG: <QUICNetVConnection.cc:420 
(retransmit_pa> (quic_net)                       [4c01b675-bb43ef9c] Retransmit 
HANDSHAKE packet #1
[Sep 17 19:46:45.649] {0x7f5c6e4dd700} DEBUG: <QUICCongestionController.cc:108 
(on_pack> (quic_cc)                        [4c01b675-bb43ef9c] window: 7300 
bytes: 177 ssthresh: 7300 packet lost, window changed
[Sep 17 19:46:45.649] {0x7f5c6e4dd700} DEBUG: <QUICLossDetector.cc:405 
(_on_loss_detect> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Unacked packets 0 (retransmittable 0, includes 0 handshake packets)
[Sep 17 19:46:45.649] {0x7f5c6e4dd700} DEBUG: <QUICLossDetector.cc:317 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Loss detection alarm has been unset
[Sep 17 19:46:45.655] {0x7f5c6e6de700} DEBUG: <QUICNetVConnection.cc:420 
(retransmit_pa> (quic_net)                       [4c01b675-bb43ef9c] Retransmit 
INITIAL packet #0
[Sep 17 19:46:45.655] {0x7f5c6e6de700} DEBUG: <QUICLossDetector.cc:405 
(_on_loss_detect> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[INITIAL] Unacked packets 0 (retransmittable 0, includes 0 handshake packets)
[Sep 17 19:46:45.655] {0x7f5c6e6de700} DEBUG: <QUICLossDetector.cc:317 
(_set_loss_detec> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[INITIAL] Loss detection alarm has been unset
[Sep 17 19:46:45.720] {0x7f5c6ad4d700} DEBUG: <QUICPacketHandler.cc:220 
(_recv_packet)>  (quic_sec)                       [4c01b675-deb3df54] recv LH 
packet from x.x.x.x:10276 size=1252
[Sep 17 19:46:45.722] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1572 
(_dequeue_rec> (quic_net)                       [4c01b675-bb43ef9c] [RX] 
INITIAL packet #1 size=1252
[Sep 17 19:46:45.722] {0x7f5c6cec3700} DEBUG: <QUICFrameDispatcher.cc:71 
(receive_frame> (quic_net)                       [4c01b675-bb43ef9c] [RX] | 
CRYPTO size=307 offset=0 data_len=303
[Sep 17 19:46:45.725] {0x7f5c6ad4d700} DEBUG: <QUICPacketHandler.cc:220 
(_recv_packet)>  (quic_sec)                       [4c01b675-bb43ef9c] recv LH 
packet from x.x.x.x:10276 size=66
[Sep 17 19:46:45.732] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1572 
(_dequeue_rec> (quic_net)                       [4c01b675-bb43ef9c] [RX] 
INITIAL packet #2 size=66
[Sep 17 19:46:45.732] {0x7f5c6cec3700} DEBUG: <QUICFrameDispatcher.cc:71 
(receive_frame> (quic_net)                       [4c01b675-bb43ef9c] [RX] | ACK 
size=5 largest_acked=0 delay=0 block_count=0 first_ack_block=0
[Sep 17 19:46:45.732] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:250 
(_on_ack_receive> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[INITIAL] Unacked packets 0 (retransmittable 0, includes 0 handshake packets)
[Sep 17 19:46:45.787] {0x7f5c6ad4d700} DEBUG: <QUICPacketHandler.cc:220 
(_recv_packet)>  (quic_sec)                       [4c01b675-bb43ef9c] recv LH 
packet from x.x.x.x:10276 size=120
[Sep 17 19:46:45.787] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1572 
(_dequeue_rec> (quic_net)                       [4c01b675-bb43ef9c] [RX] 
HANDSHAKE packet #0 size=120
[Sep 17 19:46:45.787] {0x7f5c6cec3700} DEBUG: <QUICFrameDispatcher.cc:71 
(receive_frame> (quic_net)                       [4c01b675-bb43ef9c] [RX] | ACK 
size=5 largest_acked=1 delay=0 block_count=0 first_ack_block=1
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICLossDetector.cc:250 
(_on_ack_receive> (quic_loss_detector)             [4c01b675-bb43ef9c] 
[HANDSHAKE] Unacked packets 0 (retransmittable 0, includes 0 handshake packets)
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICFrameDispatcher.cc:71 
(receive_frame> (quic_net)                       [4c01b675-bb43ef9c] [RX] | 
CRYPTO size=55 offset=0 data_len=52
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:98 (msg_cb)>  
         (quic_tls)                       HANDSHAKE (22), FINISHED (20)
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:163 (key_cb)> 
         (vv_quic_crypto)                 client_application_traffic
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:177 (key_cb)> 
         (vv_quic_crypto)                 
secret=29e9cbe42c57841cb1f53f902b95e7be4f4874c708def6ed447aa92bafc4ca3f000f3d7fdcab262f8f33d9eff070f801
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:179 (key_cb)> 
         (vv_quic_crypto)                 
key=80c3b5085da2f3c15dcfbb895966e91bc7a1717969a4461be91a759c531d5fa3
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:181 (key_cb)> 
         (vv_quic_crypto)                 iv=ee521631d3f2e3dc263b6536
[Sep 17 19:46:45.788] {0x7f5c6cec3700} DEBUG: <QUICTLS_openssl.cc:183 (key_cb)> 
         (vv_quic_crypto)                 
pn=04537c015be2dbeaf3f27dffdd0798791ffc3b8c5ce4a5126a2eadebd6ffdf89
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1506 
(_init_flow_c> (quic_flow_ctrl)                 [4c01b675-bb43ef9c] [LOCAL] 
0/65536
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1508 
(_init_flow_c> (quic_flow_ctrl)                 [4c01b675-bb43ef9c] [REMOTE] 
0/1048576
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <HQSessionAccept.cc:56 (accept)>  
         (hq)                             [4c01b675-bb43ef9c] accepted 
connection from x.x.x.x:10276 transport type = 6
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1751 
(_switch_to_e> (quic_net)                       [4c01b675-bb43ef9c] Enter 
state_connection_established
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1752 
(_switch_to_e> (quic_net)                       [4c01b675-bb43ef9c] Negotiated 
cipher suite: TLS_AES_256_GCM_SHA384
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICAltConnectionManager.cc:77 
(_update_> (quic_alt_con)                   [4c01b675-bb43ef9c] 
alt-cid=de7c916aacaeb3ebfb0879ce8f29cb9a6509
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICAltConnectionManager.cc:77 
(_update_> (quic_alt_con)                   [4c01b675-bb43ef9c] 
alt-cid=affe93cd86822b16bc43d964c2d1c821a057
[Sep 17 19:46:45.789] {0x7f5c6cec3700} DEBUG: <QUICAltConnectionManager.cc:77 
(_update_> (quic_alt_con)                   [4c01b675-bb43ef9c] 
alt-cid=3c9d6ea7c5000a4f33e728747d9b60c538fc
[Sep 17 19:46:45.803] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | 
CRYPTO size=127 (retransmission)
[Sep 17 19:46:45.803] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1238 
(_store_frame> (quic_net)                       [4c01b675-bb43ef9c] [TX] | ACK 
size=6 largest_acked=2 delay=8863 block_count=0 first_ack_block=1
[Sep 17 19:46:45.803] {0x7f5c6cec3700} DEBUG: <QUICNetVConnection.cc:1151 
(_state_commo> (quic_net)                       [4c01b675-bb43ef9c] [TX] 
INITIAL packet #1 size=194
```

Because the retransmission of packets is scheduled when ATS detects packet loss 
and it won't be cancelled, the packets will be retransmitted even if ATS 
receive delayed ACK for the packet.

The retransmitted frames would be dropped on the peer so it won't be a problem, 
but not sure whether we have to do this retransmission.

[ Full content available at: 
https://github.com/apache/trafficserver/issues/4255 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to