ip6 tunnels

lisp

2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy

2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy

ip6-lispgpe-ip4 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6-LISPGPE-IPv4-ICMPv4 on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv6 routing and static routes. LISPoIPv6 tunnel is configured between DUT1 and TG.

  • [Ver] TG verification: Test ICMPv4 Echo Request packets are sent in TG->DUT(if1); On receive TG(if2) verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-0c- 
ethip6lispgpe-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=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:00’, ‘ip_address’: ‘6.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:0a’, ‘ip_address’: ‘6.0.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:0a’, ‘ip_address’: ‘6:0:1::2’})
ip_address_dump(sw_if_index=1,is_ipv6=True)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
lisp_enable_disable(is_enable=True)
gpe_enable_disable(is_enable=True)
lisp_add_del_locator_set(is_add=True,locator_set_name=’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=True,locator_set_name=’tst_locator’,sw_if_index=2,priority=1,weight=1)
lisp_add_del_local_eid(is_add=True,eid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x00’}}}}},locator_set_name=’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=True,is_src_dst=True,vni=0,deid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x02x00’}}}}},seid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x00’}}}}},rloc_num=1,rlocs=[{‘priority’: 0, ‘weight’: 0, ‘ip_address’: IPv6Address(‘6:0:1::2’)}])
lisp_add_del_adjacency(is_add=True,vni=0,reid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x02x00’}}}}},leid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x00’}}}}})

2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy

2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy

ip6-lispgpe-ip6 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6-LISPGPE-IPv6-ICMPv6 on DUT1-TG, Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv6 routing and static routes. LISPoIPv6 tunnel is configured between DUT1 and TG.

  • [Ver] TG verification: Test ICMPv6 Echo Request packets are sent in TG->DUT(if1); On receive TG(if2) verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-0c- 
ethip6lispgpe-ip6base-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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:00’, ‘ip_address’: ‘6::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:0a’, ‘ip_address’: ‘6:0:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘ba:dc:0f:fe:00:0a’, ‘ip_address’: ‘6:0:1::2’})
lisp_enable_disable(is_enable=True)
gpe_enable_disable(is_enable=True)
lisp_add_del_locator_set(is_add=True,locator_set_name=’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=True,locator_set_name=’tst_locator’,sw_if_index=2,priority=1,weight=1)
lisp_add_del_local_eid(is_add=True,eid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’}}}}},locator_set_name=’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=True,is_src_dst=True,vni=0,deid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’}}}}},seid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’}}}}},rloc_num=1,rlocs=[{‘priority’: 0, ‘weight’: 0, ‘ip_address’: IPv6Address(‘6:0:1::2’)}])
lisp_add_del_adjacency(is_add=True,vni=0,reid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’}}}}},leid={‘type’: 0, ‘address’: {‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’}}}}})