SR-IOV VFs as network interface
As of today the datacenter have complex network wiring to connect the various networks of the nodes. In order to simply the network wiring its possible to make a SR-IOV based deployment and the VFs could be partitioned between kernel interfaces, DPDK interfaces and guests. Using this setup, a pair of network cables could be used to connect all the nodes, there by reducing the cabling complexity in the datacenter and still achieve qos. We propose that the smart NIC shall be configured as a set of VFs and each of the openstack networks available can be mapped to the VFs of the SR-IOV nic. Also the other VFs could be used with DPDK driver or directly associated with guests.
The nic configuration template shall have a new network config for sriov_pf and sriov_vf.
os-net-config shall also configure the numvfs for the SR-IOV port.
The nic configuration for sriov_pf shall look like
- type: sriov_pf
name: sriov_pf0
use_dhcp: false
numvfs: <number of vfs>
members:
- type: interface
name: <interface name, like nic3>
The nic configuration for DPDK over VF shall look like
- type: sriov_pf
name: sriov_pf0
use_dhcp: false
numvfs: <number of vfs>
members:
- type: interface
name: <interface name, like nic3>
- type: ovs_user_bridge
name: br-dpdk
use_dhcp: false
members:
- type: ovs_dpdk_port
name: dpdk0
members:
- type: sriov_vf
name: sriov_vf3
parent: sriov_pf0
vf_id: 3 # vf number
The nic configuration for a network over VF shall look like
- type: sriov_pf
name: sriov_pf0
use_dhcp: false
numvfs: <number of vfs>
members:
- type: interface
name: <interface name, like nic3>
- type: sriov_vf
name: sriov_vf0
parent: sriov_pf0
vf_id: 0 # vf number
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
The nic configuration for vlan network over VF shall look like
- type: sriov_pf
name: sriov_pf0
use_dhcp: false
numvfs: <number of vfs>
members:
- type: interface
name: <interface name, like nic3>
- type: sriov_vf
name: sriov_vf0
parent: sriov_pf0
vf_id: 0 # vf number
use_dhcp: false
defroute: false
- type: vlan
vlan_id:
get_param: InternalApiNetw
device: sriov_vf0
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
Blueprint information
- Status:
- Complete
- Approver:
- Saravanan KR
- Priority:
- Medium
- Drafter:
- Karthik S
- Direction:
- Approved
- Assignee:
- Karthik S
- Definition:
- Approved
- Series goal:
- Accepted for rocky
- Implementation:
-
Implemented
- Milestone target:
-
rocky-3
- Started by
- Saravanan KR
- Completed by
- Alex Schultz
Related branches
Related bugs
Sprints
Whiteboard
[2018-07-24] (aschultz) Listed patches have been merged, marking as implemented. Feel free to reopen if this is not the case.
[2018-07-11] Looks like there has been some progress but there are patches still open
Work Items
Work items:
Identify Configuration Parameters (e.g. ifcfg files): INPROGRESS
Implement SR-IOV PF/VF Support in os-net-config: INPROGRESS
Create Sample Environment Templates in tripleo-
Document Configuration of PF/VF in tripleo-docs: TODO