Public bug reported:
* Explain the bug
Flow table lookup is skipped if packet either went through ct clear action
(which set the IP_CT_UNTRACKED flag on the packet),
or while switching zones and there is already a connection associated with the
packet. This will result in no SW offload of the connection,
and the and connection not being removed from flow table with TCP teardown
(fin/rst packet).
* How to test
Create OVS bridge with 2 veth pairs, put each veth peer device in a different
namespace - ns0, ns1, and add
the other side veth devices (named ns[01]_veth below) to OVS bridge. Configure
the namespace devices with
an ip, and bring all devices up.
Enable HW offload in ovs and configure connection tracking OpenFlow rules that
pass via two zones (but drop the FIN packets on the reply side
or they will still teardown the connection in second zone from the reply side
as it happens first):
ovs-ofctl add-flow br-ovs "arp actions=NORMAL"
ovs-ofctl add-flow br-ovs "ct_state=-trk,ip,in_port=ns0_veth
actions=ct(table=5,zone=5)"
ovs-ofctl add-flow br-ovs "ct_state=-trk,tcp,in_port=ns1_veth,tcp_flags=-fin
actions=ct(table=8,zone=7)"
ovs-ofctl add-flow br-ovs "ct_state=+new+trk,ip,in_port=ns0_veth
actions=ct(commit,zone=5),ct(table=7,zone=7)"
ovs-ofctl add-flow br-ovs "ct_state=+est+trk,ip,in_port=ns0_veth
actions=ct(table=7,zone=7)"
ovs-ofctl add-flow br-ovs "ct_state=+new+trk,ip,in_port=ns0_veth
actions=ct(commit,zone=7),output:ns1_veth"
ovs-ofctl add-flow br-ovs "ct_state=+est+trk,ip,in_port=ns0_veth
actions=output:ns1_veth"
ovs-ofctl add-flow br-ovs "ct_state=+est+trk,tcp,in_port=ns1_veth
actions=ct(table=9,zone=5)"
ovs-ofctl add-flow br-ovs "ct_state=+est+trk,tcp,in_port=ns1_veth
actions=output:ns0_veth"
Run TCP iperf from ns0 namespace to an iperf server on ns1 namepsace
with the given ip.
After traffic ends, check
cat /proc/net/nf_conntrack | grep -i offload
If bug occurs, connections will remain offloaded till timeout, otherwise, they
will be in
teardown state.
* What it could break.
NA
** Affects: linux-bluefield (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1963948
Title:
Fix flow table lookup after ct clear or switching zones
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-bluefield/+bug/1963948/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs