<div dir="ltr"><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">BugLink: <a href="https://bugs.launchpad.net/bugs/1983498">https://bugs.launchpad.net/bugs/1983498</a></p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">SRU Justification<br></p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">[Impact]</p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">A request has been made, originating from <a rel="nofollow" href="https://bugs.launchpad.net/bugs/1980730" style="color:rgb(0,51,170);text-decoration-line:none">https://bugs.launchpad.net/bugs/1980730</a>, to add support for OVS internal port offload for the mlx5 driver. This feature takes care of certain traffic workloads that are not currently being offloaded to the hardware.</p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">[Test Case]</p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">Tested by the requester.</p><p style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">[Where things could go wrong]</p><p id="gmail-yui_3_10_3_1_1659613337339_2059" style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">These changes could potentially introduce regressions in behavior of the mlx5 driver.</p><p id="gmail-yui_3_10_3_1_1659613337339_2059" style="margin:0px 0px 1.2em;padding:0px;width:auto;max-width:45em;color:rgb(51,51,51);font-family:monospace;font-size:12px">The following changes since commit 4cc5e60c9399a10400737bda19312574b5a5c7a2:<br><br>  UBUNTU: Ubuntu-5.15.0-45.48 (2022-07-19 18:57:17 -0300)<br><br>are available in the Git repository at:<br><br>  <a href="https://git.launchpad.net/~ztahenakos/ubuntu/+source/linux/+git/jammy">https://git.launchpad.net/~ztahenakos/ubuntu/+source/linux/+git/jammy</a> 5195a9ae669b266eb35cd8ee604923d4c5e5058a<br><br>for you to fetch changes up to 5195a9ae669b266eb35cd8ee604923d4c5e5058a:<br><br>  net/mlx5e: TC, fix decap fallback to uplink when int port not supported (2022-08-03 15:10:10 -0400)<br><br>----------------------------------------------------------------<br>Ariel Levkovich (11):<br>      net/mlx5e: Refactor rx handler of represetor device<br>      net/mlx5e: Use generic name for the forwarding dev pointer<br>      net/mlx5: E-Switch, Add ovs internal port mapping to metadata support<br>      net/mlx5e: Accept action skbedit in the tc actions list<br>      net/mlx5e: Offload tc rules that redirect to ovs internal port<br>      net/mlx5e: Offload internal port as encap route device<br>      net/mlx5e: Add indirect tc offload of ovs internal port<br>      net/mlx5e: Term table handling of internal port rules<br>      net/mlx5: Support internal port as decap route device<br>      net/mlx5e: Fix wrong source vport matching on tunnel rule<br>      net/mlx5e: TC, fix decap fallback to uplink when int port not supported<br><br>Christophe JAILLET (1):<br>      net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()'<br><br>Dima Chumak (2):<br>      net/mlx5e: Enable TC offload for ingress MACVLAN<br>      net/mlx5e: Fix nullptr on deleting mirroring rule<br><br>Gal Pressman (1):<br>      net/mlx5e: Fix skb memory leak when TC classifier action offloads are disabled<br><br>Roi Dayan (2):<br>      net/mlx5e: TC, Fix memory leak with rules with internal port<br>      net/mlx5e: Avoid implicit modify hdr for decap drop rule<br><br>Vlad Buslov (1):<br>      net/mlx5e: Support accept action<br><br> drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   2 +-<br> .../net/ethernet/mellanox/mlx5/core/en/rep/tc.c    | 132 ++++--<br> .../net/ethernet/mellanox/mlx5/core/en/rep/tc.h    |  14 +-<br> .../ethernet/mellanox/mlx5/core/en/tc/int_port.c   | 457 +++++++++++++++++++++<br> .../ethernet/mellanox/mlx5/core/en/tc/int_port.h   |  65 +++<br> .../net/ethernet/mellanox/mlx5/core/en/tc_priv.h   |   2 +<br> .../net/ethernet/mellanox/mlx5/core/en/tc_tun.c    |  33 +-<br> .../ethernet/mellanox/mlx5/core/en/tc_tun_encap.c  |  35 ++<br> drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |  13 +-<br> drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |   4 +<br> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |  22 +-<br> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 205 ++++++++-<br> drivers/net/ethernet/mellanox/mlx5/core/en_tc.h    |  11 +-<br> drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |  16 +<br> .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |  84 ++--<br> .../mellanox/mlx5/core/eswitch_offloads_termtbl.c  |   7 +-<br> 16 files changed, 998 insertions(+), 104 deletions(-)<br> create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c<br> create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.h<br></p></div>