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, <[email protected]> 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 <[email protected]> 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 <vjkumar2003= > [email protected]> 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 LISTEN >> 0 0 >> Thread 0: active sessions 1 >> Thread 1: no sessions >> >> >> >> > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#21028): https://lists.fd.io/g/vpp-dev/message/21028 Mute This Topic: https://lists.fd.io/mt/89793823/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
