Loading ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Defaults.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -485,7 +485,7 @@ }//end mnOffHome_atHomeDefaults altstep a_ipv4_tn_nut( Ipv6NodeParams p_paramsTn, altstep a_tn_nut_4( Ipv6NodeParams p_paramsTn, Ipv6NodeParams p_paramsNut ) runs on Ipv6Node { Loading Loading @@ -532,7 +532,7 @@ log("**** a_ipv4_tn_nut: Received ARP packet. Ignored. **** "); repeat; } }//end a_ipv4_tn_nut }//end a_tn_nut_4 } // end module AtsIpv6_Defaults ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_ModuleParameters.ttcn +25 −17 Original line number Diff line number Diff line Loading @@ -218,7 +218,9 @@ module AtsIpv6_ModuleParameters { group HS_02 { modulepar {Oct6to15 PX_MAC_UCA_HS02 := '00000000B6B6'O} modulepar {Ipv4Address PX_IPV4_GLA_HS02 := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_HS02 := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_HS02 := '0000000000000001'O} }//end group HS_02 Loading @@ -231,9 +233,7 @@ module AtsIpv6_ModuleParameters { group RT_01 { modulepar {Oct6to15 PX_MAC_UCA_RT01_A := '00000000A1A1'O} modulepar {Ipv4Address PX_IPV4_GLA_RT01_A := 'D47F1001'O} modulepar {Oct8 PX_6to4_IF_ID_RT01_A := '0000000000000001'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_RT01_A := '0001'O}; // modulepar {Oct6to15 PX_MAC_UCA_RT01_B := '00000000B1B1'O} }//end group RT_01 Loading @@ -241,21 +241,28 @@ module AtsIpv6_ModuleParameters { modulepar {Oct6to15 PX_MAC_UCA_RT02_C := '00000000C2C2'O} modulepar {Oct6to15 PX_MAC_UCA_RT02_B := '00000000B2B2'O} modulepar {Ipv4Address PX_IPV4_GLA_RT02_B := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_RT02_B := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_RT02_B := '0000000000000001'O} }//end group RT_02 group RT_04 { modulepar {Oct6to15 PX_MAC_UCA_RT04_C := '00000000C4C4'O} }//end group RT_04 }//end group RT_02 group RT_03 { modulepar {Oct6to15 PX_MAC_UCA_RT03_A := '00000000A3A3'O} modulepar {Ipv4Address PX_IPV4_GLA_RT03_A := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_RT03_A := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_RT03_A := '0000000000000001'O} }//end group RT_03 group RT_04 { modulepar {Oct6to15 PX_MAC_UCA_RT04_C := '00000000C4C4'O} }//end group RT_04 group MN_01 { /* * @desc MN's home network is Net A Loading @@ -266,25 +273,26 @@ module AtsIpv6_ModuleParameters { }//end group MN_01 group IUT { modulepar {Ipv4Address PX_IPV4_GLA_IUT_1 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_1 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_1 := '0001'O}; group IUT { /* * @desc Unicast MAC Address of IUTs primary interface<br> * PICS/PIXIT Reference: XXX */ modulepar {Oct6to15 PX_MAC_UCA_IUT_1 := 'AEACAC276A31'O} modulepar {Ipv4Address PX_IPV4_GLA_IUT_1 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_1 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_1 := '0001'O}; /* * @desc Unicast MAC Address of IUTs secondary interface<br> * PICS/PIXIT Reference: XXX */ modulepar {Oct6to15 PX_MAC_UCA_IUT_2 := 'AEACAC276B42'O} modulepar {Ipv4Address PX_IPV4_GLA_IUT_2 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_2 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_2 := '0001'O}; /* * @desc Mac Broadcast Address of Implementation Under Test Loading ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Postambles.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -500,7 +500,7 @@ } function f_PO_6to4_tn_nut( function f_PO_tn_nut_4( CfMessage p_cfMsg, boolean p_glaCleanup, Ipv6NodeParams p_paramsTn, Loading ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Preambles.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -417,7 +417,7 @@ group ipSecPreambles { * @param p_paramsRt Addresss Information of Testing Node * @param p_paramsHut Addresss Information of Node Under Test */ function f_PR_6to4_tn_nut ( function f_PR_tn_nut_4 ( CfMessage p_cfMsg, CleanupLevel p_cleanup, Ipv6NodeParams p_paramsTn, Loading @@ -440,7 +440,7 @@ group ipSecPreambles { f_selfOrClientSyncAndVerdict(c_prDone, v_ret); }//end f_PR_ipv6to4_tn_nut }//end f_PR_tn_nut_4 } // end module AtsIpv6_Preambles ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_TestConfiguration.ttcn +181 −109 Original line number Diff line number Diff line Loading @@ -440,7 +440,7 @@ group cfTrans01 { /* * @desc Creates configuration for the IPv4 interface of the IPv6to$ NOde * @desc Creates configuration for the IPv4 interface of the IPv6to4 Node * @param p_cfMsg Configuration message for Test Adapter */ function f_cfTrans01Up( Loading @@ -461,14 +461,89 @@ v_ret := e_error; } // create cf msg //p_ipv4CfMsg := f_createIpv4CfMsg_rt01() ; //p_cfMsg := f_createCfMsg_6to4rt01() ; p_cfMsg := f_createTrans01CfMsg_rt01(); p_cfMsg := f_createTrans01CfMsg_rt03(); f_setVerdict(v_ret); }//end f_cfTrans01Up }//end group cfTrans01 group cfTrans02 { /* * @desc Creates configuration for the IPv6 interface of the IPv6to4 Node * @param p_cfMsg Configuration message for Test Adapter */ function f_cfTrans02Up( out CfMessage p_cfMsg ) runs on Ipv6Node { //Variables var FncRetCode v_ret := e_success; //Map if (PX_MAC_LAYER == e_eth) { map(self:ipPort, system:ipv6EthernetPort) ; map(self:cfPort, system:cfTaPort) ; connect(self:syncPort, self:syncSendPort) ; } else { log("**** f_cfTrans02Up: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } // create cf msg p_cfMsg := f_createTrans02CfMsg_rt02(); f_setVerdict(v_ret); }//end f_cfTrans02Up }//end group cfTrans02 group cfTrans03 { /* * @desc Creates configuration of CF_TRANS_03 * @param p_ipv6NodeRef1 Reference to IPv6 test component with IPv4 interface * @param p_ipv6NodeRef2 Reference to IPv6 test component with IPv6 interface * @param p_cfMsgRt01_v4 Configuration message of first test component for Test Adapter * @param p_cfMsgRt01_v6 Configuration message of second test component for Test Adapter */ function f_cfTrans03Up( out Ipv6Node p_ipv6NodeRef1, out Ipv6Node p_ipv6NodeRef2, out CfMessage p_cfMsgRt03_4, out CfMessage p_cfMsgRt02_6) runs on ServerSyncComp { //Variables var FncRetCode v_ret := e_success; //Create p_ipv6NodeRef1 := Ipv6Node.create ; p_ipv6NodeRef2 := Ipv6Node.create ; if (PX_MAC_LAYER == e_eth) { //Connect connect(p_ipv6NodeRef1:syncPort, self:syncPort) ; connect(p_ipv6NodeRef2:syncPort, self:syncPort) ; //Map map(p_ipv6NodeRef1:ipv4Port, system:ethernetPort) ; map(p_ipv6NodeRef1:cfPort, system:cfTaPort) ; map(p_ipv6NodeRef1:arpPort, system:arpEthernetPort) ; map(p_ipv6NodeRef2:ipPort, system:ethernetPort) ; map(p_ipv6NodeRef2:cfPort, system:cfTaPort) ; } else { log("**** f_cfTrans03Up: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } p_cfMsgRt03_4 := f_createTrans01CfMsg_rt03() ; p_cfMsgRt02_6 := f_createTrans02CfMsg_rt02() ; f_setVerdict(v_ret); }//end f_cfTrans03Up }//end cfTrans03 group createParams { /* Loading Loading @@ -1074,7 +1149,6 @@ v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := f_createParamsRt03(PX_MAC_UCA_IUT_2, true);//newly added by SMU for IpSec v_cfMsg.paramsRt04 := omit; //v_cfMsg.paramsCn03 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := f_createParamsIutB(PX_MAC_UCA_IUT_2, true); Loading Loading @@ -1270,7 +1344,6 @@ v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; //v_cfMsg.paramsCn03 := omit; v_cfMsg.paramsMn01 := v_params; v_cfMsg.paramsIut := f_createParamsIutA(PX_MAC_UCA_IUT_1, true); Loading @@ -1280,105 +1353,21 @@ /* * @desc This function creates a test adapter configuration message * for the test component acting as IPv6to4 RT01 */ function f_createCfMsg_6to4rt01() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt01, v_params6to4Rt01, v_paramsIut, v_params6to4Iut ; //Calculate values for normal IPv6 Node v_paramsRt01 := f_createParamsRt01(PX_MAC_UCA_RT01_A, false); //Build values for IPv6to4 Node v_params6to4Rt01 := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_RT01_A & PX_6to4_IF_ID_RT01_A, solNodeMca := v_paramsRt01.solNodeMca,//from normal IPv6 Node haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT01_A, macSolNodeMca := v_paramsRt01.macSolNodeMca,//from normal IPv6 Node prefixLength := PX_PREFIX_LENGTH, ipv4Addr := omit, subnetId := omit } //Calculate values for normal IPv6 Node v_paramsIut := f_createParamsIutA(PX_MAC_UCA_IUT_1, false); //Build values for IPv6to4 Node v_params6to4Iut := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_IUT_1 & PX_6to4_IF_ID_IUT_1, solNodeMca := v_paramsIut.solNodeMca,//from normal IPv6 Node haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_IUT_1, macSolNodeMca := v_paramsIut.macSolNodeMca,//from normal IPv6 Node prefixLength := PX_PREFIX_LENGTH, ipv4Addr := omit, subnetId := omit } var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleRt01 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_1 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT01_A, PX_MAC_UCA_HS01, v_paramsRt01.macSolNodeMca, // v_paramsHs01.macSolNodeMca, c_macAllNodesMca, c_macAllRoutersMca // v_paramsIut.macSolNodeMca, //see comment 1 below // v_paramsMn01.macSolNodeMca // see comment 3 below } ; // Comment 1: // Added to be able to receive DAD NS // in the case of HUT: the DAD NS is ignored in the default // in the case of MN (returning Home): TTCN replies, otherwise MN would not know that it's home // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := omit; v_cfMsg.paramsHs03 := omit; v_cfMsg.paramsRt01 := v_params6to4Rt01; v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_params6to4Iut; return v_cfMsg ; }//end function f_createCfMsg_rt01 /* * @desc This function creates a test adapter configuration message * for the test component acting as RT01 * for the test component acting as RT03 */ function f_createTrans01CfMsg_rt01() function f_createTrans01CfMsg_rt03() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt01, v_paramsIut; var Ipv6NodeParams v_paramsRt03, v_paramsHs02, v_paramsHs03, v_paramsIut; var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleIpv4Rt01 ; v_cfMsg.role := c_ptcRoleIpv4Rt03 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_1 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT01_A, PX_MAC_UCA_HS01, v_cfMsg.macFilterList := { PX_MAC_UCA_RT03_A, //PX_MAC_UCA_HS03, c_macBroadcast // to catch ARP //v_paramsRt01.macSolNodeMca, //v_paramsHs01.macSolNodeMca, Loading @@ -1396,21 +1385,38 @@ // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_paramsRt01 := { v_paramsRt03 := { useInTa := true, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_RT01_A & PX_IPV4_SUBNET_ID_RT01_A & PX_6to4_IF_ID_RT01_A,//6to4Addr gla := c_6to4Prefix & PX_IPV4_GLA_RT03_A & PX_IPV4_SUBNET_ID_RT03_A & PX_6to4_IF_ID_RT03_A,//6to4Addr solNodeMca := omit, haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT03_A, macSolNodeMca := omit, prefixLength := omit, subnetId := PX_IPV4_SUBNET_ID_RT03_A, ipv4Addr := PX_IPV4_GLA_RT03_A }; v_paramsHs02 := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_HS02 & PX_IPV4_SUBNET_ID_HS02 & PX_6to4_IF_ID_HS02,//6to4Addr solNodeMca := omit, haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT01_A, macUca := omit, macSolNodeMca := omit, prefixLength := omit, subnetId := PX_IPV4_SUBNET_ID_RT01_A, ipv4Addr := PX_IPV4_GLA_RT01_A subnetId := omit, ipv4Addr := omit }; v_cfMsg.paramsHs03 := f_createParamsHs03(PX_MAC_UCA_RT03_A, false);//set to false because only the gla is needed in TTCN v_paramsIut := { useInTa := true, lla := omit, Loading @@ -1429,21 +1435,86 @@ v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := omit; v_cfMsg.paramsHs03 := omit; v_cfMsg.paramsRt01 := v_paramsRt01; v_cfMsg.paramsRt01 := omit; v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt03 := v_paramsRt03; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_paramsIut; return v_cfMsg ; }//end function f_createTrans01CfMsg_rt01 }//end f_createTrans01CfMsg_rt03 /* * @desc This function creates a test adapter configuration message * for the test component acting as IPv6to4 RT02 */ function f_createTrans02CfMsg_rt02() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt02, v_paramsHs02, v_paramsIut ; }//end group create CfMsg //RT01 Calculate values for native IPv6 Node v_paramsRt02 := f_createParamsRt02(PX_MAC_UCA_RT02_B, true); //Build values for IPv6to4 Node v_paramsRt02.gla := c_6to4Prefix & PX_IPV4_GLA_RT02_B & PX_IPV4_SUBNET_ID_RT02_B & PX_6to4_IF_ID_RT02_B;//6to4Addr v_paramsRt02.ipv4Addr := omit; v_paramsRt02.subnetId := omit; //HS02 Calculate values for native IPv6 Node v_paramsHs02 := f_createParamsHs02(PX_MAC_UCA_HS02, true); //Build values for IPv6to4 Node v_paramsHs02.gla := c_6to4Prefix & PX_IPV4_GLA_HS02 & PX_IPV4_SUBNET_ID_HS02 & PX_6to4_IF_ID_HS02;//6to4Addr v_paramsHs02.ipv4Addr := omit; v_paramsHs02.subnetId := omit; //IUT Calculate values for native IPv6 Node v_paramsIut := f_createParamsIutB(PX_MAC_UCA_IUT_2, false); //Build values for IPv6to4 Node v_paramsIut.gla := c_6to4Prefix & PX_IPV4_GLA_IUT_2 & PX_IPV4_SUBNET_ID_IUT_2 & PX_6to4_IF_ID_IUT_2;//6to4Addr v_paramsIut.ipv4Addr := omit; v_paramsIut.subnetId := omit; var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleRt01 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_2 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT02_B, PX_MAC_UCA_HS02, v_paramsRt02.macSolNodeMca, v_paramsHs02.macSolNodeMca, c_macAllNodesMca, c_macAllRoutersMca // v_paramsIut.macSolNodeMca, //see comment 1 below // v_paramsMn01.macSolNodeMca // see comment 3 below } ; // Comment 1: // Added to be able to receive DAD NS // in the case of HUT: the DAD NS is ignored in the default // in the case of MN (returning Home): TTCN replies, otherwise MN would not know that it's home // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := v_paramsHs02; v_cfMsg.paramsHs03 := f_createParamsHs03(PX_MAC_UCA_IUT_2, true); v_cfMsg.paramsRt01 := omit; v_cfMsg.paramsRt02 := v_paramsRt02; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_paramsIut; return v_cfMsg ; }//end f_createTrans02CfMsg_rt02 }//end group create CfMsg group cfDown { Loading Loading @@ -1594,22 +1665,23 @@ /* * @desc Deletes IPv4 configuration for non-concurrent CFs */ function f_ipv4CfPtcDown() function f_cfPtcDown_4() runs on Ipv6Node { //Variables var FncRetCode v_ret := e_success; if (PX_MAC_LAYER == e_eth) { unmap(self:ipv4Port, system:ethernetPort) ; map(self:arpPort, system:arpEthernetPort) ; unmap(self:cfPort, system:cfTaPort) ; disconnect(self:syncPort, self:syncSendPort) ; log("**** f_ipv4CfPtcDown: Ports unmapped and disconnected ****") ; log("**** f_cfPtcDown_4: Ports unmapped and disconnected ****") ; } else { log("**** f_ipv4CfPtcDown: Error with Pixit PX_MAC_LAYER ****") ; log("**** f_cfPtcDown_4: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } f_setVerdict(v_ret); }//end f_ipv4CfPtcDown }//end f_cfPtcDown_4 }//end ipv4CfDown Loading Loading
ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Defaults.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -485,7 +485,7 @@ }//end mnOffHome_atHomeDefaults altstep a_ipv4_tn_nut( Ipv6NodeParams p_paramsTn, altstep a_tn_nut_4( Ipv6NodeParams p_paramsTn, Ipv6NodeParams p_paramsNut ) runs on Ipv6Node { Loading Loading @@ -532,7 +532,7 @@ log("**** a_ipv4_tn_nut: Received ARP packet. Ignored. **** "); repeat; } }//end a_ipv4_tn_nut }//end a_tn_nut_4 } // end module AtsIpv6_Defaults
ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_ModuleParameters.ttcn +25 −17 Original line number Diff line number Diff line Loading @@ -218,7 +218,9 @@ module AtsIpv6_ModuleParameters { group HS_02 { modulepar {Oct6to15 PX_MAC_UCA_HS02 := '00000000B6B6'O} modulepar {Ipv4Address PX_IPV4_GLA_HS02 := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_HS02 := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_HS02 := '0000000000000001'O} }//end group HS_02 Loading @@ -231,9 +233,7 @@ module AtsIpv6_ModuleParameters { group RT_01 { modulepar {Oct6to15 PX_MAC_UCA_RT01_A := '00000000A1A1'O} modulepar {Ipv4Address PX_IPV4_GLA_RT01_A := 'D47F1001'O} modulepar {Oct8 PX_6to4_IF_ID_RT01_A := '0000000000000001'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_RT01_A := '0001'O}; // modulepar {Oct6to15 PX_MAC_UCA_RT01_B := '00000000B1B1'O} }//end group RT_01 Loading @@ -241,21 +241,28 @@ module AtsIpv6_ModuleParameters { modulepar {Oct6to15 PX_MAC_UCA_RT02_C := '00000000C2C2'O} modulepar {Oct6to15 PX_MAC_UCA_RT02_B := '00000000B2B2'O} modulepar {Ipv4Address PX_IPV4_GLA_RT02_B := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_RT02_B := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_RT02_B := '0000000000000001'O} }//end group RT_02 group RT_04 { modulepar {Oct6to15 PX_MAC_UCA_RT04_C := '00000000C4C4'O} }//end group RT_04 }//end group RT_02 group RT_03 { modulepar {Oct6to15 PX_MAC_UCA_RT03_A := '00000000A3A3'O} modulepar {Ipv4Address PX_IPV4_GLA_RT03_A := 'D47F1001'O} modulepar {Oct2 PX_IPV4_SUBNET_ID_RT03_A := '0001'O} modulepar {Oct8 PX_6to4_IF_ID_RT03_A := '0000000000000001'O} }//end group RT_03 group RT_04 { modulepar {Oct6to15 PX_MAC_UCA_RT04_C := '00000000C4C4'O} }//end group RT_04 group MN_01 { /* * @desc MN's home network is Net A Loading @@ -266,25 +273,26 @@ module AtsIpv6_ModuleParameters { }//end group MN_01 group IUT { modulepar {Ipv4Address PX_IPV4_GLA_IUT_1 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_1 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_1 := '0001'O}; group IUT { /* * @desc Unicast MAC Address of IUTs primary interface<br> * PICS/PIXIT Reference: XXX */ modulepar {Oct6to15 PX_MAC_UCA_IUT_1 := 'AEACAC276A31'O} modulepar {Ipv4Address PX_IPV4_GLA_IUT_1 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_1 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_1 := '0001'O}; /* * @desc Unicast MAC Address of IUTs secondary interface<br> * PICS/PIXIT Reference: XXX */ modulepar {Oct6to15 PX_MAC_UCA_IUT_2 := 'AEACAC276B42'O} modulepar {Ipv4Address PX_IPV4_GLA_IUT_2 := 'D47F1103'O} modulepar {Oct8 PX_6to4_IF_ID_IUT_2 := '0000000000000002'O}; modulepar {Oct2 PX_IPV4_SUBNET_ID_IUT_2 := '0001'O}; /* * @desc Mac Broadcast Address of Implementation Under Test Loading
ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Postambles.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -500,7 +500,7 @@ } function f_PO_6to4_tn_nut( function f_PO_tn_nut_4( CfMessage p_cfMsg, boolean p_glaCleanup, Ipv6NodeParams p_paramsTn, Loading
ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_Preambles.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -417,7 +417,7 @@ group ipSecPreambles { * @param p_paramsRt Addresss Information of Testing Node * @param p_paramsHut Addresss Information of Node Under Test */ function f_PR_6to4_tn_nut ( function f_PR_tn_nut_4 ( CfMessage p_cfMsg, CleanupLevel p_cleanup, Ipv6NodeParams p_paramsTn, Loading @@ -440,7 +440,7 @@ group ipSecPreambles { f_selfOrClientSyncAndVerdict(c_prDone, v_ret); }//end f_PR_ipv6to4_tn_nut }//end f_PR_tn_nut_4 } // end module AtsIpv6_Preambles
ttcn3/EtsiAts/AtsIpv6/AtsCommon/AtsIpv6_TestConfiguration.ttcn +181 −109 Original line number Diff line number Diff line Loading @@ -440,7 +440,7 @@ group cfTrans01 { /* * @desc Creates configuration for the IPv4 interface of the IPv6to$ NOde * @desc Creates configuration for the IPv4 interface of the IPv6to4 Node * @param p_cfMsg Configuration message for Test Adapter */ function f_cfTrans01Up( Loading @@ -461,14 +461,89 @@ v_ret := e_error; } // create cf msg //p_ipv4CfMsg := f_createIpv4CfMsg_rt01() ; //p_cfMsg := f_createCfMsg_6to4rt01() ; p_cfMsg := f_createTrans01CfMsg_rt01(); p_cfMsg := f_createTrans01CfMsg_rt03(); f_setVerdict(v_ret); }//end f_cfTrans01Up }//end group cfTrans01 group cfTrans02 { /* * @desc Creates configuration for the IPv6 interface of the IPv6to4 Node * @param p_cfMsg Configuration message for Test Adapter */ function f_cfTrans02Up( out CfMessage p_cfMsg ) runs on Ipv6Node { //Variables var FncRetCode v_ret := e_success; //Map if (PX_MAC_LAYER == e_eth) { map(self:ipPort, system:ipv6EthernetPort) ; map(self:cfPort, system:cfTaPort) ; connect(self:syncPort, self:syncSendPort) ; } else { log("**** f_cfTrans02Up: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } // create cf msg p_cfMsg := f_createTrans02CfMsg_rt02(); f_setVerdict(v_ret); }//end f_cfTrans02Up }//end group cfTrans02 group cfTrans03 { /* * @desc Creates configuration of CF_TRANS_03 * @param p_ipv6NodeRef1 Reference to IPv6 test component with IPv4 interface * @param p_ipv6NodeRef2 Reference to IPv6 test component with IPv6 interface * @param p_cfMsgRt01_v4 Configuration message of first test component for Test Adapter * @param p_cfMsgRt01_v6 Configuration message of second test component for Test Adapter */ function f_cfTrans03Up( out Ipv6Node p_ipv6NodeRef1, out Ipv6Node p_ipv6NodeRef2, out CfMessage p_cfMsgRt03_4, out CfMessage p_cfMsgRt02_6) runs on ServerSyncComp { //Variables var FncRetCode v_ret := e_success; //Create p_ipv6NodeRef1 := Ipv6Node.create ; p_ipv6NodeRef2 := Ipv6Node.create ; if (PX_MAC_LAYER == e_eth) { //Connect connect(p_ipv6NodeRef1:syncPort, self:syncPort) ; connect(p_ipv6NodeRef2:syncPort, self:syncPort) ; //Map map(p_ipv6NodeRef1:ipv4Port, system:ethernetPort) ; map(p_ipv6NodeRef1:cfPort, system:cfTaPort) ; map(p_ipv6NodeRef1:arpPort, system:arpEthernetPort) ; map(p_ipv6NodeRef2:ipPort, system:ethernetPort) ; map(p_ipv6NodeRef2:cfPort, system:cfTaPort) ; } else { log("**** f_cfTrans03Up: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } p_cfMsgRt03_4 := f_createTrans01CfMsg_rt03() ; p_cfMsgRt02_6 := f_createTrans02CfMsg_rt02() ; f_setVerdict(v_ret); }//end f_cfTrans03Up }//end cfTrans03 group createParams { /* Loading Loading @@ -1074,7 +1149,6 @@ v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := f_createParamsRt03(PX_MAC_UCA_IUT_2, true);//newly added by SMU for IpSec v_cfMsg.paramsRt04 := omit; //v_cfMsg.paramsCn03 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := f_createParamsIutB(PX_MAC_UCA_IUT_2, true); Loading Loading @@ -1270,7 +1344,6 @@ v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; //v_cfMsg.paramsCn03 := omit; v_cfMsg.paramsMn01 := v_params; v_cfMsg.paramsIut := f_createParamsIutA(PX_MAC_UCA_IUT_1, true); Loading @@ -1280,105 +1353,21 @@ /* * @desc This function creates a test adapter configuration message * for the test component acting as IPv6to4 RT01 */ function f_createCfMsg_6to4rt01() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt01, v_params6to4Rt01, v_paramsIut, v_params6to4Iut ; //Calculate values for normal IPv6 Node v_paramsRt01 := f_createParamsRt01(PX_MAC_UCA_RT01_A, false); //Build values for IPv6to4 Node v_params6to4Rt01 := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_RT01_A & PX_6to4_IF_ID_RT01_A, solNodeMca := v_paramsRt01.solNodeMca,//from normal IPv6 Node haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT01_A, macSolNodeMca := v_paramsRt01.macSolNodeMca,//from normal IPv6 Node prefixLength := PX_PREFIX_LENGTH, ipv4Addr := omit, subnetId := omit } //Calculate values for normal IPv6 Node v_paramsIut := f_createParamsIutA(PX_MAC_UCA_IUT_1, false); //Build values for IPv6to4 Node v_params6to4Iut := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_IUT_1 & PX_6to4_IF_ID_IUT_1, solNodeMca := v_paramsIut.solNodeMca,//from normal IPv6 Node haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_IUT_1, macSolNodeMca := v_paramsIut.macSolNodeMca,//from normal IPv6 Node prefixLength := PX_PREFIX_LENGTH, ipv4Addr := omit, subnetId := omit } var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleRt01 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_1 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT01_A, PX_MAC_UCA_HS01, v_paramsRt01.macSolNodeMca, // v_paramsHs01.macSolNodeMca, c_macAllNodesMca, c_macAllRoutersMca // v_paramsIut.macSolNodeMca, //see comment 1 below // v_paramsMn01.macSolNodeMca // see comment 3 below } ; // Comment 1: // Added to be able to receive DAD NS // in the case of HUT: the DAD NS is ignored in the default // in the case of MN (returning Home): TTCN replies, otherwise MN would not know that it's home // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := omit; v_cfMsg.paramsHs03 := omit; v_cfMsg.paramsRt01 := v_params6to4Rt01; v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_params6to4Iut; return v_cfMsg ; }//end function f_createCfMsg_rt01 /* * @desc This function creates a test adapter configuration message * for the test component acting as RT01 * for the test component acting as RT03 */ function f_createTrans01CfMsg_rt01() function f_createTrans01CfMsg_rt03() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt01, v_paramsIut; var Ipv6NodeParams v_paramsRt03, v_paramsHs02, v_paramsHs03, v_paramsIut; var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleIpv4Rt01 ; v_cfMsg.role := c_ptcRoleIpv4Rt03 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_1 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT01_A, PX_MAC_UCA_HS01, v_cfMsg.macFilterList := { PX_MAC_UCA_RT03_A, //PX_MAC_UCA_HS03, c_macBroadcast // to catch ARP //v_paramsRt01.macSolNodeMca, //v_paramsHs01.macSolNodeMca, Loading @@ -1396,21 +1385,38 @@ // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_paramsRt01 := { v_paramsRt03 := { useInTa := true, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_RT01_A & PX_IPV4_SUBNET_ID_RT01_A & PX_6to4_IF_ID_RT01_A,//6to4Addr gla := c_6to4Prefix & PX_IPV4_GLA_RT03_A & PX_IPV4_SUBNET_ID_RT03_A & PX_6to4_IF_ID_RT03_A,//6to4Addr solNodeMca := omit, haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT03_A, macSolNodeMca := omit, prefixLength := omit, subnetId := PX_IPV4_SUBNET_ID_RT03_A, ipv4Addr := PX_IPV4_GLA_RT03_A }; v_paramsHs02 := { useInTa := false, lla := omit, gla := c_6to4Prefix & PX_IPV4_GLA_HS02 & PX_IPV4_SUBNET_ID_HS02 & PX_6to4_IF_ID_HS02,//6to4Addr solNodeMca := omit, haAca := omit, mnHoa := omit, mnCoa := omit, macUca := PX_MAC_UCA_RT01_A, macUca := omit, macSolNodeMca := omit, prefixLength := omit, subnetId := PX_IPV4_SUBNET_ID_RT01_A, ipv4Addr := PX_IPV4_GLA_RT01_A subnetId := omit, ipv4Addr := omit }; v_cfMsg.paramsHs03 := f_createParamsHs03(PX_MAC_UCA_RT03_A, false);//set to false because only the gla is needed in TTCN v_paramsIut := { useInTa := true, lla := omit, Loading @@ -1429,21 +1435,86 @@ v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := omit; v_cfMsg.paramsHs03 := omit; v_cfMsg.paramsRt01 := v_paramsRt01; v_cfMsg.paramsRt01 := omit; v_cfMsg.paramsRt02 := omit; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt03 := v_paramsRt03; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_paramsIut; return v_cfMsg ; }//end function f_createTrans01CfMsg_rt01 }//end f_createTrans01CfMsg_rt03 /* * @desc This function creates a test adapter configuration message * for the test component acting as IPv6to4 RT02 */ function f_createTrans02CfMsg_rt02() return CfMessage { //Variables var CfMessage v_cfMsg ; var Ipv6NodeParams v_paramsRt02, v_paramsHs02, v_paramsIut ; }//end group create CfMsg //RT01 Calculate values for native IPv6 Node v_paramsRt02 := f_createParamsRt02(PX_MAC_UCA_RT02_B, true); //Build values for IPv6to4 Node v_paramsRt02.gla := c_6to4Prefix & PX_IPV4_GLA_RT02_B & PX_IPV4_SUBNET_ID_RT02_B & PX_6to4_IF_ID_RT02_B;//6to4Addr v_paramsRt02.ipv4Addr := omit; v_paramsRt02.subnetId := omit; //HS02 Calculate values for native IPv6 Node v_paramsHs02 := f_createParamsHs02(PX_MAC_UCA_HS02, true); //Build values for IPv6to4 Node v_paramsHs02.gla := c_6to4Prefix & PX_IPV4_GLA_HS02 & PX_IPV4_SUBNET_ID_HS02 & PX_6to4_IF_ID_HS02;//6to4Addr v_paramsHs02.ipv4Addr := omit; v_paramsHs02.subnetId := omit; //IUT Calculate values for native IPv6 Node v_paramsIut := f_createParamsIutB(PX_MAC_UCA_IUT_2, false); //Build values for IPv6to4 Node v_paramsIut.gla := c_6to4Prefix & PX_IPV4_GLA_IUT_2 & PX_IPV4_SUBNET_ID_IUT_2 & PX_6to4_IF_ID_IUT_2;//6to4Addr v_paramsIut.ipv4Addr := omit; v_paramsIut.subnetId := omit; var FncRetCode v_ret := e_error; //fill v_cfMsg v_cfMsg.role := c_ptcRoleRt01 ; v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_2 ; v_cfMsg.macFilterList := { PX_MAC_UCA_RT02_B, PX_MAC_UCA_HS02, v_paramsRt02.macSolNodeMca, v_paramsHs02.macSolNodeMca, c_macAllNodesMca, c_macAllRoutersMca // v_paramsIut.macSolNodeMca, //see comment 1 below // v_paramsMn01.macSolNodeMca // see comment 3 below } ; // Comment 1: // Added to be able to receive DAD NS // in the case of HUT: the DAD NS is ignored in the default // in the case of MN (returning Home): TTCN replies, otherwise MN would not know that it's home // Comment 3: // Added to be able to receive DAD NS for MN01's HoA sent by HA under test v_cfMsg.paramsHs01 := omit; v_cfMsg.paramsHs02 := v_paramsHs02; v_cfMsg.paramsHs03 := f_createParamsHs03(PX_MAC_UCA_IUT_2, true); v_cfMsg.paramsRt01 := omit; v_cfMsg.paramsRt02 := v_paramsRt02; v_cfMsg.paramsRt03 := omit; v_cfMsg.paramsRt04 := omit; v_cfMsg.paramsMn01 := omit; v_cfMsg.paramsIut := v_paramsIut; return v_cfMsg ; }//end f_createTrans02CfMsg_rt02 }//end group create CfMsg group cfDown { Loading Loading @@ -1594,22 +1665,23 @@ /* * @desc Deletes IPv4 configuration for non-concurrent CFs */ function f_ipv4CfPtcDown() function f_cfPtcDown_4() runs on Ipv6Node { //Variables var FncRetCode v_ret := e_success; if (PX_MAC_LAYER == e_eth) { unmap(self:ipv4Port, system:ethernetPort) ; map(self:arpPort, system:arpEthernetPort) ; unmap(self:cfPort, system:cfTaPort) ; disconnect(self:syncPort, self:syncSendPort) ; log("**** f_ipv4CfPtcDown: Ports unmapped and disconnected ****") ; log("**** f_cfPtcDown_4: Ports unmapped and disconnected ****") ; } else { log("**** f_ipv4CfPtcDown: Error with Pixit PX_MAC_LAYER ****") ; log("**** f_cfPtcDown_4: Error with Pixit PX_MAC_LAYER ****") ; v_ret := e_error; } f_setVerdict(v_ret); }//end f_ipv4CfPtcDown }//end f_cfPtcDown_4 }//end ipv4CfDown Loading