Bug 1314111
Summary: | vxlan processing occurs on one cpu only | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Hannes Frederic Sowa <hsowa> |
Component: | kernel | Assignee: | Paolo Abeni <pabeni> |
kernel sub component: | Networking | QA Contact: | Network QE <network-qe> |
Status: | CLOSED NOTABUG | Docs Contact: | |
Severity: | high | ||
Priority: | high | CC: | aloughla, jbenc, jeder, jpirko, jsitnick, kzhang, pabeni, ptalbert, rkhan, tgraf |
Version: | 7.3 | ||
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-03-30 15:19:48 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1323132 |
Description
Hannes Frederic Sowa
2016-03-03 00:04:28 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. |