Add MTU handling into perf tests 34/13534/22
authorPeter Mikus <pmikus@cisco.com>
Wed, 18 Jul 2018 12:34:19 +0000 (12:34 +0000)
committerPeter Mikus <pmikus@cisco.com>
Wed, 25 Jul 2018 11:22:04 +0000 (11:22 +0000)
- Add ability to configure MTU on interfaces. Put the MTU into configuration
keywors for all perf testcases.

Change-Id: I364b4bc26b26f2f66f350949c0aaa2a2aa675682
Signed-off-by: Peter Mikus <pmikus@cisco.com>
49 files changed:
resources/libraries/python/IPv6Setup.py
resources/libraries/python/InterfaceUtil.py
resources/libraries/robot/performance/performance_configuration.robot
resources/templates/vat/hw_interface_set_mtu.vat [new file with mode: 0644]
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-int-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-int-cbc-sha1-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-tnl-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnlsw-ip4base-tnl-cbc-sha1-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-mrr.robot
tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot
tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-mrr.robot
tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot
tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot
tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermit-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermit-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermitreflect-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermitreflect-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-noacl-2vhostvr1024-1vm-mrr.robot
tests/vpp/perf/vts/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-noacl-2vhostvr1024-1vm-ndrpdr.robot

index 94c95e5..e0de406 100644 (file)
@@ -221,10 +221,11 @@ class IPv6Setup(object):
         :type interface: str
         """
         sw_if_index = Topology.get_interface_sw_index(node, interface)
-        VatExecutor.cmd_from_template(node,
-                                      'sw_interface_ip6nd_ra_config.vat',
-                                      sw_if_id=sw_if_index,
-                                      param='surpress')
+        if sw_if_index:
+            VatExecutor.cmd_from_template(node,
+                                          'sw_interface_ip6nd_ra_config.vat',
+                                          sw_if_id=sw_if_index,
+                                          param='surpress')
 
     @staticmethod
     def vpp_ra_send_after_interval(node, interface, interval=2):
@@ -239,10 +240,11 @@ class IPv6Setup(object):
         :type interval: int
         """
         sw_if_index = Topology.get_interface_sw_index(node, interface)
-        VatExecutor.cmd_from_template(node,
-                                      'sw_interface_ip6nd_ra_config.vat',
-                                      sw_if_id=sw_if_index,
-                                      param='interval {0}'.format(interval))
+        if sw_if_index:
+            VatExecutor.cmd_from_template(node,
+                                          'sw_interface_ip6nd_ra_config.vat',
+                                          sw_if_id=sw_if_index,
+                                          param='interval {0}'.format(interval))
 
     def vpp_all_ra_suppress_link_layer(self, nodes):
         """Suppress ICMPv6 router advertisement message for link scope address
index 5e3c4c4..c5223d5 100644 (file)
@@ -122,6 +122,53 @@ class InterfaceUtil(object):
         for ifc in node['interfaces']:
             InterfaceUtil.set_interface_ethernet_mtu(node, ifc, 1500)
 
+    @staticmethod
+    def vpp_set_interface_mtu(node, interface, mtu=9200):
+        """Set Ethernet MTU on interface.
+
+        :param node: VPP node.
+        :param interface: Interface to setup MTU. Default: 9200.
+        :param mtu: Ethernet MTU size in Bytes.
+        :type node: dict
+        :type interface: str or int
+        :type mtu: int
+        """
+        if isinstance(interface, basestring):
+            sw_if_index = Topology.get_interface_sw_index(node, interface)
+        else:
+            sw_if_index = interface
+
+        if sw_if_index:
+            with VatTerminal(node, json_param=False) as vat:
+                vat.vat_terminal_exec_cmd_from_template(
+                    "hw_interface_set_mtu.vat", sw_if_index=sw_if_index,
+                    mtu=mtu)
+
+    @staticmethod
+    def vpp_set_interfaces_mtu_on_node(node, mtu=9200):
+        """Set Ethernet MTU on all interfaces.
+
+        :param node: VPP node.
+        :param mtu: Ethernet MTU size in Bytes. Default: 9200.
+        :type node: dict
+        :type mtu: int
+        """
+        for interface in node['interfaces']:
+            InterfaceUtil.vpp_set_interface_mtu(node, interface, mtu)
+
+    @staticmethod
+    def vpp_set_interfaces_mtu_on_all_duts(nodes, mtu=9200):
+        """Set Ethernet MTU on all interfaces on all DUTs.
+
+        :param nodes: VPP nodes.
+        :param mtu: Ethernet MTU size in Bytes. Default: 9200.
+        :type nodes: dict
+        :type mtu: int
+        """
+        for node in nodes.values():
+            if node['type'] == NodeType.DUT:
+                InterfaceUtil.vpp_set_interfaces_mtu_on_node(node, mtu)
+
     @staticmethod
     def vpp_node_interfaces_ready_wait(node, timeout=10):
         """Wait until all interfaces with admin-up are in link-up state.
