Skip to content

VXLAN: bad UDP checksums #8992

Description

@maxpain

Environment:

  • Cloud provider or hardware configuration:
    Virtual machine

  • OS:

Linux 5.15.0-37-generic x86_64
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Kubespray version:
v2.19.0

Network plugin used:
calico with vxlan

The problem:
When using calico with vxlan as a tunnel there is no connectivity between containers on different nodes:

image

Workaround:

sudo ethtool -K vxlan.calico tx-checksum-ip-generic off

or

featureDetectOverride: "ChecksumOffloadBroken=true"

But this has a performance impact

Related issues:
projectcalico/calico#3145
projectcalico/calico#4865
flannel-io/flannel#1279
rancher/rke2#1541

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug.
    on Jun 16, 2022
  2. champtar commented on Jun 17, 2022

    @champtar
    Contributor

    This is usually a combination kernel version + driver + firmware version, could you give us ethtool -i <eth0> (name might not be eth0) and more details on the hypervisor ?
    Side note, with hardware offload it's normal to have bad checksum on outgoing packets in tcpdump, so when investigating only look at incoming packets (tcpdump -Q in ...)

  3. maxpain commented on Jun 17, 2022

    @maxpain
    ContributorAuthor

    @champtar

    driver: vmxnet3
    version: 1.6.0.0-k-NAPI
    firmware-version:
    expansion-rom-version:
    bus-info: 0000:03:00.0
    supports-statistics: yes
    supports-test: no
    supports-eeprom-access: no
    supports-register-dump: yes
    supports-priv-flags: no
    
  4. maxpain commented on Jun 17, 2022

    @maxpain
    ContributorAuthor

    Side note, with hardware offload it's normal to have bad checksum on outgoing packets

    Yes, but these packets don't send.

  5. champtar commented on Jun 17, 2022

    @champtar
    Contributor

    Would be worth a shot to open a vmware ticket

  6. cristicalin commented on Jun 17, 2022

    @cristicalin
    Contributor

    Agreed with @champtar this looks more like a kernel/hypervisor issue, you can also reach out the the project calico folks with the details above since kubespray only deploys calico not modifies it in any way.

  7. DomHoney commented on Jul 11, 2022

    @DomHoney

    This issue suggests its a recent kernel driver update that's causing the issue:
    I didn't spot champtar in this thread, and I didn't properly look at the originally linked issues. Leaving this here as another reference.
    projectcalico/calico#4727

    I haven't confirmed via tcpdump but I have been struggling with calico vxlan on Ubuntu 20.04 with HWE 5.13 kernel. vxlan works fine on standard 5.4 kernel.
    Redeploying with IP in IP mode allows things to work for 5.13 kernel.

  8. yankay commented on Sep 2, 2022

    @yankay
    Member

    I have the same issue at the RockyLinux 9.
    kernel version: 5.14.0-70.13.1.el9_0.x86_64

  9. maxpain commented on Sep 2, 2022

    @maxpain
    ContributorAuthor

    I finally switched from Kubespray to Talos OS, and I no more have any configuration problems with OS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions