Hello,

It turned out that the problem was caused by the checksum offload set on 
virtual interfaces on the sender side.
The workaround is to set the following on host A:
docker exec rvm-tester ethtool -K eth0 tx off

So, it's definitely NOT a vpp fault. Sorry for bothering you with this issue.

--
Regards,
Laszlo Kiraly

________________________________
From: Laszlo Király
Sent: Tuesday, January 11, 2022 4:31 PM
To: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>
Subject: vlan tag rewrite failure on traffic (other side is a kernel vlan 
interface)

Hello,

I am facing a problem using VLAN tag rewrite functionality on VPP.

The communication between a kernel vlan interface and a VPP VLAN sub-interface 
fails. The ICMP is working but TCP/UDP packets are dropped by the kernel (just 
one side - see the test description)

Find attached the detailed topology, test details, the reproduction 
instructions, vpp version and 'show' commands output and tcpdump capture files 
as well.

Please advise me with the way forward:
- It can be a configuration problem - what should be changed?
- Might be a fault in kernel checksum (has a low chance, but can happen)
- Can be a fault in VPP tag rewrite - can I raise a ticket? Do you need 
additional information?


1. Network Topology
 See attached file: topo.txt

2. Test Description

The 'Host A' should reach the 'Host B' by eth1.100 and respectively veth1 
interfaces. The 'ping' works, but when trying to establish a TCP connection 
(ncat/iperf) the connection fails.
2/A Client is on 'Host A'
    Based on captured trace the SYN arrives to veth1 but it is dropped and does 
not reach the server listening on 'host B', 'orange' nw namespace.

2/B Client is on 'Host B', 'orange' namespace
    Based on trace the SYN is received and replied by the server on 'Host A'. 
The SYN ACK can be seen in tcpdump, but dropped by the kernel.

Seems that the case when VPP adding VLAN tag to the packet is working but when 
removing the VLAN tag from the packet the kernel drops the packet.

Based on kernel statistics the TcpInCsumErrors counter increasing, however the 
VLAN is on ethernet level.

3. Reproduction Steps

See attached file: test-vtr-tcpfailure.txt

4. VPP Version and 'show' Command Outputs

See attached file: test-vtr-cmds.txt

5. Capture Files

Tcpdump captures:
ext-in-tcp-failure-sut-eth1.pcap
ext-in-tcp-failure-sut-veth1.pcap
ext-in-tcp-failure-tester.pcap
out-tcp-failure-sut-eth1.pcap
out-tcp-failure-sut-veth1.pcap
out-tcp-failure-tester.pcap

--
Laszlo Kiraly
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20733): https://lists.fd.io/g/vpp-dev/message/20733
Mute This Topic: https://lists.fd.io/mt/88351189/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