Bug 2022802

Summary: [RFE][OVS][TestOnly] QoS policies implementation with HW offload when OVS metering is not offloaded (max BW, egress)
Product: Red Hat OpenStack Reporter: Karrar Fida <kfida>
Component: openvswitchAssignee: Open vSwitch development team <ovs-team>
Status: CLOSED CURRENTRELEASE QA Contact: Ricardo Diaz <rdiazcam>
Severity: high Docs Contact:
Priority: high    
Version: 16.1 (Train)CC: apevec, bcafarel, broose, cfontain, chrisw, dalvarez, ekuris, fleitner, hakhande, oblaut, ralonsoh, rdiazcam, rhos-maint, scohen, supadhya
Target Milestone: z8Keywords: FutureFeature, TestOnly, Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 2014101 Environment:
Last Closed: 2023-06-14 18:22:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1969999    
Bug Blocks:    

Comment 1 Karrar Fida 2021-11-18 05:06:43 UTC
@

Comment 2 Karrar Fida 2021-11-18 05:09:06 UTC
@atragler @hakhande @supadhya please provide acks

Comment 6 Ricardo Diaz 2022-03-08 09:43:03 UTC
Successfully verified.


(overcloud) [stack@undercloud-0 ~]$ openstack network qos policy create bw-limiter-999
+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+                                                                                                       
| Field       | Value                                                                                                                                                            |                                                                                                       
+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+                                                                                                       
| description |                                                                                                                                                                  |                                                                                                       
| id          | 4a03a5db-00bd-4f29-8e64-d9a632517377                                                                                                                             |                                                                                                       
| is_default  | False                                                                                                                                                            |                                                                                                       
| location    | cloud='', project.domain_id=, project.domain_name='Default', project.id='b75fa919c5f94e2195d0bc5e4da67cf6', project.name='admin', region_name='regionOne', zone= |                                                                                                       
| name        | bw-limiter-999                                                                                                                                                   |                                                                                                       
| project_id  | b75fa919c5f94e2195d0bc5e4da67cf6                                                                                                                                 |                                                                                                       
| rules       | []                                                                                                                                                               |                                                                                                       
| shared      | False                                                                                                                                                            |                                                                                                       
| tags        | []                                                                                                                                                               |                                                                                                       
+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
                                                                                                       
(overcloud) [stack@undercloud-0 ~]$ openstack network qos rule create --max-kbps 999 --egress bw-limiter-999 --type bandwidth-limit
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field          | Value                                                                                                                                                            |
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| direction      | egress                                                                                                                                                           |
| id             | b08de3c2-b84d-4ac6-970d-27cec78fc78c                                                                                                                             |
| location       | cloud='', project.domain_id=, project.domain_name='Default', project.id='b75fa919c5f94e2195d0bc5e4da67cf6', project.name='admin', region_name='regionOne', zone= |
| max_burst_kbps | 0                                                                                                                                                                |
| max_kbps       | 999                                                                                                                                                              |
| name           | None                                                                                                                                                             |
| project_id     |                                                                                                                                                                  |
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+

(overcloud) [stack@undercloud-0 ~]$ openstack port set --qos-policy bw-limiter-999 hwoffload_net_nic0_126_dut_normal_port-0

# ip -details link show enp4s0f1
52: enp4s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master mx-bond state UP mode DEFAULT group default qlen 1000
    link/ether ec:0d:9a:7d:7d:32 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9978 
    bond_slave state BACKUP mii_status UP link_failure_count 0 perm_hwaddr ec:0d:9a:7d:7d:33 queue_id 0 addrgenmode eui64 numtxqueues 320 numrxqueues 40 gso_max_size 65536 gso_max_segs 65535 portname p1 switchid 327d7d00039a0dec 
    vf 0     link/ether 2e:27:6e:b1:7b:39 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 1     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 2     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 3     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 4     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 5     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 6     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 7     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 8     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state disable, trust off, query_rss off
    vf 9     link/ether fa:16:3e:ed:f3:6c brd ff:ff:ff:ff:ff:ff, tx rate 1 (Mbps), max_tx_rate 1Mbps, spoof checking off, link-state disable, trust off, query_rss off