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> 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 (#21026): https://lists.fd.io/g/vpp-dev/message/21026
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