index 2310047..2e2eb84 100644 (file)
 | Documentation | Performance suite keywords - configuration.
 
 *** Keywords ***
-| Set interfaces in path in 2-node circular topology up
+| Set interfaces in path up
 | | [Documentation]
-| | ... | *Set UP state on VPP interfaces in path on nodes in 2-node circular
-| | ... | topology.*
+| | ... | *Set UP state on VPP interfaces in path on all DUT nodes and set
+| | ... | maximal MTU.*
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Vpp Node Interfaces Ready Wait | ${dut1}
-
-| Set interfaces in path in 3-node circular topology up
-| | [Documentation]
-| | ... | *Set UP state on VPP interfaces in path on nodes in 3-node circular
-| | ... | topology.*
-| | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
-| | Vpp Node Interfaces Ready Wait | ${dut1}
-| | Vpp Node Interfaces Ready Wait | ${dut2}
+# TODO: Rework KW to set all interfaces in path UP and set MTU (including
+# software interfaces. Run KW at the end phase of VPP setup to split
+# from other "functial" configuration. This will allow modularity of this
+# library
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Set Interface State | ${nodes['${dut}']} | ${${dut}_if1} | up
+| | | VPP Set Interface MTU | ${nodes['${dut}']} | ${${dut}_if1}
+| | | Set Interface State | ${nodes['${dut}']} | ${${dut}_if2} | up
+| | | VPP Set Interface MTU | ${nodes['${dut}']} | ${${dut}_if2}
+| | | VPP Node Interfaces Ready Wait | ${nodes['${dut}']}
 
 | Initialize IPSec in 3-node circular topology
 | | [Documentation]
@@ -68,6 +64,7 @@
 | | ... | with prefix /8 and next hop of neighbour DUT or TG interface IPv4
 | | ... | address.
 | | ...
+| | Set interfaces in path up
 | | VPP Show Crypto Device Mapping | ${dut1}
 | | VPP Show Crypto Device Mapping | ${dut2}
 | | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ... | interfaces. Setup IPv4 addresses with /24 prefix on DUT-TG links and
 | | ... | /30 prefix on DUT1 link.
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
 | | ... | 10.10.10.1 | 24
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2}
 | | ... | 20.20.20.1 | 24
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv4 forwarding in 3-node circular topology
 | | [Documentation]
 | | ... | /30 prefix on DUT1-DUT2 link. Set routing on both DUT nodes with
 | | ... | prefix /24 and next hop of neighbour DUT interface IPv4 address.
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | 20.20.20.1 | 24
 | | Vpp Route Add | ${dut1} | 20.20.20.0 | 24 | 1.1.1.2 | ${dut1_if2}
 | | Vpp Route Add | ${dut2} | 10.10.10.0 | 24 | 1.1.1.1 | ${dut2_if1}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv4 forwarding with scaling in 3-node circular topology
 | | [Documentation]
 | | ...
 | | [Arguments] | ${count}
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | count=${count}
 | | Vpp Route Add | ${dut2} | 20.0.0.0 | 32 | 3.3.3.1 | ${dut2_if2}
 | | ... | count=${count}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv4 forwarding with vhost in 3-node circular topology
 | | [Documentation]
 | | ...
 | | [Arguments] | ${sock1} | ${sock2}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2} | dut1_vhost_if1 | dut1_vhost_if2
 | | ${dut1_vif1}= | Set Variable | ${dut1_vhost_if1}
 | | ... | \| IPv4 forwarding with Vhost-User for '2' VMs initialized in \
 | | ... | a 3-node circular topology \|
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | ${fib_table_1}= | Set Variable | ${101}
 | | ${fib_table_2}= | Evaluate | ${fib_table_1}+${nr}
 | | Add Fib Table | ${dut1} | ${fib_table_1}
 | | ... | VPP interfaces. Setup IPv6 addresses with /128 prefixes on all
 | | ... | interfaces.
 | | ...
