Bug 1822493

Summary: [RFE] Add min_tx_rate and max_tx_rate to sriov_vf
Product: Red Hat OpenStack Reporter: Christophe Fontaine <cfontain>
Component: os-net-configAssignee: Christophe Fontaine <cfontain>
Status: NEW --- QA Contact: Nobody <nobody>
Severity: low Docs Contact:
Priority: low    
Version: 16.1 (Train)CC: bfournie, hbrock, jslagle, mburns, mnietoji, supadhya
Target Milestone: ---Keywords: FutureFeature, Reopened, 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: 2020-11-04 20:38:54 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 Christophe Fontaine 2020-04-09 07:56:34 UTC
All actionable parameters from the "ip link set vf X [...]" should be user configurable.
2 missing parameters are min_tx_rate and max_tx_rate to configure hardware QOS for VF.

Comment 2 Miguel Angel Nieto 2020-06-29 16:08:37 UTC
Tested with intel an mellanox nics. Using this configuration:

type: sriov_pf
  name: nic9
  mtu: 9000
  numvfs: 10
  use_dhcp: false
  defroute: false
  nm_controlled: true
  hotplug: true
  promisc: false
type: sriov_pf
  name: nic11
  mtu: 9000I 
  numvfs: 10
  use_dhcp: false
  defroute: false
  nm_controlled: true
  hotplug: true
  promisc: false
type: sriov_vf
  device: nic9
  vfid: 5
  addresses:
  - ip_netmask: 192.0.2.1/24 
  vlan_id: 128
  min_tx_rate: 0
  max_tx_rate: 100
type: sriov_vf
  device: nic11
  vfid: 5
  addresses:
  - ip_netmask: 192.0.3.1/24
  vlan_id: 129
  min_tx_rate: 10
  max_tx_rate: 100
nic9 (enp6s0f2) is intel and nic11(enp4s0f0) is mellanox. We can see that it is configured properly. For intel, we select min_tx_rate=0 because it is not supported.

[root@computeovsdpdksriov-0 heat-admin]# ip link show enp6s0f2
8: enp6s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether f8:f2:1e:03:9b:e4 brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 2 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 3 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 4 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 5 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 128, tx rate 100 (Mbps), max_tx_rate 100Mbps, spoof checking on, link-state auto, trust off
vf 6 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 7 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 8 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 9 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off

[root@computeovsdpdksriov-0 heat-admin]# ip link show enp4s0f0
10: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 98:03:9b:9c:50:58 brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, 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 auto, 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 auto, 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 auto, 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 auto, trust off, query_rss off
vf 5 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 129, tx rate 100 (Mbps), max_tx_rate 100Mbps, min_tx_rate 10Mbps, spoof checking off, link-state auto, 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 auto, 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 auto, 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 auto, trust off, query_rss off
vf 9 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking off, link-state auto, trust off, query_rss off

[root@computeovsdpdksriov-0 heat-admin]# ip a show enp6s0f2v5
18: enp6s0f2v5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 42:fb:62:96:c0:9b brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/24 brd 192.0.2.255 scope global enp6s0f2v5
valid_lft forever preferred_lft forever
inet6 fe80::40fb:62ff:fe96:c09b/64 scope link
valid_lft forever preferred_lft forever

[root@computeovsdpdksriov-0 heat-admin]# ip a show enp4s0f0v5
41: enp4s0f0v5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 5e:fc:15:7c:84:72 brd ff:ff:ff:ff:ff:ff
inet 192.0.3.1/24 brd 192.0.3.255 scope global enp4s0f0v5
valid_lft forever preferred_lft forever
inet6 fe80::5cfc:15ff:fe7c:8472/64 scope link
valid_lft forever preferred_lft forever

Used puddle RHOS-16.1-RHEL-8-20200623.n.0

Comment 3 stchen 2020-11-04 20:38:54 UTC
Closing EOL, OSP 16.0 has been retired as of Oct 27, 2020

Comment 4 Franck Baudin 2020-11-06 08:10:19 UTC
I don't know how many bugs declared against 16.0 still present in 16.1 I will have to reopen.... Please check with the bug reporter if the bug is still present or not before closing it, thanks!