.. |br| raw:: html
Softwire Tunnels ---------------- eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func ''''''''''''''''''''''''''''''''''''''''''''''''''''''' **Lightweight 4 over 6 test cases** LW4o6 is a subset of MAP-E, with per-subscriber rules. It uses the same tunneling mechanism and configuration as MAP-E. It does not use embedded address bits. - **[Top] Network Topologies:** TG=DUT1 2-node topology with two links between nodes. - **[Enc] Packet Encapsulations:** Eth-IPv4-UDP on TG_if1-DUT, Eth-IPv6-IPv4-UDP on TG_if2_DUT. - **[Cfg] DUT configuration:** DUT1 is configured as lwAFTR. - **[Ver] TG verification:** Test UDP ICMP Echo Request in IPv4 are sent to lwAFTR and are verified by TG for correctness their encapsulation in IPv6 src-addr, dst-addr and MAC addresses. - **[Ref] Applicable standard specifications:** RFC7596 RFC7597. +----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | Name | Documentation | Status | +==================================================================================+===================================================================================================================================================================================================================================================================================================================================================================================+========+ | TC01: Encapsulate IPv4 into IPv6. IPv6 dst depends on IPv4 and UDP destination | [Top] TG=DUT1. |br| [Enc] Eth-IPv4-UDP on TG_if1-DUT, Eth-IPv6-IPv4-UDP on TG_if2_DUT. |br| [Cfg] On DUT1 configure Map domain and Map rule. |br| [Ver] Make TG send non-encapsulated UDP to DUT; verify TG received IPv4oIPv6 encapsulated packet is correct. |br| [Ref] RFC7596 RFC7597 | PASS | +----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC02: Encapsulate IPv4 ICMP into IPv6. IPv6 dst depends on IPv4 addr and ICMP ID | [Top] TG=DUT1. |br| [Enc] Eth-IPv4-ICMP(type 0 and 8) on TG_if1-DUT, Eth-IPv6-IPv4-ICMP on TG_if2_DUT. |br| [Cfg] On DUT1 configure Map domain and Map rule. |br| [Ver] Make TG send non-encapsulated ICMP to DUT; verify TG received IPv4oIPv6 encapsulated packet is correct. Checks IPv6 destination based on ICMP Identifier field. |br| [Ref] RFC7596 section 8.1 | PASS | +----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC03: Decapsulate IPv4 UDP from IPv6. | [Top] TG=DUT1. |br| [Enc] Eth-IPv6-IPv4-UDP on TG_if2_DUT, Eth-IPv4-UDP on TG_if1-DUT. |br| [Cfg] On DUT1 configure Map domain and Map rule. |br| [Ver] Make TG send encapsulated UDP to DUT; verify TG received IPv4 non-encapsulated packet is correct. |br| [Ref] RFC7596 RFC7597 | PASS | +----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC04: Hairpinning of traffic between two lwB4 | [Top] DUT1-TG. |br| [Enc] Eth-IPv6-IPv4-UDP on TG_if2_DUT, Eth-IPv6-IPv4-UDP on TG_if2_DUT. |br| [Cfg] On DUT1 configure Map domain and two Map rules. |br| [Ver] Make TG send encapsulated UDP to DUT; verify TG received encapsulated packet is correct. |br| [Ref] RFC7596 RFC7597 | PASS | +----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func ''''''''''''''''''''''''''''''''''''''''''''''''''''''' **Test for Basic mapping rule for MAP-E** - **[Top] Network Topologies:** TG - DUT1 - TG with two links between the nodes. - **[Enc] Packet Encapsulations:** Eth-IPv4-UDP on TG-to-DUT-if1. Eth-IPv6-IPv4-UDP on TG-to-DUT-if2. - **[Cfg] DUT configuration:** DUT is configured with IPv4 on one DUT-to-TG interface and IPv6 address on second DUT-to-TG interface. MAP-E domain is configured in test template based on test parameters. - **[Ver] TG verification:** UDP packets in IPv4 are sent by TG to destination in MAP domain. IPv6 packets with encapsulated IPv4 are received on TG interface. - **[Ref] Applicable standard specifications:** RFC7597. +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | Name | Documentation | Status | +==================================================================================+==========================================================================================================================================================================================================================================================================================================================================================================================================+========+ | TC01: BMR, then an IPv4 prefix is assigned | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2 IPv4 prefix length + ea bits length < 32 (o + r < 32) psid_length = 0, ip6_prefix < 64, ip4_prefix <= 32 Arguments: - ipv4_pfx - ipv6_pfx - ipv6_src - ea_bit_len - psid_offset - psid_len - ipv4_dst - dst_port - expected_ipv6_dst | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC02: BMR, full IPv4 address is to be assigned | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2 IPv4 prefix length + ea bits length == 32 (o + r == 32) psid_length = 0, ip6_prefix < 64, ip4_prefix <= 32 Arguments: - ipv4_pfx - ipv6_pfx - ipv6_src - ea_bit_len - psid_offset - psid_len - ipv4_dst - dst_port - expected_ipv6_dst | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC03: BMR, shared IPv4 address is to be assigned | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2 IPv4 prefix length + ea bits length > 32 (o + r > 32) ip6_prefix < 64, ip4_prefix <= 32 Arguments: - ipv4_pfx - ipv6_pfx - ipv6_src - ea_bit_len - psid_offset - psid_len - ipv4_dst - dst_port - expected_ipv6_dst | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC04: End user IPv6 prefix is 64 | Supported End-User IPv6 prefix length is 64 bit. Arguments: - ipv4_pfx - ipv6_pfx - ipv6_src - ea_bit_len - psid_offset - psid_len - ipv4_dst - dst_port | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC05: IPv4 prefix is 0 | | FAIL | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC06: Multiple domain and check with traffic script IPv4 source IPv6 destination | [Top] TG=DUT1. |br| [Cfg] Multiple MAP-E domains are configured, values from variable file. |br| [Ver] Send IPv4 to destination in configured domain and receive IPv6 packet. |br| [Ref] RFC7597. | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC07: Multiple domain and check with traffic script IPv6 source IPv6 destination | [Top] TG=DUT1. |br| [Cfg] Multiple MAP-E domains are configured, values from variable file. |br| [Ver] Send IPv4 encapsulated in IPv6. Source and destination are from configured domains. Check if VPP translate IPv6 addresses. |br| [Ref] RFC7597. | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC08: Encapsulate IPv4 ICMP into IPv6 | [Top] TG=DUT1. |br| [Enc] Eth-IPv4-ICMP(type 0 and 8) on TG_if1-DUT, Eth-IPv6-IPv4-ICMP on TG_if2_DUT. |br| [Cfg] Multiple MAP-E domains are configured, values from variable file. |br| [Ver] Make TG send non-encapsulated ICMP to DUT; verify TG received IPv4oIPv6 encapsulated packet is correct. Checks IPv6 destination based on ICMP Identifier field. |br| [Ref] RFC7597 section 8.2. | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | TC09: Repeated ip neighbor command doesnt put FIB to broken state | Original issue described in https://jira.fd.io/browse/VPP-312. |br| [Top] TG=DUT1. |br| [Cfg] IP address are set on interfaces, ip neighbor multiple times |br| [Ver] FIB is not in broken state. The steps are add route, check with traffic then add same route again and check with traffic script. | PASS | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | Bug: VPP-318 | qlen < psid length | FAIL | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func ''''''''''''''''''''''''''''''''''''''''''''''''''''''' **Test for Basic mapping rule for MAP-T** - **[Top] Network Topologies:** TG - DUT1 - TG with two links between the nodes. - **[Enc] Packet Encapsulations:** Eth-IPv4-UDP on TG-to-DUT-if1. Eth-IPv6-UDP on TG-to-DUT-if2. - **[Cfg] DUT configuration:** DUT is configured with IPv4 on one DUT-to-TG interface and IPv6 address on second DUT-to-TG interface. MAP-T domain is configured in test template based on test parameters. - **[Ver] TG verification:** UDP packets in IPv4 are sent by TG to destination in MAP domain. IPv6 packets with translated IPv4 addresses are received on TG interface. - **[Ref] Applicable standard specifications:** RFC7599 +------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+ | Name | Documentation | Status | +==================+========================================================================================================================================================================+========+ | TC01: MAP-T test | Test to check map-t address translation. Arguments: - ipv4_pfx - ipv6_dst_pfx - ipv6_src_pfx - ea_bit_len - psid_offset - psid_len - ipv4_src - ipv4_dst - dst_port | PASS | +------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+