+| | Set interfaces in path up
 | | ${prefix}= | Set Variable | 64
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | Suppress ICMPv6 router advertisement message | ${nodes}
 | | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
 | | Add Ip Neighbor | ${dut1} | ${dut1_if2} | 2001:2::2 | ${tg1_if2_mac}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv6 forwarding in 3-node circular topology
 | | [Documentation]
 | | ... | interfaces. Set routing on both DUT nodes with prefix /64 and
 | | ... | next hop of neighbour DUT interface IPv6 address.
 | | ...
+| | Set interfaces in path up
 | | ${prefix}= | Set Variable | 64
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | Add Ip Neighbor | ${dut2} | ${dut2_if1} | 2001:3::1 | ${dut1_if2_mac}
 | | Vpp Route Add | ${dut1} | 2001:2::0 | ${prefix} | 2001:3::2 | ${dut1_if2}
 | | Vpp Route Add | ${dut2} | 2001:1::0 | ${prefix} | 2001:3::1 | ${dut2_if1}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv6 forwarding with scaling in 3-node circular topology
 | | [Documentation]
 | | ...
 | | [Arguments] | ${count}
 | | ...
+| | Set interfaces in path up
 | | ${subn_prefix}= | Set Variable | 64
 | | ${host_prefix}= | Set Variable | 128
 | | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2001:3::1 | ${subn_prefix}
 | | ... | interface=${dut2_if1} | count=${count}
 | | Vpp Route Add | ${dut2} | 2001:2::0 | ${host_prefix} | 2001:5::2
 | | ... | interface=${dut2_if2} | count=${count}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize IPv6 iAcl whitelist in 3-node circular topology
 | | [Documentation]
 | | Run Keyword If | "${n}" == "2" and "${prepos}" == "without"
 | | ... | Vpp Route Add | ${dut1} | ${dut1_sid2_2} | ${sid_prefix}
 | | ... | ${tg_if1_ip6_subnet}2 | ${dut1_if1}
+| | Set interfaces in path up
 
 | Initialize IPv6 forwarding over SRv6 with endpoint to SR-unaware Service Function via '${behavior}' behaviour in 3-node circular topology
 | | [Documentation]
 | | Set up memif interfaces on DUT node | ${dut1} | ${sock1} | ${sock1}
 | | ... | ${1} | dut1-memif-1-if1 | dut1-memif-1-if2 | ${rxq_count_int}
 | | ... | ${rxq_count_int}
+| | VPP Set interface MTU | ${dut1} | ${dut1-memif-1-if1}
+| | VPP Set interface MTU | ${dut1} | ${dut1-memif-1-if2}
 | | Set up memif interfaces on DUT node | ${dut2} | ${sock2} | ${sock2}
 | | ... | ${1} | dut2-memif-1-if1 | dut2-memif-1-if2 | ${rxq_count_int}
 | | ... | ${rxq_count_int}
+| | VPP Set interface MTU | ${dut2} | ${dut2-memif-1-if1}
+| | VPP Set interface MTU | ${dut2} | ${dut2-memif-1-if2}
 | | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Show Memif | ${nodes['${dut}']}
 | | ... | Configure SR LocalSID on DUT | ${dut1} | ${dut1_sid2} | end.am
 | | ... | next_hop=${dut1_nh} | out_if=${dut1_out_if} | in_if=${dut1_in_if}
 | | ... | ELSE | Fail | Unsupported behaviour: ${behavior}
