Hi Mojtaba,
Following up on your earlier thread, did you get a chance to see if IOAM decap
is failing?
Perhaps we can get on a quick webex on Monday and resolve this?
Thanks,
Shwetha
From: <vpp-dev@lists.fd.io> on behalf of "mojtaba.eshghi"
<mojtaba.esh...@ut.ac.ir>
Date: Friday, August 2, 2019 at 1:40 PM
To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Subject: [vpp-dev] Checksum errors in using VPP in i-OAM with iperf3 and
af-packet-input #vpp #vppwithoutdpdk
Hey Guys,
I'm trying to use iperf3 to generate traffic for a container networking
environment. Inside the middle-box containers I have VPP and I am using i-OAM
functionality of VPP. This is my topology:
[cid:attach_0_15B70CC6869D766D_3252@lists.fd.io]
In i-OAM mode, when I try to ping6 the host2 from host1, everyting is OK. The
problem arises when I use iperf3 to generate and measure traffic inside host1
to host2. I have used the iperf3 in this scenario without i-OAM and everything
is working perfectly. But when I enable i-OAM, iperf does not work and the
first VPP in the container chain crashes. I hopped into gdb to see where does
VPP crash and I found this assertion line:
https://github.com/FDio/vpp/blob/master/src/vnet/ip/ip6_forward.c#L944
Of course I tried to comment it at first, but this is not a cure... .
I tried tcpdump in host1 (where the iperf3 client is) and I get this for the
iperf3:
09:44:55.461459 IP6 (flowlabel 0xcf402, hlim 64, next-header TCP (6) payload
length: 40) db00::2.49028 > db03::2.3291: Flags [S], cksum 0xb636 (incorrect ->
0xc7d8), seq 2803263867, win 28800, options [mss 1440,sackOK,TS val 61110557
ecr 0,nop,wscale 7], length 0
09:44:56.460147 IP6 (flowlabel 0xcf402, hlim 64, next-header TCP (6) payload
length: 40) db00::2.49028 > db03::2.3291: Flags [S], cksum 0xb636 (incorrect ->
0xc6de), seq 2803263867, win 28800, options [mss 1440,sackOK,TS val 61110807
ecr 0,nop,wscale 7], length 0
09:44:58.464156 IP6 (flowlabel 0xe615f, hlim 64, next-header TCP (6) payload
length: 40) db00::2.49028 > db03::2.3291: Flags [S], cksum 0xb636 (incorrect ->
0xc4e9), seq 2803263867, win 28800, options [mss 1440,sackOK,TS val 61111308
ecr 0,nop,wscale 7], length 0
Checksum errors..., I'm still trying to find out what is the source of the
problem. Do you guys have any idea?
The i-OAM configuration of the first router (encapsulating router):
[cid:attach_1_15B70CC6869FD7F5_3252@lists.fd.io]
The i-oam configs of the second router (transit router):
[cid:attach_2_15B70CC686A15553_3252@lists.fd.io]
The i-oam configs of the third router (decap router):
[cid:attach_3_15B70CC686A1B6A2_3252@lists.fd.io]
The iperf3 command used at server and client are:
iperf3 -B db03::2 -s -6 -p 3291
iperf3 -c db03::2 -6 -u -p 3291 -b 1m -l 1024
The interfaces are also working in rx-mode polling.
Thanks
--- Begin Message ---
Hi Mojtaba,
I suspect that this is due to IOAM decap being broken in 18.01+. Removal of
IOAM metadata added at the IOAM decap node depends on the ACL match whose
result is checked during v6 hbh processing. If decap fails IOAM options are
leaked to host2 in the setup below. Linux kernel network stack drops the
packets when it sees the unknown HbH options. Can you confirm with tcpdump in
the host2 to see if the packets containing IOAM are seen?
I had tried a temporary fix to overcome this that I haven’t up-streamed – you
could try these diffs.
I am in transit/time-off at the moment and can try the setup on the latest
later this week. Meanwhile if you get to try this please share the results.
Thanks,
Shwetha
From: <vpp-dev@lists.fd.io> on behalf of "mojtaba.esh...@ut.ac.ir"
<mojtaba.esh...@ut.ac.ir>
Date: Sunday, July 28, 2019 at 10:58 PM
To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Subject: [vpp-dev] The correct usage of "classify table" and "classify session"
for IOAM traffic
[Edited Message Follows]
Hi,
I'm trying to extend the usage of the following configuration to use iperf:
https://github.com/CiscoDevNet/iOAM/tree/master/scripts/vpp_sandbox/example/simple-ip6
The current problem is with the acls. Which are defined this way:
set ioam-trace profile trace-type 0x9 trace-elts 3 trace-tsp 2 node-id 0x3
classify table miss-next ip6-node ip6-lookup mask l3 ip6 dst
classify session acl-hit-next ip6-node ip6-lookup table-index 0 match l3 ip6
dst db03::02 ioam-decap flow1
set int input acl intfc host-l_c2 ip6-table 0
set int input acl intfc host-l_c1 ip6-table 0
The end-to-end ping6 works fine, but iperf doesn't work. When I don't use the
mentioned acls and classifications, both iperf and ping work properly (but of
course the ioam in this case does not work).
Does anyone know how can I properly classify the traffic to apply the ioam?
There are examples in https://docs.fd.io/vpp/18.04/ioam_plugin_doc.html.
However, as I said they just work for the ping and not for any type of L4
traffic (the current config files are similar to what is prescribed in these
docs).
I'm using the stable release 18.01
Best Regards,
Mojtaba
--- End Message ---
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13654): https://lists.fd.io/g/vpp-dev/message/13654
Mute This Topic: https://lists.fd.io/mt/32688420/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452
Mute #vppwithoutdpdk:
https://lists.fd.io/mk?hashtag=vppwithoutdpdk&subid=1480452
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-