We identified an issue with the Linux netvsc driver when used in IP forwarding mode. The problem is that the RSS hash value is not propagated to the outgoing packet, and so such packets go out on channel 0. This produces an imbalance across outgoing channels, and a possible overload on the single host-side CPU that is processing channel 0. The problem does not occur when Accelerated Networking is used because the packets go out through the Mellanox driver. Because it is tied to IP forwarding, the problem is presumably most likely to be visible in a virtual appliance device that is doing network load balancing or other kinds of packet filtering and redirection.
We would like to request fixes to this issue in 16.04, 18.04 and 20.04.
Two fixes are already in the upstream v5.5+, so they’re already in 5.8.0-1011.11.
We identified an issue with the Linux netvsc driver when used in IP forwarding mode. The problem is that the RSS hash value is not propagated to the outgoing packet, and so such packets go out on channel 0. This produces an imbalance across outgoing channels, and a possible overload on the single host-side CPU that is processing channel 0. The problem does not occur when Accelerated Networking is used because the packets go out through the Mellanox driver. Because it is tied to IP forwarding, the problem is presumably most likely to be visible in a virtual appliance device that is doing network load balancing or other kinds of packet filtering and redirection.
We would like to request fixes to this issue in 16.04, 18.04 and 20.04.
Two fixes are already in the upstream v5.5+, so they’re already in 5.8.0-1011.11.
For 5.4.0-1031.32, the 2 fixes can apply cleanly: /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=1fac7ca4e63 bf935780cc632cc b6ba8de5f22321 /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=6f3aeb1ba05 d41320e6cf9a60f 698d9c4e44348e
https:/
https:/
For 5.0.0-1036.38, we need 1 more patch applied first, so the list is: /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=b441f79532e c13dc82d05c55ba dc4da1f62a6141 /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=1fac7ca4e63 bf935780cc632cc b6ba8de5f22321 /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=6f3aeb1ba05 d41320e6cf9a60f 698d9c4e44348e
https:/
https:/
https:/
For 4.15.0- 1098.109~ 16.04.1, the 2 patches can not apply cleanly, so Dexuan backported them here: /github. com/dcui/ linux/commit/ 4ed58762a56cccf d006e633fac6331 1176508795 /github. com/dcui/ linux/commit/ 40ad7849a6365a5 a485f05453e10e3 541025e25a /github. com/dcui/ linux/commits/ decui/ubuntu_ 16.04/linux- azure/Ubuntu- azure-4. 15.0-1098. 109_16. 04.1)
https:/
https:/
(The 2 patches are on the branch https:/