Loading ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_Functions.ttcn +28 −28 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module specifies functions definitions Loading @@ -21,7 +21,7 @@ group calcPrefixFns { /* /** * @desc Compute an Unique Interface ID based on a MAC Address * @param p_macAddr MAC Address * @return Unique interface ID Loading Loading @@ -53,7 +53,7 @@ } /* /** * @desc Compute link-local, global, solicited-node multicast IPv6 addresses<br> * and MAC-Solicited-node Address, based on prefix and MAC address * @param p_macAddr MAC Address Loading Loading @@ -120,7 +120,7 @@ return e_success; }//end function f_createIpAddresses /* /** * @desc Create a Home Agent Anycast address for a given prefix * @param p_prefix Prefix * @param p_prefixLen Prefix Length Loading Loading @@ -154,7 +154,7 @@ return e_success; }//end function f_createHaAnycastAddress /* /** * @desc Creates a prefix using p_address and p_prefixLength. The p_prefixLength * MSB bits remain unchanged, the others are set to zero. * @param p_address Address used for prefix creation Loading @@ -177,7 +177,7 @@ } // end f_createPrefix /* /** * @desc Creates a prefix using p_address. The length of the prefix is fixed * in 64. The first 64 bits remain unchanged, the others are set to zero. * @param p_address Address used for prefix creation Loading @@ -201,7 +201,7 @@ }//end group calcPrefixFns /* /** * @desc This goes through the ExtensionHeaderList and * checks if a HomeAddressOption is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -230,7 +230,7 @@ return v_ret; }//end function f_isPresentHomeAddressOption /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Routing Header type 2 is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading @@ -257,7 +257,7 @@ return v_ret; }//end function f_isPresentRoutingHeaderType2 /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Binding Authority Data option is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -291,7 +291,7 @@ }//end function f_isPresentBindingAuthorityDataOption /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Binding Refresh Advice option is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -328,7 +328,7 @@ group ipSecFns { /* /** * @desc Get the length of ICV depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return ICV length in units of octets Loading @@ -350,7 +350,7 @@ group ipSecFns { return 12; } /* /** * @desc Get the length of ICV Padding depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return ICV Padding length in units of octets Loading @@ -372,7 +372,7 @@ group ipSecFns { return 0; } /* /** * @desc Check that an integrity key as the correct length, regarding the chosen algo * @param p_integrityAlgo Chosen intergity algo * @param p_keyLen Integrity key length in octets Loading Loading @@ -400,7 +400,7 @@ group ipSecFns { return true; } /* /** * @desc Get the length of an integrity key depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return Integrity key length in units of octets Loading Loading @@ -439,7 +439,7 @@ group ipSecFns { }//end function f_getIntegrKeyLen /* /** * @desc Get the length of an prf key depending on the chosen prf function * @param p_pseudoRandomFunction Chosen prf function * @return Prf key length in units of octets Loading Loading @@ -467,7 +467,7 @@ group ipSecFns { }//end function f_getPrfKeyLen /* /** * @desc Get the length of IV depending on the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Initialization Vector length in units of octets Loading Loading @@ -518,7 +518,7 @@ group ipSecFns { } } /* /** * @desc Compute random IV corresponding to the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Initialization Vector Loading Loading @@ -573,7 +573,7 @@ group ipSecFns { return int2oct(float2int(int2float(20000-5000)*rnd())+5000, v_keyLen); } /* /** * @desc Get the block size corresponding to the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Block size in units of octets Loading Loading @@ -624,7 +624,7 @@ group ipSecFns { } } /* /** * @desc Get the block size corresponding to the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return Block size in units of octets Loading Loading @@ -666,7 +666,7 @@ group ipSecFns { } } /* /** * @desc Check that an encryption key as the correct length, regarding the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @param p_keyLen Encryption key length in octets Loading @@ -691,7 +691,7 @@ group ipSecFns { return true; } /* /** * @desc Get the length of an encryption key depending on the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Encryption key length in units of octets Loading Loading @@ -739,7 +739,7 @@ group ipSecFns { }//end function f_getEncrKeyLen /* /** * @desc This generates Security Parameters Index * @return Security Parameters Index */ Loading @@ -751,7 +751,7 @@ group ipSecFns { return oct2int(v_spi); }//end f_createSpi /* /** * @desc This generates a secret key * @return Secret key */ Loading @@ -763,7 +763,7 @@ group ipSecFns { return v_key; }//end f_createSecretKey /* /** * @desc Initialize security parameters (SAD, keys, algos, ...) * @param p_ipSecControl Select manual or automatic SA establishment * @param p_ipSecProtocolMode Select transport or Tunnel mode Loading Loading @@ -1059,7 +1059,7 @@ group ipSecFns { }//end f_init_ipSecParams /* /** * @desc Compute length of SA Proposal List * @param p_saProposalList SA Proposal list * @return SA proposal list length Loading @@ -1078,7 +1078,7 @@ group ipSecFns { } /* /** * @desc Compute length of SA Transform List * @param p_numberOfTransforms Number of Transform in the Transform list * @param p_saTransformList SA Transformlist Loading @@ -1102,7 +1102,7 @@ group ipSecFns { } /* /** * @desc Compute length of SA Transform Attribute List * @param p_saTransformAttributeList SA Transform attribute list * @return SA transform attribute list length Loading @@ -1124,7 +1124,7 @@ group ipSecFns { } /* /** * @desc Compute padding length * @param p_ikeMsg IKE Message * @return Padding length Loading ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_Templates.ttcn +11 −11 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module specifies common template definitions Loading @@ -17,7 +17,7 @@ module LibIpv6_CommonRfcs_Templates { group link_Layer_Address { /* /** * @param p_addr Source MAC link layer address value * @remark The option length is defined by module parameter PX_MAC_OPTION_LEN */ Loading @@ -27,7 +27,7 @@ module LibIpv6_CommonRfcs_Templates { linkLayerAddr:= p_addr } /* /** * @param p_addr Target MAC link layer address value * @remark The option length is defined by module parameter PX_MAC_OPTION_LEN */ Loading Loading @@ -65,14 +65,14 @@ module LibIpv6_CommonRfcs_Templates { group destination_Options { /* /** * @param p_dstOpt First element in the Destination option list */ template DestOptionList m_dstOptList_1Elem ( template DestOption p_dstOpt ) := { p_dstOpt } /* /** * @param p_dstOpt First 2 elements in the Destination option list */ template DestOptionList m_dstOptList_2Elem ( template DestOption p_dstOpt1, Loading @@ -82,14 +82,14 @@ module LibIpv6_CommonRfcs_Templates { } /* /** * @param p_option Destination option(s) encoded in octetstring */ template DestOption m_dstOpt_generalOption ( template octetstring p_option ) := { generalOptionString := p_option } /* /** * @param p_homeAddress Home Address */ template DestOption m_dstOpt_homeAddr(template Oct16 p_homeAddress) := { Loading @@ -100,7 +100,7 @@ module LibIpv6_CommonRfcs_Templates { } } /* /** * @param p_homeAddress Home Address */ template DestOption mw_dstOpt_homeAddr := { Loading @@ -111,7 +111,7 @@ module LibIpv6_CommonRfcs_Templates { } } /* /** * @param p_homeAddress Home Address */ template DestOption m_dstOpt_padN(template OptPadN p_optPadN) := { Loading @@ -122,7 +122,7 @@ module LibIpv6_CommonRfcs_Templates { group nbrDiscOptions { /* /** * @param p_advInterval Advertisement Interval */ template AdvertisementInterval m_advInterval(UInt32 p_advInterval) := { Loading @@ -132,7 +132,7 @@ module LibIpv6_CommonRfcs_Templates { advInterval := p_advInterval } /* /** * @param p_homeAgentPreference Home Agent preference value * @param p_homeAgentLifetime Home Agent Lifetime */ Loading ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_TypesAndValues.ttcn +19 −53 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module defines types and constants for Loading @@ -22,29 +22,29 @@ module LibIpv6_CommonRfcs_TypesAndValues { group rfc4291AddressingArchitecture { /* /** * @desc IPv6 Address */ type Oct16 Ipv6Address; /* /** * @desc IPv4 Address */ type Oct4 Ipv4Address; /* /** * @desc Indicates the number of bits to be used as Prefix */ type UInt8 PrefixLength; /* /** * @desc Unspecified address */ const Ipv6Address c_unspecifiedAdd := c_16ZeroBytes; const UInt8 c_maxNrIpv6Address := 10; /* /** * @desc List of Ipv6Address */ type record length(1 .. c_maxNrIpv6Address) of Ipv6Address Ipv6AddressList; Loading Loading @@ -102,7 +102,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optPadNLen2 := 2; const UInt8 c_optPadNLen4 := 4 ; /* /** * @desc Derived from RFC2460 clause 4.2 * @url http://www.ietf.org/rfc/rfc2460.txt */ Loading @@ -113,7 +113,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { encode "present=bytes(0,1,0);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-1"; } /* /** * @desc Derived from RFC2460 clause 4.2 * @url http://www.ietf.org/rfc/rfc2460.txt */ Loading @@ -134,7 +134,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_maxNrDestOption := 10; /* /** * @desc List of DestOption * @remark In a DestOptionList value either the pad1 or padN * option can appear only once! Loading @@ -144,7 +144,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { encode "elements=valueOf(getTag('hdrExtLen'));" } /* /** * @desc Ipv6 Destination Options */ type union DestOption { Loading @@ -171,7 +171,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { /* /** * @desc Derived from RFC2461 clause4.6.1 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -180,11 +180,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optionLength, Oct6to15 linkLayerAddr } with { variant "present=bytes(0,1,1);"; variant (optionLength) "tag='SLA_optionLength';"; variant (linkLayerAddr) "length=valueOf(getTag('SLA_optionLength'))*8-2;"; } }//end group slla Loading @@ -192,7 +187,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_tgtLinkLayerAddress := 2; /* /** * @desc Derived from RFC 2461 clause 4.6.1 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -201,11 +196,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optionLength, Oct6to15 linkLayerAddr } with { variant "present=bytes(0,1,2);"; variant (optionLength) "tag='TLA_optionLength';"; variant (linkLayerAddr) "length=valueOf(getTag('TLA_optionLength'))*8-2;"; } }//end group tlla Loading @@ -214,7 +204,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_mtuOption := 5; /* /** * @desc Derived from RFC 2461 clause 4.6.4 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -224,9 +214,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 reserved, UInt32 mtu } with { variant "present=bytes(0,1,5);" } }//end group mtu Loading @@ -236,7 +223,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optTunnelEncapLimit := 4; /* /** * @desc Derived from RFC 2473 Section 4.1.1 * @url http://www.ietf.org/rfc/rfc2473.txt */ Loading @@ -245,9 +232,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen (1), UInt8 optTunnelEncapLimitValue } with { variant "present=bytes(0,1,4);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-3"; } }//end group rfc2473Options Loading @@ -257,7 +241,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt32 c_jumboLen8 := 8; const UInt32 c_jumboLen128K := 131072; /* /** * @desc Derived from RFC 2675 Section 2 * @url http://www.ietf.org/rfc/rfc2675.txt */ Loading @@ -266,9 +250,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen(4), UInt32 optJumboPayloadLength } with { variant "present=bytes(0,1,194);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-6"; } }//end group rfc2675Options Loading @@ -276,7 +257,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optRouterAlert := 5; /* /** * @desc Derived from RFC 2711 Section 2.1 * @url http://www.ietf.org/rfc/rfc2711.txt */ Loading @@ -285,9 +266,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen(2), UInt16 optValue } with { variant "present=bytes(0,1,5);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-4"; } }//end group rfc2711Options Loading @@ -296,7 +274,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const octetstring c_preDefAIOption := '0701000000001000'O; const octetstring c_preDefHAIOption := '0801000000000040'O; /* /** * @desc Extra ICMP option introduced by RFC3775, clause 7.3 */ type record AdvertisementInterval { //ND + MIPv6 Loading @@ -305,11 +283,8 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 reserved, UInt32 advInterval } with { variant "present=bytes(1, 0x07)" } /* /** * @desc Extra ICMP option introduced by RFC3775, clause 7.4 */ type record HomeAgentInfo { //ND + MIPv6 Loading @@ -319,11 +294,8 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 homeAgentPreference, UInt16 homeAgentLifetime } with { variant "present=bytes(1, 0x08)" } /* @desc Derived from RFCxxxx MIpv6, clause 6.2 /** @desc Derived from RFCxxxx MIpv6, clause 6.2 * @remark This extension shall be inserted: * 1) After the routing header, if that header is present, * 2) Before the Fragment Header, if that header is present Loading @@ -334,9 +306,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 ipv6OptLen(0..16), Oct16 homeAddress } with { variant "present=bytes(0,1,201);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-18"; } group mobileOptionValues { const UInt8 c_bindingRefreshAdvice := 2; Loading @@ -355,6 +324,3 @@ module LibIpv6_CommonRfcs_TypesAndValues { } // end ipv6Options } // end LibIpv6_CommonRfcs_TypesAndValues //with { // encode "LibIpv6_CommonRfcs_TypesAndValues"; //} No newline at end of file ttcn/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +25 −25 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module collects external functions available Loading @@ -18,7 +18,7 @@ import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; /* @desc This external function translates an IPv4 address string /** @desc This external function translates an IPv4 address string * in its octetstring representation. * @param p_address charstring representation of an IPv4 address * @return Ipv4Address octetstring representation Loading @@ -26,7 +26,7 @@ external function fx_translateIpv4Address( in charstring p_address ) return Ipv4Address; /* @desc This external function translates an IPv6 address string /** @desc This external function translates an IPv6 address string * in its octetstring representation. * @param p_address charstring representation of an IPv6 address * @return Ipv6Address octetstring representation Loading @@ -34,7 +34,7 @@ external function fx_translateIpv6Address( in charstring p_address ) return Ipv6Address; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of a IPv6 packet. If ESP Hdr is used, then payload is encrypted before calculation of the length. * @param p_msg Ipv6 packet * @return payload length in bytes Loading @@ -42,7 +42,7 @@ external function fx_payloadLength( in template Ipv6Packet p_msg ) return UInt16; /* @desc This external function calculates the total length /** @desc This external function calculates the total length * of a IPv4 packet. * @param p_msg Ipv4 packet * @return payload length in bytes Loading @@ -50,7 +50,7 @@ external function fx_ipv4PacketTotalLength( in template Ipv4Packet p_msg ) return UInt16; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of a IPv6 packet * @param p_msg Ipv6 packet * @param p_entry Nr of Tunnelled packet within the IPv6Packet Loading @@ -59,7 +59,7 @@ external function fx_tunnelledPayloadLength( template Ipv6Packet p_msg, in UInt8 p_entry ) return UInt16; /* @desc Calculates the checksum over the IPv6 payload /** @desc Calculates the checksum over the IPv6 payload * @param p_srcAddress Source Address * @param p_dstAddress Destination Address * @param p_payload Checksum is calculated over this Loading @@ -72,27 +72,27 @@ in UInt8 p_nextHeader) return Oct2; /* @desc Calculates the checksum over the IPv4 payload /** @desc Calculates the checksum over the IPv4 payload * @param p_payload Checksum is calculated over this * @return checksum value */ external function fx_calcIpv4PayloadChecksum(in template Ipv4Payload p_payload) return Oct2; /* @desc Calculates the header checksum (HCS) over the IPv4 header /** @desc Calculates the header checksum (HCS) over the IPv4 header * @param p_ipv4Header Checksum is calculated over this * @return checksum value */ external function fx_calcIpv4Hcs(in template Ipv4Header p_ipv4Header) return Oct2; /* @desc This external function runs the Ipv6Packet through Codec and returns /** @desc This external function runs the Ipv6Packet through Codec and returns * the octetstring representing the Ipv6Packet */ external function fx_encodeMessage (in template Ipv6Packet p_msg) return octetstring; /* @desc This external function calculates the checksum for MIPv6 Header. /** @desc This external function calculates the checksum for MIPv6 Header. * If HomeAddressOption present, then this external function is called with the * HomeAddress as Source Address * @param p_srcAddr Source Address to be used for Checksum calculation Loading @@ -105,14 +105,14 @@ in MobileHeader p_mobileHeader) return Oct2; /* @desc This external function calculates the length of MIPv6 Header. /** @desc This external function calculates the length of MIPv6 Header. * @param p_mobileHeader MobileHeader * @return MIPv6 Header length */ external function fx_mipHeaderLength( in MobileHeader p_mobileHeader) return UInt8; /* @desc This external function runs the MobileHeader through Codec and returns /** @desc This external function runs the MobileHeader through Codec and returns * the octetstring representing the MobileHeader * * @param p_mobileHeader Mip Header to be encoded to octetstring Loading @@ -121,7 +121,7 @@ external function fx_mipHdrToOct(MobileHeader p_mobileHeader) return octetstring; /* @desc Apply indicated Integrity algorithm to the message. Message is an octetstring. /** @desc Apply indicated Integrity algorithm to the message. Message is an octetstring. * If e_sha1_96 is chosen, then the key input shall be ignored. * * @param p_integrityAlgo Cryptographic function used to compute MAC Loading @@ -132,7 +132,7 @@ external function fx_mac( IntegrityAlgo p_integrityAlgo, in octetstring p_key, in octetstring p_message) return octetstring; /* @desc This external function sets the test adapter with the relevant security parameters /** @desc This external function sets the test adapter with the relevant security parameters * * @param p_sa Security Association * @return FncRetCode Loading @@ -140,7 +140,7 @@ external function fx_setSecurityParameters(in Sad p_sa) return FncRetCode; /* @desc This external function sets the test adapter with the relevant security parameters /** @desc This external function sets the test adapter with the relevant security parameters * * @param p_IkeSa IKE Security Association * @return FncRetCode Loading @@ -148,14 +148,14 @@ external function fx_setIkeSecurityParameters(in IkeSa p_ikeSa) return FncRetCode; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of an IPv6 authentication header * @param p_authHeader Authentication Header * @return payload length in 32-bits words */ external function fx_authHeaderPayloadLength(in template AuthHeader p_authHeader) return UInt8; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes pseudo random value * based on the two input strings. * @param p_prf negotiated PseudoRandomFunction Loading @@ -172,7 +172,7 @@ in octetstring p_second ) return octetstring; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes the seven secrets * based on the two input strings. * SK_d = prf (p_first, S | 0x01) Loading @@ -197,7 +197,7 @@ in octetstring p_second ) return SevenSecrets; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes pseudo random value * based on the two input strings. * @param p_prf negotiated PseudoRandomFunction Loading @@ -220,7 +220,7 @@ inout EncIntKeys p_encIntKeys) return FncRetCode; /* @desc This external function implements the Diffie-Hellman procedure /** @desc This external function implements the Diffie-Hellman procedure * and calculates the key for the Key Exchange payload to be sent to the * peer based on the private key and the number of the Diffie-Hellman group. * Prime and generator for the Diffie-Hellman groups are found in: Loading @@ -233,7 +233,7 @@ in octetstring p_diffieHellmanPrivKey ) return octetstring; /* @desc This external function implements the Diffie-Hellman procedure /** @desc This external function implements the Diffie-Hellman procedure * and calculates the shared secret based on the private key, * the received key from the Key Exchange payload and the number * of the Diffie-Hellman group. Loading @@ -249,7 +249,7 @@ in octetstring p_receivedKey) return octetstring; /* @desc This external function runs the IkePayloadList through Codec and returns /** @desc This external function runs the IkePayloadList through Codec and returns * the octetstring representing the IkePayloadList. If encrypted payload is part of the payload list, * then the ecncrypted octet string is returned. * Loading @@ -259,7 +259,7 @@ external function fx_ikePayloadListToOct(in IkePayloadList p_ikePayloadList) return octetstring; /* @desc This external function runs the Ikev2Header through Codec and returns /** @desc This external function runs the Ikev2Header through Codec and returns * the octetstring representing the Ikev2Header * * @param p_ikev2Header Ikev2Header to be encoded to octetstring Loading @@ -268,7 +268,7 @@ external function fx_ikev2HeaderToOct(Ikev2Header p_ikev2Header) return octetstring; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of the IKE encrypted payload. Before calculating the length, the payload is encrypted in the test adapter. * @param p_msg Ipv6 packet * @return payload length in bytes Loading ttcn/LibCommonRfcs/LibIpv6_Interface_Functions.ttcn +22 −22 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_Functions.ttcn +28 −28 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module specifies functions definitions Loading @@ -21,7 +21,7 @@ group calcPrefixFns { /* /** * @desc Compute an Unique Interface ID based on a MAC Address * @param p_macAddr MAC Address * @return Unique interface ID Loading Loading @@ -53,7 +53,7 @@ } /* /** * @desc Compute link-local, global, solicited-node multicast IPv6 addresses<br> * and MAC-Solicited-node Address, based on prefix and MAC address * @param p_macAddr MAC Address Loading Loading @@ -120,7 +120,7 @@ return e_success; }//end function f_createIpAddresses /* /** * @desc Create a Home Agent Anycast address for a given prefix * @param p_prefix Prefix * @param p_prefixLen Prefix Length Loading Loading @@ -154,7 +154,7 @@ return e_success; }//end function f_createHaAnycastAddress /* /** * @desc Creates a prefix using p_address and p_prefixLength. The p_prefixLength * MSB bits remain unchanged, the others are set to zero. * @param p_address Address used for prefix creation Loading @@ -177,7 +177,7 @@ } // end f_createPrefix /* /** * @desc Creates a prefix using p_address. The length of the prefix is fixed * in 64. The first 64 bits remain unchanged, the others are set to zero. * @param p_address Address used for prefix creation Loading @@ -201,7 +201,7 @@ }//end group calcPrefixFns /* /** * @desc This goes through the ExtensionHeaderList and * checks if a HomeAddressOption is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -230,7 +230,7 @@ return v_ret; }//end function f_isPresentHomeAddressOption /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Routing Header type 2 is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading @@ -257,7 +257,7 @@ return v_ret; }//end function f_isPresentRoutingHeaderType2 /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Binding Authority Data option is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -291,7 +291,7 @@ }//end function f_isPresentBindingAuthorityDataOption /* /** * @desc This goes through the ExtensionHeaderList and * checks if a Binding Refresh Advice option is present. * @param p_extHdrList ExtensionHeaderList to be treated Loading Loading @@ -328,7 +328,7 @@ group ipSecFns { /* /** * @desc Get the length of ICV depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return ICV length in units of octets Loading @@ -350,7 +350,7 @@ group ipSecFns { return 12; } /* /** * @desc Get the length of ICV Padding depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return ICV Padding length in units of octets Loading @@ -372,7 +372,7 @@ group ipSecFns { return 0; } /* /** * @desc Check that an integrity key as the correct length, regarding the chosen algo * @param p_integrityAlgo Chosen intergity algo * @param p_keyLen Integrity key length in octets Loading Loading @@ -400,7 +400,7 @@ group ipSecFns { return true; } /* /** * @desc Get the length of an integrity key depending on the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return Integrity key length in units of octets Loading Loading @@ -439,7 +439,7 @@ group ipSecFns { }//end function f_getIntegrKeyLen /* /** * @desc Get the length of an prf key depending on the chosen prf function * @param p_pseudoRandomFunction Chosen prf function * @return Prf key length in units of octets Loading Loading @@ -467,7 +467,7 @@ group ipSecFns { }//end function f_getPrfKeyLen /* /** * @desc Get the length of IV depending on the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Initialization Vector length in units of octets Loading Loading @@ -518,7 +518,7 @@ group ipSecFns { } } /* /** * @desc Compute random IV corresponding to the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Initialization Vector Loading Loading @@ -573,7 +573,7 @@ group ipSecFns { return int2oct(float2int(int2float(20000-5000)*rnd())+5000, v_keyLen); } /* /** * @desc Get the block size corresponding to the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Block size in units of octets Loading Loading @@ -624,7 +624,7 @@ group ipSecFns { } } /* /** * @desc Get the block size corresponding to the chosen algo * @param p_integrityAlgo Chosen integrity algo * @return Block size in units of octets Loading Loading @@ -666,7 +666,7 @@ group ipSecFns { } } /* /** * @desc Check that an encryption key as the correct length, regarding the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @param p_keyLen Encryption key length in octets Loading @@ -691,7 +691,7 @@ group ipSecFns { return true; } /* /** * @desc Get the length of an encryption key depending on the chosen algo * @param p_encryptionAlgo Chosen encryption algo * @return Encryption key length in units of octets Loading Loading @@ -739,7 +739,7 @@ group ipSecFns { }//end function f_getEncrKeyLen /* /** * @desc This generates Security Parameters Index * @return Security Parameters Index */ Loading @@ -751,7 +751,7 @@ group ipSecFns { return oct2int(v_spi); }//end f_createSpi /* /** * @desc This generates a secret key * @return Secret key */ Loading @@ -763,7 +763,7 @@ group ipSecFns { return v_key; }//end f_createSecretKey /* /** * @desc Initialize security parameters (SAD, keys, algos, ...) * @param p_ipSecControl Select manual or automatic SA establishment * @param p_ipSecProtocolMode Select transport or Tunnel mode Loading Loading @@ -1059,7 +1059,7 @@ group ipSecFns { }//end f_init_ipSecParams /* /** * @desc Compute length of SA Proposal List * @param p_saProposalList SA Proposal list * @return SA proposal list length Loading @@ -1078,7 +1078,7 @@ group ipSecFns { } /* /** * @desc Compute length of SA Transform List * @param p_numberOfTransforms Number of Transform in the Transform list * @param p_saTransformList SA Transformlist Loading @@ -1102,7 +1102,7 @@ group ipSecFns { } /* /** * @desc Compute length of SA Transform Attribute List * @param p_saTransformAttributeList SA Transform attribute list * @return SA transform attribute list length Loading @@ -1124,7 +1124,7 @@ group ipSecFns { } /* /** * @desc Compute padding length * @param p_ikeMsg IKE Message * @return Padding length Loading
ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_Templates.ttcn +11 −11 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module specifies common template definitions Loading @@ -17,7 +17,7 @@ module LibIpv6_CommonRfcs_Templates { group link_Layer_Address { /* /** * @param p_addr Source MAC link layer address value * @remark The option length is defined by module parameter PX_MAC_OPTION_LEN */ Loading @@ -27,7 +27,7 @@ module LibIpv6_CommonRfcs_Templates { linkLayerAddr:= p_addr } /* /** * @param p_addr Target MAC link layer address value * @remark The option length is defined by module parameter PX_MAC_OPTION_LEN */ Loading Loading @@ -65,14 +65,14 @@ module LibIpv6_CommonRfcs_Templates { group destination_Options { /* /** * @param p_dstOpt First element in the Destination option list */ template DestOptionList m_dstOptList_1Elem ( template DestOption p_dstOpt ) := { p_dstOpt } /* /** * @param p_dstOpt First 2 elements in the Destination option list */ template DestOptionList m_dstOptList_2Elem ( template DestOption p_dstOpt1, Loading @@ -82,14 +82,14 @@ module LibIpv6_CommonRfcs_Templates { } /* /** * @param p_option Destination option(s) encoded in octetstring */ template DestOption m_dstOpt_generalOption ( template octetstring p_option ) := { generalOptionString := p_option } /* /** * @param p_homeAddress Home Address */ template DestOption m_dstOpt_homeAddr(template Oct16 p_homeAddress) := { Loading @@ -100,7 +100,7 @@ module LibIpv6_CommonRfcs_Templates { } } /* /** * @param p_homeAddress Home Address */ template DestOption mw_dstOpt_homeAddr := { Loading @@ -111,7 +111,7 @@ module LibIpv6_CommonRfcs_Templates { } } /* /** * @param p_homeAddress Home Address */ template DestOption m_dstOpt_padN(template OptPadN p_optPadN) := { Loading @@ -122,7 +122,7 @@ module LibIpv6_CommonRfcs_Templates { group nbrDiscOptions { /* /** * @param p_advInterval Advertisement Interval */ template AdvertisementInterval m_advInterval(UInt32 p_advInterval) := { Loading @@ -132,7 +132,7 @@ module LibIpv6_CommonRfcs_Templates { advInterval := p_advInterval } /* /** * @param p_homeAgentPreference Home Agent preference value * @param p_homeAgentLifetime Home Agent Lifetime */ Loading
ttcn/LibCommonRfcs/LibIpv6_CommonRfcs_TypesAndValues.ttcn +19 −53 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module defines types and constants for Loading @@ -22,29 +22,29 @@ module LibIpv6_CommonRfcs_TypesAndValues { group rfc4291AddressingArchitecture { /* /** * @desc IPv6 Address */ type Oct16 Ipv6Address; /* /** * @desc IPv4 Address */ type Oct4 Ipv4Address; /* /** * @desc Indicates the number of bits to be used as Prefix */ type UInt8 PrefixLength; /* /** * @desc Unspecified address */ const Ipv6Address c_unspecifiedAdd := c_16ZeroBytes; const UInt8 c_maxNrIpv6Address := 10; /* /** * @desc List of Ipv6Address */ type record length(1 .. c_maxNrIpv6Address) of Ipv6Address Ipv6AddressList; Loading Loading @@ -102,7 +102,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optPadNLen2 := 2; const UInt8 c_optPadNLen4 := 4 ; /* /** * @desc Derived from RFC2460 clause 4.2 * @url http://www.ietf.org/rfc/rfc2460.txt */ Loading @@ -113,7 +113,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { encode "present=bytes(0,1,0);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-1"; } /* /** * @desc Derived from RFC2460 clause 4.2 * @url http://www.ietf.org/rfc/rfc2460.txt */ Loading @@ -134,7 +134,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_maxNrDestOption := 10; /* /** * @desc List of DestOption * @remark In a DestOptionList value either the pad1 or padN * option can appear only once! Loading @@ -144,7 +144,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { encode "elements=valueOf(getTag('hdrExtLen'));" } /* /** * @desc Ipv6 Destination Options */ type union DestOption { Loading @@ -171,7 +171,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { /* /** * @desc Derived from RFC2461 clause4.6.1 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -180,11 +180,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optionLength, Oct6to15 linkLayerAddr } with { variant "present=bytes(0,1,1);"; variant (optionLength) "tag='SLA_optionLength';"; variant (linkLayerAddr) "length=valueOf(getTag('SLA_optionLength'))*8-2;"; } }//end group slla Loading @@ -192,7 +187,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_tgtLinkLayerAddress := 2; /* /** * @desc Derived from RFC 2461 clause 4.6.1 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -201,11 +196,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optionLength, Oct6to15 linkLayerAddr } with { variant "present=bytes(0,1,2);"; variant (optionLength) "tag='TLA_optionLength';"; variant (linkLayerAddr) "length=valueOf(getTag('TLA_optionLength'))*8-2;"; } }//end group tlla Loading @@ -214,7 +204,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_mtuOption := 5; /* /** * @desc Derived from RFC 2461 clause 4.6.4 + MIPv6 * @url http://www.ietf.org/rfc/rfc2461.txt */ Loading @@ -224,9 +214,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 reserved, UInt32 mtu } with { variant "present=bytes(0,1,5);" } }//end group mtu Loading @@ -236,7 +223,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optTunnelEncapLimit := 4; /* /** * @desc Derived from RFC 2473 Section 4.1.1 * @url http://www.ietf.org/rfc/rfc2473.txt */ Loading @@ -245,9 +232,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen (1), UInt8 optTunnelEncapLimitValue } with { variant "present=bytes(0,1,4);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-3"; } }//end group rfc2473Options Loading @@ -257,7 +241,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt32 c_jumboLen8 := 8; const UInt32 c_jumboLen128K := 131072; /* /** * @desc Derived from RFC 2675 Section 2 * @url http://www.ietf.org/rfc/rfc2675.txt */ Loading @@ -266,9 +250,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen(4), UInt32 optJumboPayloadLength } with { variant "present=bytes(0,1,194);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-6"; } }//end group rfc2675Options Loading @@ -276,7 +257,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const UInt8 c_optRouterAlert := 5; /* /** * @desc Derived from RFC 2711 Section 2.1 * @url http://www.ietf.org/rfc/rfc2711.txt */ Loading @@ -285,9 +266,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 optLen(2), UInt16 optValue } with { variant "present=bytes(0,1,5);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-4"; } }//end group rfc2711Options Loading @@ -296,7 +274,7 @@ module LibIpv6_CommonRfcs_TypesAndValues { const octetstring c_preDefAIOption := '0701000000001000'O; const octetstring c_preDefHAIOption := '0801000000000040'O; /* /** * @desc Extra ICMP option introduced by RFC3775, clause 7.3 */ type record AdvertisementInterval { //ND + MIPv6 Loading @@ -305,11 +283,8 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 reserved, UInt32 advInterval } with { variant "present=bytes(1, 0x07)" } /* /** * @desc Extra ICMP option introduced by RFC3775, clause 7.4 */ type record HomeAgentInfo { //ND + MIPv6 Loading @@ -319,11 +294,8 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt16 homeAgentPreference, UInt16 homeAgentLifetime } with { variant "present=bytes(1, 0x08)" } /* @desc Derived from RFCxxxx MIpv6, clause 6.2 /** @desc Derived from RFCxxxx MIpv6, clause 6.2 * @remark This extension shall be inserted: * 1) After the routing header, if that header is present, * 2) Before the Fragment Header, if that header is present Loading @@ -334,9 +306,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { UInt8 ipv6OptLen(0..16), Oct16 homeAddress } with { variant "present=bytes(0,1,201);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-18"; } group mobileOptionValues { const UInt8 c_bindingRefreshAdvice := 2; Loading @@ -355,6 +324,3 @@ module LibIpv6_CommonRfcs_TypesAndValues { } // end ipv6Options } // end LibIpv6_CommonRfcs_TypesAndValues //with { // encode "LibIpv6_CommonRfcs_TypesAndValues"; //} No newline at end of file
ttcn/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +25 −25 Original line number Diff line number Diff line /* /** * @author STF 276 * @version $Id$ * @desc This module collects external functions available Loading @@ -18,7 +18,7 @@ import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; /* @desc This external function translates an IPv4 address string /** @desc This external function translates an IPv4 address string * in its octetstring representation. * @param p_address charstring representation of an IPv4 address * @return Ipv4Address octetstring representation Loading @@ -26,7 +26,7 @@ external function fx_translateIpv4Address( in charstring p_address ) return Ipv4Address; /* @desc This external function translates an IPv6 address string /** @desc This external function translates an IPv6 address string * in its octetstring representation. * @param p_address charstring representation of an IPv6 address * @return Ipv6Address octetstring representation Loading @@ -34,7 +34,7 @@ external function fx_translateIpv6Address( in charstring p_address ) return Ipv6Address; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of a IPv6 packet. If ESP Hdr is used, then payload is encrypted before calculation of the length. * @param p_msg Ipv6 packet * @return payload length in bytes Loading @@ -42,7 +42,7 @@ external function fx_payloadLength( in template Ipv6Packet p_msg ) return UInt16; /* @desc This external function calculates the total length /** @desc This external function calculates the total length * of a IPv4 packet. * @param p_msg Ipv4 packet * @return payload length in bytes Loading @@ -50,7 +50,7 @@ external function fx_ipv4PacketTotalLength( in template Ipv4Packet p_msg ) return UInt16; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of a IPv6 packet * @param p_msg Ipv6 packet * @param p_entry Nr of Tunnelled packet within the IPv6Packet Loading @@ -59,7 +59,7 @@ external function fx_tunnelledPayloadLength( template Ipv6Packet p_msg, in UInt8 p_entry ) return UInt16; /* @desc Calculates the checksum over the IPv6 payload /** @desc Calculates the checksum over the IPv6 payload * @param p_srcAddress Source Address * @param p_dstAddress Destination Address * @param p_payload Checksum is calculated over this Loading @@ -72,27 +72,27 @@ in UInt8 p_nextHeader) return Oct2; /* @desc Calculates the checksum over the IPv4 payload /** @desc Calculates the checksum over the IPv4 payload * @param p_payload Checksum is calculated over this * @return checksum value */ external function fx_calcIpv4PayloadChecksum(in template Ipv4Payload p_payload) return Oct2; /* @desc Calculates the header checksum (HCS) over the IPv4 header /** @desc Calculates the header checksum (HCS) over the IPv4 header * @param p_ipv4Header Checksum is calculated over this * @return checksum value */ external function fx_calcIpv4Hcs(in template Ipv4Header p_ipv4Header) return Oct2; /* @desc This external function runs the Ipv6Packet through Codec and returns /** @desc This external function runs the Ipv6Packet through Codec and returns * the octetstring representing the Ipv6Packet */ external function fx_encodeMessage (in template Ipv6Packet p_msg) return octetstring; /* @desc This external function calculates the checksum for MIPv6 Header. /** @desc This external function calculates the checksum for MIPv6 Header. * If HomeAddressOption present, then this external function is called with the * HomeAddress as Source Address * @param p_srcAddr Source Address to be used for Checksum calculation Loading @@ -105,14 +105,14 @@ in MobileHeader p_mobileHeader) return Oct2; /* @desc This external function calculates the length of MIPv6 Header. /** @desc This external function calculates the length of MIPv6 Header. * @param p_mobileHeader MobileHeader * @return MIPv6 Header length */ external function fx_mipHeaderLength( in MobileHeader p_mobileHeader) return UInt8; /* @desc This external function runs the MobileHeader through Codec and returns /** @desc This external function runs the MobileHeader through Codec and returns * the octetstring representing the MobileHeader * * @param p_mobileHeader Mip Header to be encoded to octetstring Loading @@ -121,7 +121,7 @@ external function fx_mipHdrToOct(MobileHeader p_mobileHeader) return octetstring; /* @desc Apply indicated Integrity algorithm to the message. Message is an octetstring. /** @desc Apply indicated Integrity algorithm to the message. Message is an octetstring. * If e_sha1_96 is chosen, then the key input shall be ignored. * * @param p_integrityAlgo Cryptographic function used to compute MAC Loading @@ -132,7 +132,7 @@ external function fx_mac( IntegrityAlgo p_integrityAlgo, in octetstring p_key, in octetstring p_message) return octetstring; /* @desc This external function sets the test adapter with the relevant security parameters /** @desc This external function sets the test adapter with the relevant security parameters * * @param p_sa Security Association * @return FncRetCode Loading @@ -140,7 +140,7 @@ external function fx_setSecurityParameters(in Sad p_sa) return FncRetCode; /* @desc This external function sets the test adapter with the relevant security parameters /** @desc This external function sets the test adapter with the relevant security parameters * * @param p_IkeSa IKE Security Association * @return FncRetCode Loading @@ -148,14 +148,14 @@ external function fx_setIkeSecurityParameters(in IkeSa p_ikeSa) return FncRetCode; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of an IPv6 authentication header * @param p_authHeader Authentication Header * @return payload length in 32-bits words */ external function fx_authHeaderPayloadLength(in template AuthHeader p_authHeader) return UInt8; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes pseudo random value * based on the two input strings. * @param p_prf negotiated PseudoRandomFunction Loading @@ -172,7 +172,7 @@ in octetstring p_second ) return octetstring; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes the seven secrets * based on the two input strings. * SK_d = prf (p_first, S | 0x01) Loading @@ -197,7 +197,7 @@ in octetstring p_second ) return SevenSecrets; /* @desc This external function implements the negotiated /** @desc This external function implements the negotiated * pseudo random function and calcutes pseudo random value * based on the two input strings. * @param p_prf negotiated PseudoRandomFunction Loading @@ -220,7 +220,7 @@ inout EncIntKeys p_encIntKeys) return FncRetCode; /* @desc This external function implements the Diffie-Hellman procedure /** @desc This external function implements the Diffie-Hellman procedure * and calculates the key for the Key Exchange payload to be sent to the * peer based on the private key and the number of the Diffie-Hellman group. * Prime and generator for the Diffie-Hellman groups are found in: Loading @@ -233,7 +233,7 @@ in octetstring p_diffieHellmanPrivKey ) return octetstring; /* @desc This external function implements the Diffie-Hellman procedure /** @desc This external function implements the Diffie-Hellman procedure * and calculates the shared secret based on the private key, * the received key from the Key Exchange payload and the number * of the Diffie-Hellman group. Loading @@ -249,7 +249,7 @@ in octetstring p_receivedKey) return octetstring; /* @desc This external function runs the IkePayloadList through Codec and returns /** @desc This external function runs the IkePayloadList through Codec and returns * the octetstring representing the IkePayloadList. If encrypted payload is part of the payload list, * then the ecncrypted octet string is returned. * Loading @@ -259,7 +259,7 @@ external function fx_ikePayloadListToOct(in IkePayloadList p_ikePayloadList) return octetstring; /* @desc This external function runs the Ikev2Header through Codec and returns /** @desc This external function runs the Ikev2Header through Codec and returns * the octetstring representing the Ikev2Header * * @param p_ikev2Header Ikev2Header to be encoded to octetstring Loading @@ -268,7 +268,7 @@ external function fx_ikev2HeaderToOct(Ikev2Header p_ikev2Header) return octetstring; /* @desc This external function calculates the payload length /** @desc This external function calculates the payload length * of the IKE encrypted payload. Before calculating the length, the payload is encrypted in the test adapter. * @param p_msg Ipv6 packet * @return payload length in bytes Loading
ttcn/LibCommonRfcs/LibIpv6_Interface_Functions.ttcn +22 −22 File changed.Preview size limit exceeded, changes collapsed. Show changes