About this task
Procedure
-
In OVSDB, setup the dpdk-extra parameter as in the following
example:
# ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-extra=”-n6 \ --iova-mode=pa --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d \ -a 0000:3b:00.0 -a 0000:3b:00.4 -a 0000:3b:00.5”
This configures 3 ports, the mandatory VF#0 and then additionally VF#4 and VF#5. These are now configured with 1 queue each.
Set --vfio-vf-token to the uuid which is generated using the uuidgen command. For example:uuidgen 14d63f20-8445-11ea-8900-1f9ce7d5650d
-
For a multiqueue setup, add the portqueues[] parameter to VF#0 as in
the following example:
# ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-extra=”-n6 \ --iova-mode=pa --vfio-vf-token=14d63f20-8445-11ea-8900-1f9ce7d5650d \ -a 0000:3b:00.0,portqueues=[4:2,5:2] -a 0000:3b:00.4 -a 0000:3b:00.5”
VF#4 with 2 queues and VF#5 with 2 queues is created.
-
In OVSDB, define OVS representor virtual ports as in this OVS bridge example:
# ovs_vsctl add-port br0 dpdkvp0 – set interface dpdkvp0 \ type=dpdk options:dpdk-devargs=”0000:3b:00.4” 0dd0725f-53fe-45e4-8b96-95d4a2e7a674 Bridge "br0" datapath_type: netdev Port "dpdkvp0" Interface "dpdkvp0" type: dpdk options: {dpdk-devargs="0000:3b:00.4"} Port "dpdkvp1" Interface "dpdkvp1" type: dpdk options: {dpdk-devargs="0000:3b:00.5"} Port "br0" Interface "br0" type: internal