.. |br| raw:: html
.. |prein| raw:: html


.. |preout| raw:: html

    
VXLAN Overlay Tunnels --------------------- eth2p-dot1qip4vxlan-l2bdbasemaclrn-func ''''''''''''''''''''''''''''''''''''''' **RFC7348 VXLAN: Bridge-domain with VXLAN over VLAN test cases** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-dot1q-IPv4-VXLAN-Eth-IPv4-ICMPv4 on DUT1-DUT2, Eth-dot1q-IPv4-ICMPv4 on TG-DUTn for L2 switching of IPv4. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with static MACs, MAC learning enabled and Split Horizon Groups (SHG) depending on test case; VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +==========================================================================================+=======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv4oVLAN tunnels switch ICMPv4 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vlan_subif sw_if_index 3 vlan 10 |br| exec show interfaces |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 5 172.16.0.1/24 |br| ip_neighbor_add_del sw_if_index 5 dst 172.16.0.2 mac fa:16:3e:ba:8f:4f |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 23 |br| sw_interface_set_flags sw_if_index 6 admin-up |br| bridge_domain_add_del bd_id 23 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 23 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 23 shg 0 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vlan_subif sw_if_index 3 vlan 10 |br| exec show interfaces |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 5 172.16.0.2/24 |br| ip_neighbor_add_del sw_if_index 5 dst 172.16.0.1 mac fa:16:3e:a7:5f:48 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 23 |br| sw_interface_set_flags sw_if_index 6 admin-up |br| bridge_domain_add_del bd_id 23 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 23 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 23 shg 0 enable |br| |preout| | +------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func '''''''''''''''''''''''''''''''''''''''''''''''''''' **L2BD with VM combined with VXLAN test cases - IPv4** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for L2 switching of IPv4. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled; VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=====================================================================================================+=================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01:DUT1 and DUT2 with two L2BDs and VXLANoIPv4 tunnel switch ICMPv4 between TG links and VM links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vhost_user_if socket /tmp/sock1 |br| create_vhost_user_if socket /tmp/sock2 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_add_del_address sw_if_index 3 172.16.0.1/24 |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 7 bd_id 20 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 20 shg 0 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vhost_user_if socket /tmp/sock1 |br| create_vhost_user_if socket /tmp/sock2 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_add_del_address sw_if_index 3 172.16.0.2/24 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 7 bd_id 20 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 20 shg 0 enable |br| |preout| | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth2p-ethip4vxlan-l2bdbasemaclrn-func ''''''''''''''''''''''''''''''''''''' **Bridge-domain with VXLAN test cases - IPv4** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for L2 switching of IPv4. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled; VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=====================================================================================+===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv4 tunnels switch ICMPv4 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.1/24 |br| ip_neighbor_add_del sw_if_index 3 dst 172.16.0.2 mac fa:16:3e:ba:8f:4f |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.2/24 |br| ip_neighbor_add_del sw_if_index 3 dst 172.16.0.1 mac fa:16:3e:a7:5f:48 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth2p-ethip4vxlan-l2xcbase-func ''''''''''''''''''''''''''''''' **RFC7348 VXLAN: L2 cross-connect with VXLAN test cases** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for L2 switching of IPv4. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 cross-connect (L2XC) switching; VXLAN tunnels are configured between L2XCs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=====================================================================================+===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2XC and VXLANoIPv4 tunnels switch ICMPv4 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.1/24 |br| ip_neighbor_add_del sw_if_index 3 dst 172.16.0.2 mac fa:16:3e:ba:8f:4f |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 24 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_xconnect rx_sw_if_index 1 tx_sw_if_index 5 |br| sw_interface_set_l2_xconnect rx_sw_if_index 5 tx_sw_if_index 1 |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.2/24 |br| ip_neighbor_add_del sw_if_index 3 dst 172.16.0.1 mac fa:16:3e:a7:5f:48 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 24 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_xconnect rx_sw_if_index 1 tx_sw_if_index 5 |br| sw_interface_set_l2_xconnect rx_sw_if_index 5 tx_sw_if_index 1 |br| |preout| | +-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth2p-ethip6vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func '''''''''''''''''''''''''''''''''''''''''''''''''''' **L2BD with VM combined with VXLAN test cases - IPv6** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-IPv6-VXLAN-Eth-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn for L2 switching of IPv6. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled; VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv6 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=====================================================================================================+=================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01:DUT1 and DUT2 with two L2BDs and VXLANoIPv6 tunnel switch ICMPv6 between TG links and VM links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vhost_user_if socket /tmp/sock1 |br| create_vhost_user_if socket /tmp/sock2 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::1/64 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 7 bd_id 20 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 20 shg 0 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| create_vhost_user_if socket /tmp/sock1 |br| create_vhost_user_if socket /tmp/sock2 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::2/64 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 7 bd_id 20 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 20 shg 0 enable |br| |preout| | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth2p-ethip6vxlan-l2bdbasemaclrn-func ''''''''''''''''''''''''''''''''''''' **Bridge-domain with VXLAN test cases - IPv6** - **[Top] Network topologies:** TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes. - **[Enc] Packet encapsulations:** Eth-IPv6-VXLAN-Eth-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn for L2 switching of IPv6. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled; VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv6 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=====================================================================================+=========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv6 tunnels switch ICMPv6 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::1/64 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::2/64 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 23 |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func ''''''''''''''''''''''''''''''''''''''''''' **L2BD with SHG combined with VXLAN test cases - IPv4** - **[Top] Network topologies:** TG=DUT1=DUT2=TG 3-node circular topology with double parallel links. - **[Enc] Packet encapsulations:** Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for L2 switching of IPv4. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled and Split Horizon Groups (SHG); VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=======================================================================================================+===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv4 tunnels in SHG switch ICMPv4 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.1/24 |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 23 |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 1 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 10 shg 1 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.2/24 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 23 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 20 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 20 shg 0 enable |br| bridge_domain_add_del bd_id 30 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 30 shg 0 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 30 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv4 tunnels in different SHGs switch ICMPv4 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.1/24 |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 23 |br| vxlan_add_del_tunnel src 172.16.0.1 dst 172.16.0.2 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 1 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 10 shg 2 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 172.16.0.2/24 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 23 |br| vxlan_add_del_tunnel src 172.16.0.2 dst 172.16.0.1 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 20 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 20 shg 0 enable |br| bridge_domain_add_del bd_id 30 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 30 shg 0 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 30 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func ''''''''''''''''''''''''''''''''''''''''''' **L2BD with SHG combined with VXLAN test cases - IPv6** - **[Top] Network topologies:** TG=DUT1=DUT2=TG 3-node circular topology with double parallel links. - **[Enc] Packet encapsulations:** th-IPv6-VXLAN-Eth-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn for L2 switching of IPv6. - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) switching combined with MAC learning enabled and Split Horizon Groups (SHG); VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. - **[Ver] TG verification:** Test ICMPv4 Echo Request packets are sent in both directions by TG on links to DUT1 and DUT2; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7348. +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | VPP API Test (VAT) Commands History - Commands Used Per Test Case | +=======================================================================================================+===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv6 tunnels in SHG switch ICMPv6 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::1/64 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 23 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 1 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 10 shg 1 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::2/64 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 23 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 20 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 20 shg 0 enable |br| bridge_domain_add_del bd_id 30 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 30 shg 0 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 30 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TC02: DUT1 and DUT2 with L2BD and VXLANoIPv6 tunnels in different SHGs switch ICMPv6 between TG links | |prein| **DUT1:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::1/64 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 23 |br| vxlan_add_del_tunnel src 3ffe:64::1 dst 3ffe:64::2 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 10 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 10 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 10 shg 1 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 10 shg 2 enable |br| |br| **DUT2:** |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_flags sw_if_index 3 admin-up |br| sw_interface_dump |br| sw_interface_add_del_address sw_if_index 3 3ffe:64::2/64 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 23 |br| vxlan_add_del_tunnel src 3ffe:64::2 dst 3ffe:64::1 vni 35 |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_dump |br| bridge_domain_add_del bd_id 20 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 2 admin-up |br| sw_interface_set_l2_bridge sw_if_index 2 bd_id 20 shg 0 enable |br| sw_interface_set_flags sw_if_index 5 admin-up |br| sw_interface_set_l2_bridge sw_if_index 5 bd_id 20 shg 0 enable |br| bridge_domain_add_del bd_id 30 flood 1 uu-flood 1 forward 1 learn 1 arp-term 0 |br| sw_interface_set_flags sw_if_index 1 admin-up |br| sw_interface_set_l2_bridge sw_if_index 1 bd_id 30 shg 0 enable |br| sw_interface_set_flags sw_if_index 6 admin-up |br| sw_interface_set_l2_bridge sw_if_index 6 bd_id 30 shg 0 enable |br| |preout| | +-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+