From 312a77a1ac353c1a135ac0b901863bbe8ee66f20 Mon Sep 17 00:00:00 2001 From: Karthik S Date: Wed, 5 Jul 2017 06:52:36 -0400 Subject: OvS 2.7 support - dpdk-devargs needs to provided for DPDK devices The pci address of the DPDK NIC needs to be specified as dpdk-devargs when adding the DPDK port. This is required for using DPDK with OvS 2.7 Change-Id: I4975130961199ee04dd002ec987081299e3ddd4a Closes-Bug: #1702457 Signed-off-by: Karthik S --- os_net_config/tests/test_impl_ifcfg.py | 38 ++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) (limited to 'os_net_config/tests/test_impl_ifcfg.py') diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index 3a56f4d..d41cf60 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -413,6 +413,14 @@ class TestIfcfgNetConfig(base.TestCase): def get_route6_config(self, name='em1'): return self.provider.route6_data.get(name, '') + def stub_get_stored_pci_address(self, ifname, noop): + if 'eth0' in ifname: + return "0000:00:07.0" + if 'eth1' in ifname: + return "0000:00:08.0" + if 'eth2' in ifname: + return "0000:00:09.0" + def test_add_base_interface(self): interface = objects.Interface('em1') self.provider.add_interface(interface) @@ -894,6 +902,8 @@ DNS2=5.6.7.8 self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_port(dpdk_port) self.provider.add_ovs_user_bridge(bridge) @@ -915,6 +925,7 @@ PEERDNS=no DEVICETYPE=ovs TYPE=OVSDPDKPort OVS_BRIDGE=br-link +OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=0000:00:09.0" """ self.assertEqual(br_link_config, self.provider.bridge_data['br-link']) @@ -934,6 +945,8 @@ OVS_BRIDGE=br-link self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_port(dpdk_port) self.provider.add_ovs_user_bridge(bridge) @@ -957,7 +970,8 @@ TYPE=OVSDPDKPort OVS_BRIDGE=br-link RX_QUEUE=4 MTU=9000 -OVS_EXTRA="set Interface $DEVICE mtu_request=$MTU \ +OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=0000:00:09.0 \ +-- set Interface $DEVICE mtu_request=$MTU \ -- set Interface $DEVICE options:n_rxq=$RX_QUEUE" """ self.assertEqual(br_link_config, @@ -980,6 +994,8 @@ OVS_EXTRA="set Interface $DEVICE mtu_request=$MTU \ self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_bond(bond) self.provider.add_ovs_user_bridge(bridge) @@ -994,6 +1010,8 @@ DEVICETYPE=ovs TYPE=OVSDPDKBond OVS_BRIDGE=br-link BOND_IFACES="dpdk0 dpdk1" +OVS_EXTRA="set Interface dpdk0 options:dpdk-devargs=0000:00:08.0 \ +-- set Interface dpdk1 options:dpdk-devargs=0000:00:09.0" """ self.assertEqual(dpdk_bond_config, self.get_interface_config('dpdkbond0')) @@ -1015,6 +1033,8 @@ BOND_IFACES="dpdk0 dpdk1" self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_bond(bond) self.provider.add_ovs_user_bridge(bridge) @@ -1030,7 +1050,9 @@ TYPE=OVSDPDKBond OVS_BRIDGE=br-link BOND_IFACES="dpdk0 dpdk1" MTU=9000 -OVS_EXTRA="set Interface dpdk0 mtu_request=$MTU \ +OVS_EXTRA="set Interface dpdk0 options:dpdk-devargs=0000:00:08.0 \ +-- set Interface dpdk1 options:dpdk-devargs=0000:00:09.0 \ +-- set Interface dpdk0 mtu_request=$MTU \ -- set Interface dpdk1 mtu_request=$MTU" """ self.assertEqual(dpdk_bond_config, @@ -1053,6 +1075,8 @@ OVS_EXTRA="set Interface dpdk0 mtu_request=$MTU \ self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_bond(bond) self.provider.add_ovs_user_bridge(bridge) @@ -1068,7 +1092,9 @@ TYPE=OVSDPDKBond OVS_BRIDGE=br-link BOND_IFACES="dpdk0 dpdk1" RX_QUEUE=4 -OVS_EXTRA="set Interface dpdk0 options:n_rxq=$RX_QUEUE \ +OVS_EXTRA="set Interface dpdk0 options:dpdk-devargs=0000:00:08.0 \ +-- set Interface dpdk1 options:dpdk-devargs=0000:00:09.0 \ +-- set Interface dpdk0 options:n_rxq=$RX_QUEUE \ -- set Interface dpdk1 options:n_rxq=$RX_QUEUE" """ self.assertEqual(dpdk_bond_config, @@ -1091,6 +1117,8 @@ OVS_EXTRA="set Interface dpdk0 options:n_rxq=$RX_QUEUE \ self.assertEqual(driver, 'vfio-pci') self.stubs.Set(utils, 'bind_dpdk_interfaces', test_bind_dpdk_interfaces) + self.stubs.Set(utils, 'get_stored_pci_address', + self.stub_get_stored_pci_address) self.provider.add_ovs_dpdk_bond(bond) self.provider.add_ovs_user_bridge(bridge) @@ -1107,7 +1135,9 @@ OVS_BRIDGE=br-link BOND_IFACES="dpdk0 dpdk1" RX_QUEUE=4 MTU=9000 -OVS_EXTRA="set Interface dpdk0 mtu_request=$MTU \ +OVS_EXTRA="set Interface dpdk0 options:dpdk-devargs=0000:00:08.0 \ +-- set Interface dpdk1 options:dpdk-devargs=0000:00:09.0 \ +-- set Interface dpdk0 mtu_request=$MTU \ -- set Interface dpdk1 mtu_request=$MTU \ -- set Interface dpdk0 options:n_rxq=$RX_QUEUE \ -- set Interface dpdk1 options:n_rxq=$RX_QUEUE" -- cgit 1.2.3-korg