-| | All Vpp Interfaces Ready Wait | ${nodes}
+| | Set interfaces in path up
 
 | Initialize L2 patch
 | | [Documentation]
 | | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Configure L2patch | ${nodes['${dut}']} | ${${dut}_if1} | ${${dut}_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
+| | Set interfaces in path up
 
 | Initialize L2 xconnect in 2-node circular topology
 | | [Documentation]
 | | ... | Setup L2 xconnect topology by cross connecting two interfaces on
 | | ... | each DUT. Interfaces are brought up.
 | | ...
+| | Set interfaces in path up
 | | Configure L2XC | ${dut1} | ${dut1_if1} | ${dut1_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize L2 xconnect in 3-node circular topology
 | | [Documentation]
 | | ... | Setup L2 xconnect topology by cross connecting two interfaces on
 | | ... | each DUT. Interfaces are brought up.
 | | ... |
+| | Set interfaces in path up
 | | Configure L2XC | ${dut1} | ${dut1_if1} | ${dut1_if2}
 | | Configure L2XC | ${dut2} | ${dut2_if1} | ${dut2_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize L2 xconnect with VXLANoIPv4 in 3-node circular topology
 | | [Documentation]
 | | ... | between DUTs. VXLAN sub-interfaces has same IPv4 address as
 | | ... | interfaces.
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 172.16.0.1 | 24
 | | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1} | 172.16.0.2 | 24
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ...
 | | [Arguments] | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | Configure L2 tag rewrite method on interfaces
 | | ...
 | | [Arguments] | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
+| | Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut1} | ${dut1_eth_bond_if1}
 | | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut2} | ${dut2_eth_bond_if1}
 | | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_eth_bond_if1} | ${dut2} | ${dut2_eth_bond_if1}
 | | ... | ${subid}
 | | [Arguments] | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} | ${bond_mode}
 | | ... | ${lb_mode}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | ${dut1_eth_bond_if1}= | VPP Create Bond Interface | ${dut1} | ${bond_mode}
 | | ... | ${lb_mode}
 | | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut1} | ${dut1_eth_bond_if1}
 | | VPP Enslave Physical Interface | ${dut1} | ${dut1_if2}
 | | ... | ${dut1_eth_bond_if1}
 | | ${dut2_eth_bond_if1}= | VPP Create Bond Interface | ${dut2} | ${bond_mode}
 | | ... | ${lb_mode}
 | | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut1} | ${dut1_eth_bond_if1}
 | | VPP Enslave Physical Interface | ${dut2} | ${dut2_if1}
 | | ... | ${dut2_eth_bond_if1}
 | | VPP Show Bond Data On All Nodes | ${nodes} | details=${TRUE}
 | | ...
 | | [Arguments] | ${bd_id}=${1}
 | | ...
+| | Set interfaces in path up
 | | Add interface to bridge domain | ${dut1} | ${dut1_if1} | ${bd_id}
 | | Add interface to bridge domain | ${dut1} | ${dut1_if2} | ${bd_id}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize L2 bridge domain in 3-node circular topology
 | | [Documentation]
 | | ...
 | | [Arguments] | ${bd_id}=${1}
 | | ...
+| | Set interfaces in path up
 | | Add interface to bridge domain | ${dut1} | ${dut1_if1} | ${bd_id}
 | | Add interface to bridge domain | ${dut1} | ${dut1_if2} | ${bd_id}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if1} | ${bd_id}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Configure IPv4 ACLs
 | | [Documentation]
 | | ... | - ${dut2_if1} - DUT2 interface towards DUT1.
 | | ... | - ${dut2_if2} - DUT2 interface towards TG.
 | | ...
