OVS internal port Hardware Offload implementation is missing in Jammy kernel

Bug #1980730 reported by Itai Levy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned
Jammy
In Progress
Undecided
Unassigned

Bug Description

Platform: OpenStack Yoga, Ubuntu 22.04 Jammy, Kernel 5.15.0-37-generic

When deploying Charmed Openstack deployment with HW Offload over Jammy series, some of the traffic workloads (mainly those related to Floating IP and NAT) will not be properly offloaded.
In order to solve it, "OVS internal port offload" feature was introduced and pushed to upstream kernel.

These are the main base patches for the feature we call "OVS internal port offload":

b16eb3c81fe27978afdb2c111908d4d627a88d99 net/mlx5: Support internal port as decap route device
5e9942721749fc96b9df4b0545474153316c0571 net/mlx5e: Term table handling of internal port rules
166f431ec6beaf472bc2e116a202a127b64779e4 net/mlx5e: Add indirect tc offload of ovs internal port
100ad4e2d75837c9b42f49b3814b4b42ec9ebe46 net/mlx5e: Offload internal port as encap route device
27484f7170edabbda7b53650cd24d38295cffe60 net/mlx5e: Offload tc rules that redirect to ovs internal port
dbac71f22954276633e525f958994f84a7bd303f net/mlx5e: Accept action skbedit in the tc actions list
4f4edcc2b84fecec66748ecbb90a84b981ecdaae net/mlx5: E-Switch, Add ovs internal port mapping to metadata support
189ce08ebf876df2b51f625877731055475352df net/mlx5e: Use generic name for the forwarding dev pointer
28e7606fa8f106cdc0355e0548396c037443e063 net/mlx5e: Refactor rx handler of represetor device

Please make sure to take as well all patches the came later on top of those base patches

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1980730

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Zachary Tahenakos (ztahenakos) wrote :

A kernel built with the above changes, plus later changes around OVS internal port can be found here:
https://launchpad.net/~ztahenakos/+archive/ubuntu/zt-test-kernels/+sourcepub/13816612/+listing-archive-extra

Please give this kernel a try and let us know if this has the hardware offload implementation correctly applied.

-Zack

Revision history for this message
Itai Levy (etlvnvda) wrote :

Hi Zack,
I tried to install this kernel pkgs (headers, image, modules), however when trying to boot with this kernel it fails over a failure to detect root file system (see screenshot).
When I revert back to the default kernel it boots.
What did I miss?

Revision history for this message
Itai Levy (etlvnvda) wrote :

it was a missing raid controller module. it boots up ok after I installed the modules-extra pkgs.
Thanks.

Revision history for this message
Zachary Tahenakos (ztahenakos) wrote :

I took a look at the kernel config and its identical to what this kernel was derived from (i.e., 5.15.0-37.39). Maybe something got confused and its not getting the raid config? Are you able to confirm that? I would assume this would need to live in the initrd so its probably missing from the one generated for this kernel.

-Zack

Revision history for this message
Itai Levy (etlvnvda) wrote :

it got the raid config. the problem is that the raid kernel module is part of the modules-extra pkg and not the modules pkg. once I installed the modules-extra pkg the initramfs image was regenerated with the relevant module and the server was able to boot up.
thanks again.
Itai

Revision history for this message
Itai Levy (etlvnvda) wrote :

Hi Zack,
I can confirm the HW offload is working properly for the "ovn internal port" use cases!

Thanks
Itai

Revision history for this message
Itai Levy (etlvnvda) wrote :

Verified with the kernel 5.15.0-37.39+lp1980730-1-generic you provided.

Revision history for this message
Zachary Tahenakos (ztahenakos) wrote :

Hey Itai,

That's great! When you were testing this, did you happen to do any other generic testing, or would the tests you did here be considered suitable for testing of the mlx5 driver to ensure there are no potential regressions?

-Zack

Revision history for this message
Itai Levy (etlvnvda) wrote :

Hi Zack,

This cannot be considered as regression testing, I did specific testing for specific (important) use cases.

Itai

Changed in linux (Ubuntu Jammy):
status: New → In Progress
Revision history for this message
Zachary Tahenakos (ztahenakos) wrote :

Hey Itai,

The PR I filed for the feature inclusion above has been approved and will ship with the kernel released in the SRU cycle that just started today. The cycle should be done around 9/19.

-Zack

Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

Hello Itai,

We have tracked the inclusion of this feature request via bug 1983498. The patches have been released to jammy-updates with jammy/linux: 5.15.0-48.54.

I'll mark this bug report as a duplicate to make it easier to track it using a single bug.

Thank you.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.