Hi Vijay, 

You won’t see the syn/syn-acks in traces because of the way they are generated. 
Nonetheless, you can verify that the syns were received with “show error” and 
check that the syn-acks were actually generated with a pcap trace rxtx <output 
interface>

Previously tracing worked because buffers were re-used and incoming packets 
were directly sent to output. More recently we’ve started dispatching syn-acks 
through the session layer in order to minimize size of tx bursts per dispatch. 

Regards,
Florin

> On Mar 15, 2022, at 6:08 PM, Vijay Kumar <vjkumar2...@gmail.com> wrote:
> 
> Hi Florin,
> 
> Thanks for the quick response.
> 
> It means it is expected to see the SYN pkts getting dropped after it is 
> terminated but I was not able to see any SYN-ACK going out of VPP. 
> 
> In both, "show trace" cmd output and also the pcap taken at dspatch graph 
> node level, I was not able to see the SYN-ACK going out.  The route to the 
> SYN-ACK destination (which is the original source that started SYN) is also 
> present in the ip fib output. The configuration is the same that was working 
> fine for me in vp 20.05. 
> 
> Is there anything that I can look at for the SYN-ACK not sending issue?
> 
> 
> 
> On Wed, 16 Mar 2022, 00:40 Florin Coras, <fcoras.li...@gmail.com 
> <mailto:fcoras.li...@gmail.com>> wrote:
> Hi Vijay, 
> 
> I see an_ppe_router_input forwards syns to tcp-input and those packets are 
> delivered to tcp-listen, i.e., you’ve created a listener that’s matched by 
> the incoming traffic. 
> 
> The thing to keep in mind is that tcp terminates incoming flows and it does 
> not reuse buffers. That is, the syn hits the listen node and a syn-ack is 
> programmed for this new connection that still needs to complete the 
> handshake. The original syn packet is discarded and therefore you see it as a 
> drop. 
> 
> Regards, 
> Florin 
> 
>> On Mar 15, 2022, at 3:50 AM, Vijay Kumar <vjkumar2...@gmail.com 
>> <mailto:vjkumar2...@gmail.com>> wrote:
>> 
>> The is the output of show trace and show interface
>> ============================================
>> 
>> Packet 36
>> 
>> 00:03:26:875694: dpdk-input
>>   VirtualFuncEthernet0/7/0 rx queue 0
>>   buffer 0x4c1b21: current data 0, length 138, buffer-pool 0, ref-count 1, 
>> totlen-nifb 0, trace handle 0x1000023
>>                    ext-hdr-valid 
>>                    l4-cksum-computed l4-cksum-correct 
>>   PKT MBUF: port 0, nb_segs 1, pkt_len 138
>>     buf_len 2176, data_len 138, ol_flags 0x182, data_off 128, phys_addr 
>> 0xc266c8c0
>>     packet_type 0x691 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
>>     rss 0xde0c21da fdir.hi 0x0 fdir.lo 0xde0c21da
>>     Packet Offload Flags
>>       PKT_RX_RSS_HASH (0x0002) RX packet with RSS hash result
>>       PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
>>       PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid
>>     Packet Types
>>       RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
>>       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN (0x0090) IPv4 packet with or without 
>> extension headers
>>       RTE_PTYPE_L4_NONFRAG (0x0600) Non-fragmented IP packet
>>   IP4: fa:16:3e:4b:6b:42 -> fa:16:3e:97:04:19 802.1q vlan 1556
>>   IPSEC_ESP: 20.20.99.215 -> 80.80.80.80
>>     tos 0x00, ttl 64, length 120, checksum 0x21c9 dscp CS0 ecn NON_ECN
>>     fragment id 0x0000, flags DONT_FRAGMENT
>> 00:03:26:875702: ethernet-input
>>   frame: flags 0x3, hw-if-index 3, sw-if-index 3
>>   IP4: fa:16:3e:4b:6b:42 -> fa:16:3e:97:04:19 802.1q vlan 1556
>> 00:03:26:875708: ip4-input
>>   IPSEC_ESP: 20.20.99.215 -> 80.80.80.80
>>     tos 0x00, ttl 64, length 120, checksum 0x21c9 dscp CS0 ecn NON_ECN
>>     fragment id 0x0000, flags DONT_FRAGMENT
>> 00:03:26:875714: ip4-lookup
>>   fib 2 dpo-idx 27 flow hash: 0x00000000
>>   IPSEC_ESP: 20.20.99.215 -> 80.80.80.80
>>     tos 0x00, ttl 64, length 120, checksum 0x21c9 dscp CS0 ecn NON_ECN
>>     fragment id 0x0000, flags DONT_FRAGMENT
>> 00:03:26:875715: ip4-local
>>     IPSEC_ESP: 20.20.99.215 -> 80.80.80.80
>>       tos 0x00, ttl 64, length 120, checksum 0x21c9 dscp CS0 ecn NON_ECN
>>       fragment id 0x0000, flags DONT_FRAGMENT
>> 00:03:26:875717: ipsec4-tun-input
>>   IPSec: remote:20.20.99.215 spi:4213 (0x00001075) sa:1 tun:0 seq 1 sa 
>> -2029505104
>> 00:03:26:875719: esp4-decrypt-tun
>>   esp: crypto aes-cbc-256 integrity sha1-96 pkt-seq 1 sa-seq 1 sa-seq-hi 0
>> 00:03:26:875801: ip4-input-no-checksum
>>   TCP: 44.44.44.44 -> 30.30.30.30
>>     tos 0x00, ttl 64, length 60, checksum 0x3cfa dscp CS0 ecn NON_ECN
>>     fragment id 0x692e, flags DONT_FRAGMENT
>>   TCP: 45723 -> 1234
>>     seq. 0x119d35d0 ack 0x00000000
>>     flags 0x02 SYN, tcp header: 40 bytes
>>     window 64240, checksum 0xd6be
>> 00:03:26:875803: ip4-lookup
>>   fib 2 dpo-idx 25 flow hash: 0x00000000
>>   TCP: 44.44.44.44 -> 30.30.30.30
>>     tos 0x00, ttl 64, length 60, checksum 0x3cfa dscp CS0 ecn NON_ECN
>>     fragment id 0x692e, flags DONT_FRAGMENT
>>   TCP: 45723 -> 1234
>>     seq. 0x119d35d0 ack 0x00000000
>>     flags 0x02 SYN, tcp header: 40 bytes
>>     window 64240, checksum 0xd6be
>> 00:03:26:875803: ip4-local
>>     TCP: 44.44.44.44 -> 30.30.30.30
>>       tos 0x00, ttl 64, length 60, checksum 0x3cfa dscp CS0 ecn NON_ECN
>>       fragment id 0x692e, flags DONT_FRAGMENT
>>     TCP: 45723 -> 1234
>>       seq. 0x119d35d0 ack 0x00000000
>>       flags 0x02 SYN, tcp header: 40 bytes
>>       window 64240, checksum 0xd6be
>> 00:03:26:875805: an_ppe_router_input
>>   AN_PPE_ROUTER_INPUT: sw_if_index 1, next index 3
>> 
>> 00:03:26:875819: tcp4-input
>>   [0:0][T] :::0->:::0 state CLOSED
>>   TCP: 45723 -> 1234
>>     seq. 0x119d35d0 ack 0x00000000
>>     flags 0x02 SYN, tcp header: 40 bytes
>>     window 64240, checksum 0xd6be
>> 00:03:26:875826: tcp4-listen
>>   1234 -> 45723 (LISTEN)
>> 
>> 
>> Interface details
>> ====================
>> vpp# show interface 
>>               Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     
>> Counter          Count     
>> VirtualFuncEthernet0/7/0          3      up          1500/0/0/0     rx 
>> packets                  3922
>>                                                                     rx bytes 
>>                  239610
>>                                                                     tx 
>> packets                    17
>>                                                                     tx bytes 
>>                    6704
>>                                                                     drops    
>>                    3914
>> VirtualFuncEthernet0/7/0.1557     13     up          1500/0/0/0     
>> VirtualFuncEthernet0/7/0.1556     14     up          1500/0/0/0     rx 
>> packets                    22
>>                                                                     rx bytes 
>>                    5130
>>                                                                     tx 
>> packets                    17
>>                                                                     tx bytes 
>>                    6704
>>                                                                     drops    
>>                      14
>>                                                                     ip4      
>>                      19
>> VirtualFuncEthernet0/8/0          4     down         9000/0/0/0     
>> gre1                              2      up          9000/0/0/0     
>> ipip0                             1      up          9000/0/0/0     rx 
>> packets                     5
>>                                                                     rx bytes 
>>                     500
>>                                                                     ip4      
>>                       5
>> local0                            0     down          0/0/0/0       
>> loop2                             8      up          9000/0/0/0     
>> loop3                             9      up          9000/0/0/0     
>> loop4                             10     up          9000/0/0/0     
>> loop5                             11     up          9000/0/0/0     
>> loop6                             12     up          9000/0/0/0     
>> memif0/0                          5      up         0/65535/0/0     rx 
>> packets                  1036
>>                                                                     rx bytes 
>>                67766832
>>                                                                     tx 
>> packets                  1049
>>                                                                     tx bytes 
>>                67822842
>>                                                                     drops    
>>                       2
>>                                                                     ip4      
>>                    1036
>> memif128/0                        6      up         0/65535/0/0     
>> memif192/0                        7      up         0/65535/0/0     
>> memif210/0                        15     up         0/65535/0/0     
>> memif210/1                        16     up         0/65535/0/0     
>> vpp# 
>> vpp# 
>> 
>> On Tue, Mar 15, 2022 at 2:32 PM Vijay Kumar via lists.fd.io 
>> <http://lists.fd.io/> <vjkumar2003=gmail....@lists.fd.io 
>> <mailto:gmail....@lists.fd.io>> wrote:
>> Hi experts,
>> 
>> I recently integrated vpp stack 21.06 and am running my NAS TCP protocol 
>> test cases. The pcap dispatch trace that I captured shows  the TCP SYN 
>> packets are coming to tcp-input() and then to tcp-listen() but from here 
>> pkts are dropped instead of going to tcp-output() graph nodes for sending 
>> the SYN-ACK
>> 
>> NOTE
>> =========
>> The session layer is enabled and the TCP listen IP/port is also showing in 
>> the session verbose command.
>> 
>> The same test case used to work fine in the VPP 20.05. Am I missing anything?
>> Let me know if there is anything I need to look at.
>> 
>> vpp# show session verbose
>> Connection                                                  State          
>> Rx-f      Tx-f      
>> [0:0][T] 30.30.30.30:1234->0.0.0.0:0 <http://0.0.0.0:0/>                     
>>    LISTEN         0         0         
>> Thread 0: active sessions 1
>> Thread 1: no sessions
>> 
>> 
>> 
>> 
>> 
>> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#21029): https://lists.fd.io/g/vpp-dev/message/21029
Mute This Topic: https://lists.fd.io/mt/89793823/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to