+| | Set interfaces in path up
 | | Configure L2BD forwarding | ${dut1} | ${dut1_if1} | ${dut1_if2}
 | | Configure L2XC | ${dut2} | ${dut2_if1} | ${dut2_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 | | Configure IPv4 ACLs | ${dut1} | ${dut1_if1} | ${dut1_if2}
 
 | Initialize IPv4 routing for '${ip_nr}' addresses with IPv4 ACLs on DUT1 in 3-node circular topology
 | | ... | - ${dut2_if1} - DUT2 interface towards DUT1.
 | | ... | - ${dut2_if2} - DUT2 interface towards TG.
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | ${dut2} | ${dut2_if2} | 20.20.20.1 | 24
 | | Vpp Route Add | ${dut1} | 20.20.20.0 | 24 | 1.1.1.2 | ${dut1_if2}
 | | Vpp Route Add | ${dut2} | 10.10.10.0 | 24 | 1.1.1.1 | ${dut2_if1}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 | | Configure IPv4 ACLs | ${dut1} | ${dut1_if1} | ${dut1_if2}
 
 | Configure MACIP ACLs
 | | ... | - ${dut2_if1} - DUT2 interface towards DUT1.
 | | ... | - ${dut2_if2} - DUT2 interface towards TG.
 | | ...
+| | Set interfaces in path up
 | | Configure L2BD forwarding | ${dut1} | ${dut1_if1} | ${dut1_if2}
 | | Configure L2XC | ${dut2} | ${dut2_if1} | ${dut2_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 | | Configure MACIP ACLs | ${dut1} | ${dut1_if1} | ${dut1_if2}
 
 | Initialize L2 bridge domains with Vhost-User in 3-node circular topology
 | | ... | between DUTs. VXLAN sub-interfaces has same IPv4 address as
 | | ... | interfaces.
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 172.16.0.1
 | | ... | 24
 | | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1} | 172.16.0.2
 | | ... | 172.16.0.2 | 172.16.0.1
 | | Configure L2BD forwarding | ${dut1} | ${dut1_if1} | ${dut1s_vxlan}
 | | Configure L2BD forwarding | ${dut2} | ${dut2_if2} | ${dut2s_vxlan}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
 | | [Documentation]
 | | ...
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 172.16.0.1
 | | ... | 24
 | | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1} | 172.16.0.2
 | | ... | 24
+| | Set interfaces in path up
 | | ${dut1s_vxlan}= | Create VXLAN interface | ${dut1} | 24
 | | ... | 172.16.0.1 | 172.16.0.2
 | | ${dut2s_vxlan}= | Create VXLAN interface | ${dut2} | 24
 | | ... | ${dut1_vxlans} | ${dut2_vxlans} | ${dut1_route_subnet} |
 | | ... | ${dut1_route_mask} | ${dut2_route_subnet} | ${dut2_route_mask}
 | | ...
+| | Set interfaces in path up
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} |
 | | ... | ${dut1_address} | ${dut1_address_subnet}
 | | Configure IP addresses on interfaces | ${dut2} | ${dut2_if2} |
 | | ...
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${subid} | ${tag_rewrite}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | Configure L2 tag rewrite method on interfaces
 | | Add interface to bridge domain | ${dut1} | ${subif_index_1} | ${bd_id1}
 | | Add interface to bridge domain | ${dut2} | ${subif_index_2} | ${bd_id2}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology
 | | [Documentation]
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | Configure L2 tag rewrite method on interfaces
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
+| | Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut1} | ${dut1_eth_bond_if1}
 | | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut2} | ${dut2_eth_bond_if1}
 | | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_eth_bond_if1} | ${dut2} | ${dut2_eth_bond_if1}
 | | ... | ${subid}
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite} | ${bond_mode} | ${lb_mode}
 | | ...
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | ${dut1_eth_bond_if1}= | VPP Create Bond Interface | ${dut1} | ${bond_mode}
 | | ... | ${lb_mode}
 | | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut1} | ${dut1_eth_bond_if1}
 | | VPP Enslave Physical Interface | ${dut1} | ${dut1_if2}
 | | ... | ${dut1_eth_bond_if1}
 | | ${dut2_eth_bond_if1}= | VPP Create Bond Interface | ${dut2} | ${bond_mode}
 | | ... | ${lb_mode}
 | | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | VPP Set interface MTU | ${dut2} | ${dut2_eth_bond_if1}
 | | VPP Enslave Physical Interface | ${dut2} | ${dut2_if1}
 | | ... | ${dut2_eth_bond_if1}
 | | VPP Show Bond Data On All Nodes | ${nodes} | details=${TRUE}
 | | [Arguments] | ${dut1_dut2_address} | ${dut1_tg_address}
 | | ... | ${dut2_dut1_address} | ${dut2_tg_address} | ${duts_prefix}
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | ${dut2_dut1_address} | ${duts_prefix}
 | | Configure IP addresses on interfaces | ${dut2} | ${dut2_if2}
 | | ... | ${dut2_tg_address} | ${duts_prefix}
