Loading ttcn/AtsDSlite/AtsDSLite_Pixits.ttcn3 +25 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ module AtsDSLite_Pixits { * @desc Defines a list of IPv4 host services * @see TC_DSLITE_B4_BF_BV_001 */ modulepar HostV4Descriptions PX_HOST_V4_LIST := { modulepar HostV4Descriptions PX_HOST_V4_LIST_B4 := { { srcAddress := '91fea0ed'O, // Containing source address indicating a private IPv4 address srcPort := 3372, Loading @@ -43,24 +43,42 @@ module AtsDSLite_Pixits { } }, // Host #0 { srcAddress := '91fea0ed'O, // Containing source address indicating a private IPv4 address srcAddress := '91fea0ee'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4df'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstAddress := '41d0e4e0'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstPort := 80, payload := { rawPayload := 'CAFEDECA'O // TODO To be enhanced } } // Host #1 // TODO Could be extended } // End of modulepar PX_HOST_V4_LIST } // End of modulepar PX_HOST_V4_LIST_B4 /** * @desc Defines a list of IPv4 host services * @see TC_DSLITE_B4_BF_BV_001 * @see TC_DSLITE_AFTR_BF_BV_001 */ modulepar HostV6Descriptions PX_HOST_V6_LIST := { modulepar HostV4Descriptions PX_HOST_V4_LIST_AFTR := { { srcAddress := '91fea0fd'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4ef'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstPort := 80, payload := { rawPayload := 'DEADBEEF'O // TODO To be enhanced } }, // Host #0 { srcAddress := '91fea0dd'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4cf'O, // containing destination address indicating a public IPv4 address from multiple B4 devices dstPort := 80, payload := { rawPayload := 'DEADBEEF'O // TODO To be enhanced } } // Host #1 // TODO Could be extended } // End of modulepar PX_HOST_V6_LIST } // End of modulepar PX_HOST_V4_LIST_AFTR modulepar integer PX_DS_MTU := 1500; Loading ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +30 −27 Original line number Diff line number Diff line Loading @@ -538,7 +538,7 @@ module AtsDSLite_TestCases { testcase TC_DSLITE_B4_BF_BV_001() runs on DSLiteComponent system TestAdapter { // Local variables var integer v_hostNum := lengthof(PX_HOST_V4_LIST); /** Expected number of IPv4 packets to be forwarded */ var integer v_hostNum := lengthof(PX_HOST_V4_LIST_B4); /** Expected number of IPv4 packets to be forwarded */ var HostAftrDataMsgs v_hostAftrDataMsgs; /** Expected of IPv4 packets to be forwarded */ var integer v_host; /** 'for' statement counter */ Loading @@ -558,12 +558,12 @@ module AtsDSLite_TestCases { v_hostAftrDataMsgs[v_host].hostId := v_host; f_finalyzeIpv4Packet( m_ipv4Packet_dummy( PX_HOST_V4_LIST[v_host].srcAddress, // containing source address indicating a private IPv4 address PX_HOST_V4_LIST[v_host].dstAddress, // containing destination address indicating a public IPv4 address from multiple hosts PX_HOST_V4_LIST_B4[v_host].srcAddress, // containing source address indicating a private IPv4 address PX_HOST_V4_LIST_B4[v_host].dstAddress, // containing destination address indicating a public IPv4 address from multiple hosts m_tcp_packet( PX_HOST_V4_LIST[v_host].srcPort, PX_HOST_V4_LIST[v_host].dstPort, PX_HOST_V4_LIST[v_host].payload PX_HOST_V4_LIST_B4[v_host].srcPort, PX_HOST_V4_LIST_B4[v_host].dstPort, PX_HOST_V4_LIST_B4[v_host].payload ) ), v_hostAftrDataMsgs[v_host].payload.ipv4Packet Loading Loading @@ -663,7 +663,7 @@ module AtsDSLite_TestCases { } } } // End of 'for' statement if (lengthof(v_results) == v_hostNum) { if (lengthof(v_results) == v_hostNum) { // Check current result log("*** " & __SCOPE__ & ": PASS: All encapsulated IPv4 packets were forwarded. ***"); } else { tc_ac.start; Loading Loading @@ -737,7 +737,7 @@ module AtsDSLite_TestCases { // Local variables var integer v_host := 0; var template (value) TcpPacket v_tcpMsg := m_tcp_packet(50000, 80, { httpPayload := int2oct(0, PX_DS_MTU) }); //TODO adapt values var template(value) Ipv4Packet v_ipv4Packet := m_ipv4Packet_df(0, PX_HOST_V4_LIST[v_host].srcAddress, PX_HOST_V4_LIST[v_host].dstAddress, v_tcpMsg); var template(value) Ipv4Packet v_ipv4Packet := m_ipv4Packet_df(0, PX_HOST_V4_LIST_B4[v_host].srcAddress, PX_HOST_V4_LIST_B4[v_host].dstAddress, v_tcpMsg); var octetstring v_encTcpMsg := v_ipv4Packet.ipv4Payload.rawPacket; // Test control Loading Loading @@ -981,7 +981,7 @@ module AtsDSLite_TestCases { testcase TC_DSLITE_AFTR_BF_BV_001() runs on DSLiteComponent system TestAdapter { // Local variables var integer v_hostNum := lengthof(PX_HOST_V6_LIST); /** Expected number of IPv6 packets to be forwarded */ var integer v_hostNum := lengthof(PX_HOST_V4_LIST_AFTR); /** Expected number of IPv6 packets to be forwarded */ var HostAftrDataMsgs v_hostAftrDataMsgs; /** Expected of IPv6 packets to be forwarded */ var Ipv4Packet v_ipv4Packet; /** IPv4 packets to be encapsulated into IPv6 */ var integer v_host; /** 'for' statement counter */ Loading @@ -1001,12 +1001,12 @@ module AtsDSLite_TestCases { for (v_host := 0; v_host < v_hostNum; v_host := v_host + 1) { f_finalyzeIpv4Packet( m_ipv4Packet_dummy( PX_HOST_V4_LIST[v_host].srcAddress, PX_HOST_V4_LIST[v_host].dstAddress, PX_HOST_V4_LIST_AFTR[v_host].srcAddress, PX_HOST_V4_LIST_AFTR[v_host].dstAddress, m_tcp_packet( PX_HOST_V4_LIST[v_host].srcPort, PX_HOST_V4_LIST[v_host].dstPort, PX_HOST_V4_LIST[v_host].payload PX_HOST_V4_LIST_AFTR[v_host].srcPort, PX_HOST_V4_LIST_AFTR[v_host].dstPort, PX_HOST_V4_LIST_AFTR[v_host].payload ) ), v_ipv4Packet Loading Loading @@ -1100,23 +1100,26 @@ module AtsDSLite_TestCases { [] aftrPort.receive( mdw_generalIpv6_extHdr_dst_ipv6Payload( c_ipip, PX_AFTR_GW_ADDRESS, // containing destination address indicating IPv6 AFTR GW address PX_AFTR_B4_ADDRESS, // containing destination address indicating IPv6 B4 address ?, ? // containing unchanged IPv4 packet )) -> value v_ipv6Packet { tc_ac.stop; for (v_host := 0; v_host < v_hostNum; v_host := v_host + 1) { // var template (value) Ipv4Packet v_ipv4Packet; // if (decvalue(oct2bit(v_ipv6Packet.ipv6Payload.octetstringMsg), v_ipv4Packet) == 0) { // if (match(v_ipv4Packet, p_hostAftrDataMsgs[v_host].payload.ipv4Packet) == true) { // log("*** " & __SCOPE__ & ": INFO: Receives encapsulated IPv4 packet #", v_host, ". ***"); // v_results[v_host] := true; // break; // } // } var template (value) Ipv4Packet v_ipv4Packet; if (decvalue(oct2bit(v_ipv6Packet.ipv6Payload.octetstringMsg), v_ipv4Packet) == 0) { if ( (v_ipv4Packet.ipv4Hdr.sourceAddress == PX_HOST_V4_LIST_AFTR[v_host].srcAddress) and (v_ipv4Packet.ipv4Hdr.destinationAddress != PX_HOST_V4_LIST_AFTR[v_host].dstAddress) ) { log("*** " & __SCOPE__ & ": INFO: Receives IPv6 packet #", v_host, ". ***"); v_results[v_host] := true; break; } } } // End of 'for' statement if (lengthof(v_results) == v_hostNum) { log("*** " & __SCOPE__ & ": PASS: All encapsulated IPv6 packets were forwarded. ***"); if (lengthof(v_results) == v_hostNum) { // Check current result log("*** " & __SCOPE__ & ": PASS: All IPv6 packets were forwarded. ***"); } else { tc_ac.start; repeat; Loading Loading
ttcn/AtsDSlite/AtsDSLite_Pixits.ttcn3 +25 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ module AtsDSLite_Pixits { * @desc Defines a list of IPv4 host services * @see TC_DSLITE_B4_BF_BV_001 */ modulepar HostV4Descriptions PX_HOST_V4_LIST := { modulepar HostV4Descriptions PX_HOST_V4_LIST_B4 := { { srcAddress := '91fea0ed'O, // Containing source address indicating a private IPv4 address srcPort := 3372, Loading @@ -43,24 +43,42 @@ module AtsDSLite_Pixits { } }, // Host #0 { srcAddress := '91fea0ed'O, // Containing source address indicating a private IPv4 address srcAddress := '91fea0ee'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4df'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstAddress := '41d0e4e0'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstPort := 80, payload := { rawPayload := 'CAFEDECA'O // TODO To be enhanced } } // Host #1 // TODO Could be extended } // End of modulepar PX_HOST_V4_LIST } // End of modulepar PX_HOST_V4_LIST_B4 /** * @desc Defines a list of IPv4 host services * @see TC_DSLITE_B4_BF_BV_001 * @see TC_DSLITE_AFTR_BF_BV_001 */ modulepar HostV6Descriptions PX_HOST_V6_LIST := { modulepar HostV4Descriptions PX_HOST_V4_LIST_AFTR := { { srcAddress := '91fea0fd'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4ef'O, // Containing destination address indicating a public IPv4 address from multiple hosts dstPort := 80, payload := { rawPayload := 'DEADBEEF'O // TODO To be enhanced } }, // Host #0 { srcAddress := '91fea0dd'O, // Containing source address indicating a private IPv4 address srcPort := 3372, dstAddress := '41d0e4cf'O, // containing destination address indicating a public IPv4 address from multiple B4 devices dstPort := 80, payload := { rawPayload := 'DEADBEEF'O // TODO To be enhanced } } // Host #1 // TODO Could be extended } // End of modulepar PX_HOST_V6_LIST } // End of modulepar PX_HOST_V4_LIST_AFTR modulepar integer PX_DS_MTU := 1500; Loading
ttcn/AtsDSlite/AtsDSLite_TestCases.ttcn3 +30 −27 Original line number Diff line number Diff line Loading @@ -538,7 +538,7 @@ module AtsDSLite_TestCases { testcase TC_DSLITE_B4_BF_BV_001() runs on DSLiteComponent system TestAdapter { // Local variables var integer v_hostNum := lengthof(PX_HOST_V4_LIST); /** Expected number of IPv4 packets to be forwarded */ var integer v_hostNum := lengthof(PX_HOST_V4_LIST_B4); /** Expected number of IPv4 packets to be forwarded */ var HostAftrDataMsgs v_hostAftrDataMsgs; /** Expected of IPv4 packets to be forwarded */ var integer v_host; /** 'for' statement counter */ Loading @@ -558,12 +558,12 @@ module AtsDSLite_TestCases { v_hostAftrDataMsgs[v_host].hostId := v_host; f_finalyzeIpv4Packet( m_ipv4Packet_dummy( PX_HOST_V4_LIST[v_host].srcAddress, // containing source address indicating a private IPv4 address PX_HOST_V4_LIST[v_host].dstAddress, // containing destination address indicating a public IPv4 address from multiple hosts PX_HOST_V4_LIST_B4[v_host].srcAddress, // containing source address indicating a private IPv4 address PX_HOST_V4_LIST_B4[v_host].dstAddress, // containing destination address indicating a public IPv4 address from multiple hosts m_tcp_packet( PX_HOST_V4_LIST[v_host].srcPort, PX_HOST_V4_LIST[v_host].dstPort, PX_HOST_V4_LIST[v_host].payload PX_HOST_V4_LIST_B4[v_host].srcPort, PX_HOST_V4_LIST_B4[v_host].dstPort, PX_HOST_V4_LIST_B4[v_host].payload ) ), v_hostAftrDataMsgs[v_host].payload.ipv4Packet Loading Loading @@ -663,7 +663,7 @@ module AtsDSLite_TestCases { } } } // End of 'for' statement if (lengthof(v_results) == v_hostNum) { if (lengthof(v_results) == v_hostNum) { // Check current result log("*** " & __SCOPE__ & ": PASS: All encapsulated IPv4 packets were forwarded. ***"); } else { tc_ac.start; Loading Loading @@ -737,7 +737,7 @@ module AtsDSLite_TestCases { // Local variables var integer v_host := 0; var template (value) TcpPacket v_tcpMsg := m_tcp_packet(50000, 80, { httpPayload := int2oct(0, PX_DS_MTU) }); //TODO adapt values var template(value) Ipv4Packet v_ipv4Packet := m_ipv4Packet_df(0, PX_HOST_V4_LIST[v_host].srcAddress, PX_HOST_V4_LIST[v_host].dstAddress, v_tcpMsg); var template(value) Ipv4Packet v_ipv4Packet := m_ipv4Packet_df(0, PX_HOST_V4_LIST_B4[v_host].srcAddress, PX_HOST_V4_LIST_B4[v_host].dstAddress, v_tcpMsg); var octetstring v_encTcpMsg := v_ipv4Packet.ipv4Payload.rawPacket; // Test control Loading Loading @@ -981,7 +981,7 @@ module AtsDSLite_TestCases { testcase TC_DSLITE_AFTR_BF_BV_001() runs on DSLiteComponent system TestAdapter { // Local variables var integer v_hostNum := lengthof(PX_HOST_V6_LIST); /** Expected number of IPv6 packets to be forwarded */ var integer v_hostNum := lengthof(PX_HOST_V4_LIST_AFTR); /** Expected number of IPv6 packets to be forwarded */ var HostAftrDataMsgs v_hostAftrDataMsgs; /** Expected of IPv6 packets to be forwarded */ var Ipv4Packet v_ipv4Packet; /** IPv4 packets to be encapsulated into IPv6 */ var integer v_host; /** 'for' statement counter */ Loading @@ -1001,12 +1001,12 @@ module AtsDSLite_TestCases { for (v_host := 0; v_host < v_hostNum; v_host := v_host + 1) { f_finalyzeIpv4Packet( m_ipv4Packet_dummy( PX_HOST_V4_LIST[v_host].srcAddress, PX_HOST_V4_LIST[v_host].dstAddress, PX_HOST_V4_LIST_AFTR[v_host].srcAddress, PX_HOST_V4_LIST_AFTR[v_host].dstAddress, m_tcp_packet( PX_HOST_V4_LIST[v_host].srcPort, PX_HOST_V4_LIST[v_host].dstPort, PX_HOST_V4_LIST[v_host].payload PX_HOST_V4_LIST_AFTR[v_host].srcPort, PX_HOST_V4_LIST_AFTR[v_host].dstPort, PX_HOST_V4_LIST_AFTR[v_host].payload ) ), v_ipv4Packet Loading Loading @@ -1100,23 +1100,26 @@ module AtsDSLite_TestCases { [] aftrPort.receive( mdw_generalIpv6_extHdr_dst_ipv6Payload( c_ipip, PX_AFTR_GW_ADDRESS, // containing destination address indicating IPv6 AFTR GW address PX_AFTR_B4_ADDRESS, // containing destination address indicating IPv6 B4 address ?, ? // containing unchanged IPv4 packet )) -> value v_ipv6Packet { tc_ac.stop; for (v_host := 0; v_host < v_hostNum; v_host := v_host + 1) { // var template (value) Ipv4Packet v_ipv4Packet; // if (decvalue(oct2bit(v_ipv6Packet.ipv6Payload.octetstringMsg), v_ipv4Packet) == 0) { // if (match(v_ipv4Packet, p_hostAftrDataMsgs[v_host].payload.ipv4Packet) == true) { // log("*** " & __SCOPE__ & ": INFO: Receives encapsulated IPv4 packet #", v_host, ". ***"); // v_results[v_host] := true; // break; // } // } var template (value) Ipv4Packet v_ipv4Packet; if (decvalue(oct2bit(v_ipv6Packet.ipv6Payload.octetstringMsg), v_ipv4Packet) == 0) { if ( (v_ipv4Packet.ipv4Hdr.sourceAddress == PX_HOST_V4_LIST_AFTR[v_host].srcAddress) and (v_ipv4Packet.ipv4Hdr.destinationAddress != PX_HOST_V4_LIST_AFTR[v_host].dstAddress) ) { log("*** " & __SCOPE__ & ": INFO: Receives IPv6 packet #", v_host, ". ***"); v_results[v_host] := true; break; } } } // End of 'for' statement if (lengthof(v_results) == v_hostNum) { log("*** " & __SCOPE__ & ": PASS: All encapsulated IPv6 packets were forwarded. ***"); if (lengthof(v_results) == v_hostNum) { // Check current result log("*** " & __SCOPE__ & ": PASS: All IPv6 packets were forwarded. ***"); } else { tc_ac.start; repeat; Loading