RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1314111 - vxlan processing occurs on one cpu only
Summary: vxlan processing occurs on one cpu only
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kernel
Version: 7.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Paolo Abeni
QA Contact: Network QE
URL:
Whiteboard:
Depends On:
Blocks: 1323132
TreeView+ depends on / blocked
 
Reported: 2016-03-03 00:04 UTC by Hannes Frederic Sowa
Modified: 2020-10-20 08:25 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-30 15:19:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Hannes Frederic Sowa 2016-03-03 00:04:28 UTC
Investigate if vxlan only processes packets on one CPU. Different flows should actually use different flows and get send out via different tx queues. If this is not the case we need to fix this.

Comment 3 Paolo Abeni 2016-03-30 15:19:48 UTC
Short summary: with vxlan offload, vxlan processing works correctly, without h/w offload the single cpu issue is unsolvable.

On h/w with vxlan offload, vxlan processing is correctly spread across the available cpus.

If the nic lacks vxlan offload, than the rx-hash by default ignores the udp ports and all vxlan flows collide on the same CPU (the IPs in the external header are the same in all flows).

To avoid such collision, the following setting could be used:

ethtool -N <interface> rx-flow-hash udp4 sdfn

but the above will introduce reordering if the external udp datagram is fragmented, and that may break existing applications.

Moreover without vxlan offloading we lose:

* LRO/GRO because we don't get CHECKSUM_PARTIAL frames or the depth we 
require the checksumming logic to look into the packet is not deep 
enough (outer frames don't have checksum by default)

* without CHECKSUM_PARTIAL no use of LCO (local checksum offload)

* sending checksum offload also not possible, because of the lack of 
CHECKSUM_PARTIAL in most hardware

We certainly should only consider either new networking cards with 
CHECKSUM_PARTIAL or we depend on vxlan (or later, geneve) offloading.


Note You need to log in before you can comment on or make changes to this bug.