-| | All Vpp Interfaces Ready Wait | ${nodes}
 
 | Initialize LISP GPE IPv4 over IPsec in 3-node circular topology
 | | [Documentation] | Setup Lisp GPE IPv4 forwarding over IPsec.
 | | ... | ${dut2} | ${dut2_if1} | ${encr_alg} | ${encr_key}
 | | ... | ${auth_alg} | ${auth_key} | ${dut2_spi} | ${dut1_spi}
 | | ... | ${dut2_to_dut1_ip4} | ${dut1_to_dut2_ip4}
-| | Set interfaces in path in 3-node circular topology up
 
 | Initialize LISP IPv6 forwarding in 3-node circular topology
 | | [Documentation] | Custom setup of IPv6 topology on all DUT nodes \
 | | [Arguments] | ${dut1_dut2_address} | ${dut1_tg_address}
 | | ... | ${dut2_dut1_address} | ${dut2_tg_address} | ${prefix}
 | | ...
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | ${dut2_dut1_ip6_address} | ${dut2_tg_ip4_address}
 | | ... | ${prefix4} | ${prefix6}
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | ${dut2_dut1_ip4_address} | ${dut2_tg_ip6_address}
 | | ... | ${prefix6} | ${prefix4}
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set interfaces in path up
 | | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
 | | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
 | | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
 | | ... | - create routes
 | | ... | - set NAT44 - only on DUT1
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
-| | All Vpp Interfaces Ready Wait | ${nodes}
+| | Set interfaces in path up
 | | ...
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} | 10.0.0.1 | 20
 | | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 11.0.0.1 | 20
 | | ... | \| Initialize L2 xconnect for 1 memif pairs in 3-node circular \
 | | ... | topology \|
 | | ...
-| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface State | ${dut1} | ${dut1_if2} | up
-| | Set Interface State | ${dut2} | ${dut2_if1} | up
-| | Set Interface State | ${dut2} | ${dut2_if2} | up
 | | :FOR | ${number} | IN RANGE | 1 | ${nr}+1
 | | | ${sock1}= | Set Variable | memif-DUT1_VNF
 | | | ${sock2}= | Set Variable | memif-DUT1_VNF
 | | | ... | ${dut1} | ${dut1-memif-${number}-if2} | ${dut1_if2}
 | | | Run Keyword If | ${number}==${nr} | Configure L2XC
 | | | ... | ${dut2} | ${dut2-memif-${number}-if2} | ${dut2_if2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
+| | Set interfaces in path up
 | | Show Memif on all DUTs | ${nodes}
 
 | Initialize L2 Bridge Domain for '${nr}' memif pairs in 3-node circular topology
 | | | ... | ${dut2-memif-${number}-if1} | ${number}
 | | | Add interface to bridge domain | ${dut2}
 | | | ... | ${dut2-memif-${number}-if2} | ${bd_id2}
-| | All Vpp Interfaces Ready Wait | ${nodes}
+| | Set interfaces in path up
 | | Show Memif on all DUTs | ${nodes}
 
 | Initialize L2 xconnect for single memif in 3-node circular topology
diff --git a/resources/templates/vat/hw_interface_set_mtu.vat b/resources/templates/vat/hw_interface_set_mtu.vat
new file mode 100644 (file)
index 0000000..645d1a8
--- /dev/null
@@ -0,0 +1 @@
+hw_interface_set_mtu sw_if_index {sw_if_index} mtu {mtu}
index 5bb1473..ea15ca2 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index f48ebfa..bc42594 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index fef81f5..eaf38d9 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index c0230dd..1c89ea2 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index bf24cd7..584d73f 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index 011b58b..966c16c 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index c7e495f..693454a 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index b79fb0c..b2a3fe5 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index e858f94..ca82611 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index b588d8e..e2170d1 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index 8031a97..be7b0af 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index becf2d6..7af39fa 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index 7f19d6f..f0cd0ae 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index d5056fd..5703418 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index 36a884f..80b20cf 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index 4aaa67d..c39f54e 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index dfaf5cf..bb88816 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index 2641fdc..a6f0af4 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index 4d79dc0..6ed1ee0 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index a8ff4af..c07e999 100644 (file)
 | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index a4d5ecc..f6e1add 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index 679f163..d9b9b3a 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index 8fd689b..95a9fa0 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Traffic should pass with maximum rate
 | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
 
index 4fa9028..f7d2b22 100644 (file)
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key}
 | | ... | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${laddr_ip4} | ${raddr_ip4}
 | | ... | ${addr_range}
