test_l2_fib module

L2 FIB Test Case HLD:

config 1
  • add 4 pg-l2 interfaces
  • configure them into l2bd
  • configure 100 MAC entries in L2 fib - 25 MACs per interface
  • L2 MAC learning and unknown unicast flooding disabled in l2bd
  • configure 100 MAC entries in L2 fib - 25 MACs per interface
test 1
  • send L2 MAC frames between all 4 pg-l2 interfaces for all of 100 MAC entries in the FIB
verify 1
  • all packets received correctly
config 2
  • delete 12 MAC entries - 3 MACs per interface
test 2a
  • send L2 MAC frames between all 4 pg-l2 interfaces for non-deleted MAC entries
verify 2a
  • all packets received correctly
test 2b
  • send L2 MAC frames between all 4 pg-l2 interfaces for all of 12 deleted MAC entries
verify 2b
  • no packet received on all 4 pg-l2 interfaces
config 3
  • configure new 100 MAC entries in L2 fib - 25 MACs per interface
test 3
  • send L2 MAC frames between all 4 pg-l2 interfaces for all of 188 MAC entries in the FIB
verify 3
  • all packets received correctly
config 4
  • delete 160 MAC entries, 40 MACs per interface
test 4a
  • send L2 MAC frames between all 4 pg-l2 interfaces for all of 28 non-deleted MAC entries
verify 4a
  • all packets received correctly
test 4b
  • try send L2 MAC frames between all 4 pg-l2 interfaces for all of 172 deleted MAC entries
verify 4b
  • no packet received on all 4 pg-l2 interfaces
class test_l2_fib.TestL2fib(methodName='runTest')

Bases: framework.VppTestCase

L2 FIB Test Case

config_l2_fib_entries(count, start=0)

Create required number of L2 FIB entries.

Parameters:
  • count (int) – Number of L2 FIB entries to be created.
  • start (int) – Starting index of the host list. (Default value = 0)
create_hosts(count, start=0)

Create required number of host MAC addresses and distribute them among interfaces. Create host IPv4 address for every host MAC address.

Parameters:
  • count (int) – Number of hosts to create MAC/IPv4 addresses for.
  • start (int) – Number to start numbering from.
create_stream(src_if, packet_sizes, deleted=False)

Create input packet stream for defined interface using hosts or deleted_hosts list.

Parameters:
  • src_if (object) – Interface to create packet stream for.
  • packet_sizes (list) – List of required packet sizes.
  • deleted (boolean) – Set to True if deleted_hosts list required.
Returns:

Stream of packets.

delete_l2_fib_entry(count)

Delete required number of L2 FIB entries.

Parameters:count (int) – Number of L2 FIB entries to be created.
run_verify_negat_test()
run_verify_test()
setUp()

Clear trace and packet infos 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.

Variables:
  • bd_id (int) – Bridge domain ID.
  • mac_entries_count (int) – Number of MAC entries for bridge-domain.
tearDown()

Show various debug prints after each test.

test_l2_fib_01()

L2 FIB test 1 - program 100 MAC addresses

test_l2_fib_02()

L2 FIB test 2 - delete 12 MAC entries

test_l2_fib_03()

L2 FIB test 3 - program new 100 MAC addresses

test_l2_fib_04()

L2 FIB test 4 - delete 160 MAC entries

verify_capture(pg_if, capture)

Verify captured input packet stream for defined interface.

Parameters:
  • pg_if (object) – Interface to verify captured packet stream for.
  • capture (list) – Captured packet stream.