Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2207919

Summary: [17.1][OVN HWOFFLOAD] Low performance with ovn hwoffload using ConnectX5 nics
Product: Red Hat OpenStack Reporter: Miguel Angel Nieto <mnietoji>
Component: openvswitchAssignee: Haresh Khandelwal <hakhande>
Status: CLOSED NOTABUG QA Contact: Eran Kuris <ekuris>
Severity: medium Docs Contact:
Priority: medium    
Version: 17.1 (Wallaby)CC: apevec, chrisw, hakhande, lsvaty, pgrist, rjarry, vchundur, vkhitrin
Target Milestone: gaKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-19 10:52:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miguel Angel Nieto 2023-05-17 10:03:59 UTC
Description of problem:

I have reproduced a low performance with ovn hwoffload regression.

Getting more details, i will update the bz


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 3 Miguel Angel Nieto 2023-05-29 16:33:29 UTC
I get very low performance
This is the scenario

          -----------          ------------ 
Tres VM               SWITCH                testpmd
          -----------          ------------

I can see that with  trex i can inject up to  51 mpps and testpmd returns up to 30 mpps. I see 2 issues:
- I think in 16.2 i get up to 40 mpps
- Even if the throughput is lower, ther are packet losses, so binary search report a very low rate
   
I think flows are ok                             
Flows
[root@computehwoffload-r740 tripleo-admin]# 
[root@computehwoffload-r740 tripleo-admin]# ovs-appctl dpctl/dump-flows -m type=offloaded
ufid:12117001-45f4-4761-952d-6d159b90dbac, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(ens6f1np1_3),packet_type(ns=0/0,id=0/0),eth(src=fa:16:3e:21:1e:f0,dst=fa:16:3e:3d:9b:47),eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no), packets:131256373, bytes:8400408715, used:0.220s, offloaded:yes, dp:tc, actions:push_vlan(vid=148,pcp=0),mx-bond
ufid:395c32be-06a1-436a-bbaf-a3bb5b8472aa, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0x2),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(mx-bond),packet_type(ns=0/0,id=0/0),eth(src=fa:16:3e:3d:9b:47,dst=fa:16:3e:21:1e:f0),eth_type(0x8100),vlan(vid=148,pcp=0),encap(eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no)), packets:132801472, bytes:7967143390, used:0.220s, offloaded:yes, dp:tc, actions:pop_vlan,ens6f1np1_3
ufid:c2cb93b8-d0cd-41d6-9adc-56651d47808f, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0x2),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(mx-bond),packet_type(ns=0/0,id=0/0),eth(src=fa:16:3e:6b:20:37,dst=fa:16:3e:eb:0b:81),eth_type(0x8100),vlan(vid=149,pcp=0),encap(eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no)), packets:131256043, bytes:7874478718, used:0.221s, offloaded:yes, dp:tc, actions:pop_vlan,ens6f1np1_2
ufid:bf4f077b-783c-4304-92bf-63b568ea820e, skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(ens6f1np1_2),packet_type(ns=0/0,id=0/0),eth(src=fa:16:3e:eb:0b:81,dst=fa:16:3e:6b:20:37),eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=0.0.0.0/0.0.0.0,proto=0/0,tos=0/0,ttl=0/0,frag=no), packets:132802926, bytes:8499387826, used:0.220s, offloaded:yes, dp:tc, actions:push_vlan(vid=149,pcp=0),mx-bond

10 mpps during 60 seconds in each port:
      ports |               0 |               1 
 -----------------------------------------------------------------------------------------
   opackets |       600000016 |       600000016 
     obytes |     38400001024 |     38400001024 
   ipackets |       374884668 |       381029925 
     ibytes |     23992632961 |     24385928699 
    ierrors |        65640572 |        73676873 
    oerrors |               0 |               0 
      Tx Bw |       0.00  bps |       0.00  bps 

1 mpps during 60 seconds in each port, there are a few packet loss
     ports |               0 |               1 
 -----------------------------------------------------------------------------------------
   opackets |        60000017 |        60000017 
     obytes |      3840001088 |      3840001088 
   ipackets |        59929407 |        59357246 
     ibytes |      3835484482 |      3798866914 
    ierrors |               0 |               0 
    oerrors |               0 |               0 
      Tx Bw |       0.00  bps |       0.00  bps 


0.1 mpps during 60 seconds in each port. There are packet loss in one port
      ports |               0 |               1 
 -----------------------------------------------------------------------------------------
   opackets |         6000017 |         6000017 
     obytes |       384001088 |       384001088 
   ipackets |         5994492 |         6000030 
     ibytes |       383648790 |       384003222 
    ierrors |               0 |               0 
    oerrors |               0 |               0 
      Tx Bw |       0.00  bps |       0.00  bps

Comment 19 Miguel Angel Nieto 2023-06-19 10:52:24 UTC
I am using Connect X5 for both trex and testpmd vms, and I have seen that Connect X5 is not working fine with trex.

I injected with x710 nic and I do not see the issue, so the issue was caused by the injector.