-| | And Set interfaces in path in 3-node circular topology up
 | | Then Find NDR and PDR intervals using optimized search
 | | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate}
 
index f521200..d232e9d 100644 (file)
@@ -16,7 +16,7 @@
 | Library | resources.libraries.python.Policer
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR
-| ... | NIC_Intel-X710 | IP4FWD | BASE | DOT1Q
+| ... | NIC_Intel-X710 | IP4FWD | BASE | POLICE_MARK
 | ...
 | Suite Setup | Set up 3-node performance topology with DUT's NIC model
 | ... | L3 | Intel-X710
index 5ca0bcb..4fb2c81 100644 (file)
@@ -81,7 +81,7 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
+| | And Set interfaces in path up
 | | When Initialize VLAN sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif}
index aceb1eb..f7f18c1 100644 (file)
@@ -87,7 +87,7 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
+| | And Set interfaces in path up
 | | When Initialize VLAN sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif}
index f76311b..8d9648c 100644 (file)
@@ -77,7 +77,7 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
+| | And Set interfaces in path up
 | | When Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | And Configure L2 tag rewrite method on interfaces
index 929a453..2771504 100644 (file)
@@ -83,7 +83,6 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
 | | When Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | And Configure L2 tag rewrite method on interfaces
index 60cb307..8e7fb01 100644 (file)
@@ -77,7 +77,7 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
+| | And Set interfaces in path up
 | | When Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | And Configure L2 tag rewrite method on interfaces
index 7503cb1..059d1a6 100644 (file)
@@ -83,7 +83,6 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Set interfaces in path in 3-node circular topology up
 | | When Initialize VLAN dot1q sub-interfaces in 3-node circular topology
 | | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
 | | And Configure L2 tag rewrite method on interfaces
index 1d656d6..dfc6f88 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 bridge domains with Vhost-User and VLAN with DPDK link bonding in a 3-node circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
index f912511..75432cd 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 bridge domains with Vhost-User and VLAN with DPDK link bonding in a 3-node circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
index 5ec275a..7edc1bd 100644 (file)
@@ -98,7 +98,6 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 xconnect with Vhost-User and VLAN with DPDK link bonding in 3-node circular topology
 | | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ${vm1}= | And Configure guest VM with dpdk-testpmd connected via vhost-user
index 7e2276b..d835dc3 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 xconnect with Vhost-User and VLAN with DPDK link bonding in 3-node circular topology
 | | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ${vm1}= | And Configure guest VM with dpdk-testpmd connected via vhost-user
index 743ca1b..b2865f3 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 bridge domains with Vhost-User and VLAN with DPDK link bonding in a 3-node circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
index 0da750f..3cc6a30 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 bridge domains with Vhost-User and VLAN with DPDK link bonding in a 3-node circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
index f6b3411..66b7c5a 100644 (file)
@@ -98,7 +98,6 @@
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 xconnect with Vhost-User and VLAN with DPDK link bonding in 3-node circular topology
 | | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ${vm1}= | And Configure guest VM with dpdk-testpmd connected via vhost-user
index a6d9b83..edef03b 100644 (file)
 | | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo And Handle Multi Seg
 | | ... | ${s_limit} | ${framesize} | overhead=${overhead}
 | | And Apply startup configuration on all VPP DUTs
-| | And Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
 | | When Initialize L2 xconnect with Vhost-User and VLAN with DPDK link bonding in 3-node circular topology
 | | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
 | | ${vm1}= | And Configure guest VM with dpdk-testpmd connected via vhost-user
index c4491f2..bd25bfb 100644 (file)
@@ -96,7 +96,7 @@
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
index 6aa5a83..8eaefad 100644 (file)
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
index ff476a4..ed7f9bb 100644 (file)
@@ -96,7 +96,7 @@
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
index 69b6691..1c01c05 100644 (file)
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
index 4f055cb..0532eb2 100644 (file)
@@ -96,7 +96,7 @@
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
index e24218a..3532e0d 100644 (file)
 | | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
 | | @{dut1_vxlans} = | Create List | ${vxlan1}
 | | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path in 3-node circular topology up
+| | Set interfaces in path up
 | | Configure vhost interfaces for L2BD forwarding | ${dut1}
 | | ... | ${sock1} | ${sock2}
 | | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology