Do offload refresh when requested

Bug #1927374 reported by Dan Jurgens
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-bluefield (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
Medium
Dan Jurgens

Bug Description

SRU Justification:

It could be not all conntrack tuples are offloaded.

* Explain the bug(s)

Offload could fail for multiple reasons and a refresh bit is set to try to reoffload it in next sw packet.
But sometimes the refresh bit not set. It’s sparse in multiple locations.

* brief explanation of fixes

We can just avoid checking if the refresh bit is set on refresh call and try to offload again as we did get
a sw packet and there won’t be more than one work entry for the same entry. So if refresh already
queued the function will do nothing. But if failed and nothing is queued a refresh will queue again.

* How to test

High traffic ct offload with lots conns. Test 200000 conns. We see insertion rate drops at ~100000.
Eventually we stop offloading new entries but in tcpdump we see traffic.

* What it could break.

Ct offload.

Stefan Bader (smb)
Changed in linux-bluefield (Ubuntu Focal):
assignee: nobody → Dan Jurgens (danielj-mellanox)
importance: Undecided → Medium
status: New → In Progress
Stefan Bader (smb)
Changed in linux-bluefield (Ubuntu):
status: New → Invalid
Changed in linux-bluefield (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (34.0 KiB)

This bug was fixed in the package linux-bluefield - 5.4.0-1012.15

---------------
linux-bluefield (5.4.0-1012.15) focal; urgency=medium

  * focal/linux-bluefield: 5.4.0-1012.15 -proposed tracker (LP: #1927599)

  * Focal update: v5.4.109 upstream stable release (LP: #1923220)
    - [Config] bluefield: Record PNFS_FLEXFILE_LAYOUT=y

  * mlx-bootctl: rshim logging display from linux sysfs (LP: #1927263)
    - mlx-bootctl: rshim logging display from linux sysfs

  * Backport TLS Bond (LP: #1926994)
    - netpoll: Fix use correct return type for ndo_start_xmit()
    - netpoll: remove dev argument from netpoll_send_skb_on_dev()
    - netpoll: move netpoll_send_skb() out of line
    - netpoll: netpoll_send_skb() returns transmit status
    - netpoll: accept NULL np argument in netpoll_send_skb()
    - bonding: propagate transmit status
    - xfrm: bail early on slave pass over skb
    - ixgbe_ipsec: become aware of when running as a bonding slave
    - mlx5: become aware of when running as a bonding slave
    - bonding: support hardware encryption offload to slaves
    - bonding: Remove extraneous parentheses in bond_setup
    - bonding: allow xfrm offload setup post-module-load
    - bonding/xfrm: use real_dev instead of slave_dev
    - bonding: deal with xfrm state in all modes and add more error-checking
    - bonding: fix feature flag setting at init time
    - net/core: Introduce netdev_get_xmit_slave
    - bonding: Export skip slave logic to function
    - bonding: Rename slave_arr to usable_slaves
    - bonding/alb: Add helper functions to get the xmit slave
    - bonding: Add helper function to get the xmit slave based on hash
    - bonding: Add helper function to get the xmit slave in rr mode
    - bonding: Add function to get the xmit slave in active-backup mode
    - bonding: Add array of all slaves
    - bonding: Implement ndo_get_xmit_slave
    - net: netdevice: Add operation ndo_sk_get_lower_dev
    - net/bonding: Take IP hash logic into a helper
    - net/bonding: Implement ndo_sk_get_lower_dev
    - net/bonding: Take update_features call out of XFRM funciton
    - net/bonding: Implement TLS TX device offload
    - net/bonding: Declare TLS RX device offload support
    - net/tls: Device offload to use lowest netdevice in chain
    - net/tls: Except bond interface from some TLS checks

  * Do offload refresh when requested (LP: #1927374)
    - SAUCE: netfilter: flowtable: Do flow offload refresh when requested

  * To support reclassifying a packet more than 4 times need to increase the
    reclassification setting. (LP: #1927257)
    - SAUCE: net/sched: Increase support of reclassification to 15

  * Enable CONFIG_IPV6_MROUTE_MULTIPLE_TABLES in kernel configuration
    (LP: #1927142)
    - [Config] CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y

  * Enable CONFIG_NET_VRF in kernel configuration (LP: #1923620)
    - [Config] CONFIG_NET_VRF=m

  * Fix NAT IPv6 offload mangling (LP: #1927244)
    - netfilter: flowtable: fix NAT IPv6 offload mangling

  * mlxbf-tmfifo: Add ctrl message and MAC configuration (LP: #1927253)
    - SAUCE: platform/mellanox: Add ctrl message and MAC configuration

  * tmfifo: Fix a memory barrier issue (LP: #1927262)...

Changed in linux-bluefield (Ubuntu Focal):
status: Fix Committed → Fix Released
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.