omec-project/upf

PFCP messages bad UDP checksum

v0rdych opened this issue · 2 comments

Hi, I've tried to run UPF in docker environment in "dpdk" mode. Everything works fine, but outgoing packets from N4 interface (bess-pfcpiface) have wrong checksums and are also non-zero.
I've tried to disable all checks:

confg/upf.json:
   "hwcksum": false,
conf/up4.bess:
   set all entries of "verify" to "False"

But behavior doesn't change - still bad, non-zero checksums in udp. L3 IP checksums are correct.

I've checked tcpdump in bessctl on "Acces-interface-name_QSplit in 0" interface, and there is already non-zero bad checksums, but could not find exact point in source code where this checksum is generated. It seems that there is missed pipeline from "Acces-interface-name_Slow" to outerUDPCsum but I'm not sure.

If I run UPF in "af_packet" mode, than UDP packets for pfcp messages are correct.
Could you please advise how to diagnose that?

Seems that executing this command on host resolves the problem:
ip netns exec pause ethtool -K "Acces-interface-name" tx off
This was server with Intel x710 adapter, and there were created several sriov VFs on it for using as Access and Core interfaces.

This issue has been stale for 30 days and will be closed in 5 days. Comment to keep it open.