7.3.13. Softwire Tunnels

7.3.13.1. 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.
[Enc] Eth-IPv4-UDP on TG_if1-DUT, Eth-IPv6-IPv4-UDP on TG_if2_DUT.
[Cfg] On DUT1 configure Map domain and Map rule.
[Ver] Make TG send non-encapsulated UDP to DUT; verify TG received IPv4oIPv6 encapsulated packet is correct.
[Ref] RFC7596 RFC7597
PASS
TC02: Encapsulate IPv4 ICMP into IPv6. IPv6 dst depends on IPv4 addr and ICMP ID [Top] TG=DUT1.
[Enc] Eth-IPv4-ICMP(type 0 and 8) on TG_if1-DUT, Eth-IPv6-IPv4-ICMP on TG_if2_DUT.
[Cfg] On DUT1 configure Map domain and Map rule.
[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.
[Ref] RFC7596 section 8.1
PASS
TC03: Decapsulate IPv4 UDP from IPv6. [Top] TG=DUT1.
[Enc] Eth-IPv6-IPv4-UDP on TG_if2_DUT, Eth-IPv4-UDP on TG_if1-DUT.
[Cfg] On DUT1 configure Map domain and Map rule.
[Ver] Make TG send encapsulated UDP to DUT; verify TG received IPv4 non-encapsulated packet is correct.
[Ref] RFC7596 RFC7597
PASS
TC04: Hairpinning of traffic between two lwB4 [Top] DUT1-TG.
[Enc] Eth-IPv6-IPv4-UDP on TG_if2_DUT, Eth-IPv6-IPv4-UDP on TG_if2_DUT.
[Cfg] On DUT1 configure Map domain and two Map rules.
[Ver] Make TG send encapsulated UDP to DUT; verify TG received encapsulated packet is correct.
[Ref] RFC7596 RFC7597
PASS

7.3.13.2. 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.
[Cfg] Multiple MAP-E domains are configured, values from variable file.
[Ver] Send IPv4 to destination in configured domain and receive IPv6 packet.
[Ref] RFC7597.
PASS
TC07: Multiple domain and check with traffic script IPv6 source IPv6 destination [Top] TG=DUT1.
[Cfg] Multiple MAP-E domains are configured, values from variable file.
[Ver] Send IPv4 encapsulated in IPv6. Source and destination are from configured domains. Check if VPP translate IPv6 addresses.
[Ref] RFC7597.
PASS
TC08: Encapsulate IPv4 ICMP into IPv6 [Top] TG=DUT1.
[Enc] Eth-IPv4-ICMP(type 0 and 8) on TG_if1-DUT, Eth-IPv6-IPv4-ICMP on TG_if2_DUT.
[Cfg] Multiple MAP-E domains are configured, values from variable file.
[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.
[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.
[Top] TG=DUT1.
[Cfg] IP address are set on interfaces, ip neighbor multiple times
[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

7.3.13.3. 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