2.54. test_ip_ecmp module

class test_ip_ecmp.TestECMP(methodName='runTest')

Bases: framework.VppTestCase

Equal-cost multi-path routing Test Case

create_ip_routes(dst_ip_net, dst_prefix_len, is_ipv6=0)

Create IP routes for defined destination IP network.

  • dst_ip_net (str) – Destination IP network.

  • dst_prefix_len (int) – IP address prefix length.

  • is_ipv6 (int) – 0 if an ip4 route, else ip6

create_stream(src_if, src_ip_start, dst_ip_start, ip_prefix_len, packet_sizes, ip_l=scapy.layers.inet.IP)

Create input packet stream for defined interfaces.

  • src_if (VppInterface) – Source Interface for packet stream.

  • src_ip_start (str) – Starting source IPv4 or IPv6 address.

  • dst_ip_start (str) – Starting destination IPv4 or IPv6 address.

  • ip_prefix_len (int) – IP address prefix length.

  • packet_sizes (list) – packet size to test.

  • ip_l (Scapy) – Required IP layer - IP or IPv6. (Default is IP.)

get_ip_address(ip_addr_start, ip_prefix_len)
  • ip_addr_start (str) – Starting IPv4 or IPv6 address.

  • ip_prefix_len (int) – IP address prefix length.


Random IPv4 or IPv6 address from required range.


Clear trace before running each test

classmethod setUpClass()

Perform standard class setup (defined by class method setUpClass in class VppTestCase) before running the test case, set test case related variables and configure VPP.


Allow subclass specific teardown logging additions.


Show various debug prints after each test.

classmethod tearDownClass()

Perform final cleanup after running all tests in this test-case


IPv6 equal-cost multi-path routing test


IP equal-cost multi-path routing test

verify_capture(rx_if, capture, ip_l=scapy.layers.inet.IP)

Verify captured input packet stream for defined interface.

  • rx_if (VppInterface) – Interface to verify captured packet stream.

  • capture (list) – Captured packet stream.

  • ip_l (Scapy) – Required IP layer - IP or IPv6. (Default is IP.)