ip4

2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy

2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy

ADL Security IPv4 allowlist test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. ADL security allowlist are applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4- 
ip4base-adlalwlistbase-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
adl_allowlist_enable_disable(sw_if_index=1,fib_id=1,ip4=True,ip6=False,default_adl=0)
adl_interface_enable_disable(sw_if_index=1,enable_disable=True)

2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy

2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy

ADL Security IPv4 allowlist test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. ADL security allowlist are applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4- 
ip4base-adlblklistbase-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
adl_allowlist_enable_disable(sw_if_index=1,fib_id=1,ip4=True,ip6=False,default_adl=0)
adl_interface_enable_disable(sw_if_index=1,enable_disable=True)

2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy

2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy

IPv4 iAcl whitelist test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. IPv4 iAcl security whitelist is applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4- 
ip4base-iacldstbase-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=1,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00xffxffxffxffx00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=4294967295,opaque_index=4294967295,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x14x14x14x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
input_acl_set_interface(sw_if_index=1,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295,is_add=1)

2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy

2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy

IPv4 policer test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: On DUT1 configure interfaces IPv4 addresses and static ARP record on the second interface. On DUT1 configure 2R3C color-aware policer on the first interface.

  • [Ver] TG verification: Test packet is sent from TG on the first link to DUT1. Packet is received on TG on the second link from DUT1.

  • [Ref] Applicable standard specifications: RFC2474, RFC2697, RFC2698.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4- 
ip4base-ipolicemarkbase-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
policer_add_del(is_add=True,name=’policer1’,cir=100,eir=150,cb=64,eb=64,rate_type=1,round_type=0,type=2,conform_action={‘type’: 1, ‘dscp’: 0},exceed_action={‘type’: 2, ‘dscp’: 20},violate_action={‘type’: 1, ‘dscp’: 0},color_aware=True)
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=1,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00xffxffxffxffx00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x14x14x14x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=1,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00nnnx02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=2,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295)

2n1l-10ge2p1x710-ethip4-ip4base-scapy

2n1l-10ge2p1x710-ethip4-ip4base-scapy

IPv4 routing test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for IPv4 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and two static IPv4 /24 route entries.

  • [Ver] TG verification: Test IPv4 packet with IP protocol=61 is sent in one direction by TG on links to DUT1; on receive TG verifies packet for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC791, RFC826, RFC792

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4-ip4base-scapy 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x01’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nnnx02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x02’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x14x14x14x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy

2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy

NAT44 deterministic mode test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-TCP for IPv4 routing.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and one static IPv4 /24 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: Eth-IPv4-TCP packet is sent from TG to DUT1 in one direction. Packet is received and verified for correctness on TG. Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet is received and verified for correctness on TG.

  • [Ref] Applicable standard specifications: RFC791, RFC793, RFC3022 and RFC4787.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c- 
ethip4tcp-nat44det-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 20, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 20, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x0cx00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘12.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x1ex00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x0cx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
det44_plugin_enable_disable(enable=True,inside_vrf=0,outside_vrf=0)
det44_interface_add_del_feature(is_add=True,is_inside=True,sw_if_index=1)
det44_interface_add_del_feature(is_add=True,is_inside=False,sw_if_index=2)
det44_add_del_map(is_add=True,in_addr=b’x14x00x00x00’,in_plen=32,out_addr=b’xc8x00x00x00’,out_plen=32)

2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy

2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy

Connections per second NAT44 endpoint-dependent mode performance test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-TCP for IPv4 routing.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and one static IPv4 /18 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: Eth-IPv4-TCP packet is sent from TG to DUT1 in one direction. Packet is received and verified for correctness on TG. Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet is received and verified for correctness on TG.

  • [Ref] Applicable standard specifications: RFC791, RFC793, RFC3022 and RFC4787.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4tcp-nat44ed-scapy 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x0cx00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘12.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 22, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 22, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x0cx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
nat44_ed_plugin_enable_disable(enable=True,inside_vrf=0,outside_vrf=0,sessions=81920,session_memory=0,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
nat44_interface_add_del_feature(sw_if_index=1,is_add=1,flags=32)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
nat44_interface_add_del_feature(sw_if_index=2,is_add=1,flags=16)
nat44_add_del_address_range(is_add=True,first_ip_address=b’Dx8eDx00’,last_ip_address=b’Dx8eDx00’,vrf_id=4294967295,flags=0)

2n1l-10ge2p1x710-ethip4udp-nat44det-scapy

2n1l-10ge2p1x710-ethip4udp-nat44det-scapy

NAT44 deterministic mode test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for IPv4 routing.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and one static IPv4 /24 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: Eth-IPv4-UDP packet is sent from TG to DUT1 in one direction. Packet is received and verified for correctness on TG. Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet is received and verified for correctness on TG.

  • [Ref] Applicable standard specifications: RFC791, RFC768, RFC3022 and RFC4787.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c- 
ethip4udp-nat44det-scapy

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 20, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 20, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x0cx00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘12.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x1ex00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x0cx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
det44_plugin_enable_disable(enable=True,inside_vrf=0,outside_vrf=0)
det44_interface_add_del_feature(is_add=True,is_inside=True,sw_if_index=1)
det44_interface_add_del_feature(is_add=True,is_inside=False,sw_if_index=2)
det44_add_del_map(is_add=True,in_addr=b’x14x00x00x00’,in_plen=32,out_addr=b’xc8x00x00x00’,out_plen=32)

2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy

2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy

RFC2544: Pkt throughput NAT44 endpoint-dependent mode performance test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for IPv4 routing.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and one static IPv4 /22 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: Eth-IPv4-UDP packet is sent from TG to DUT1 in one direction. Packet is received and verified for correctness on TG. Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet is received and verified for correctness on TG.

  • [Ref] Applicable standard specifications: RFC791, RFC768, RFC3022 and RFC4787.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-0c-ethip4udp-nat44ed-scapy 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x0cx00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:18’, ‘ip_address’: ‘10.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:19’, ‘ip_address’: ‘12.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 22, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 22, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x0cx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
nat44_ed_plugin_enable_disable(enable=True,inside_vrf=0,outside_vrf=0,sessions=81920,session_memory=0,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
nat44_interface_add_del_feature(sw_if_index=1,is_add=1,flags=32)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
nat44_interface_add_del_feature(sw_if_index=2,is_add=1,flags=16)
nat44_add_del_address_range(is_add=True,first_ip_address=b’Dx8eDx00’,last_ip_address=b’Dx8eDx00’,vrf_id=4294967295,flags=0)