Commit c03a0cc5 authored by validator's avatar validator
Browse files

Updated encode statements

parent a5fc8a24
Loading
Loading
Loading
Loading
+34 −33
Original line number Diff line number Diff line
@@ -63,19 +63,19 @@
			Ipv6Address	sourceAddress,
			Ipv6Address destinationAddress
		}
//		with {
//			encode (payloadLength) "intTag=\"IPv6Header_payloadLength\";";
//			encode (nextHeader) "tag=\"nextHeader\";";
//		}
		with {
			encode (payloadLength) "intTag='IPv6Header_payloadLength';";
			encode (nextHeader) "tag='nextHeader';";
		}
		
	} // end ipv6HeaderRelatedTypes

	group extensionHeaders {

		type set length(1 .. c_maxIpv6ExtHdrs) of ExtensionHeader ExtensionHeaderList;
//		with {
//			encode "present=isEOF()== false && ((valueOf(dec.getTag(\"nextHeader\"))==0) || (valueOf(dec.getTag(\"nextHeader\"))==43) || (valueOf(dec.getTag(\"nextHeader\"))==44) || (valueOf(dec.getTag(\"nextHeader\"))==60) || (valueOf(dec.getTag(\"nextHeader\"))==51) || (valueOf(dec.getTag(\"nextHeader\"))==50) || (valueOf(dec.getTag(\"nextHeader\"))==41))";
//		}
		type set length(1 .. c_maxIpv6ExtHdrs) of ExtensionHeader ExtensionHeaderList
		with {
			encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))";
		}
		
		/*
		 * @desc Mainly derived from many RFC 2460
@@ -96,9 +96,9 @@
			OtherIpv6ExtHdr		otherHeader
*/
		} 
//		with {
//			encode "present=isEOF()== false && ((valueOf(dec.getTag(\"nextHeader\"))==0) || (valueOf(dec.getTag(\"nextHeader\"))==43) || (valueOf(dec.getTag(\"nextHeader\"))==44) || (valueOf(dec.getTag(\"nextHeader\"))==60) || (valueOf(dec.getTag(\"nextHeader\"))==51) || (valueOf(dec.getTag(\"nextHeader\"))==50) || (valueOf(dec.getTag(\"nextHeader\"))==41))";
//		}
		with {
			encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))";
		}

		/*
		 * @desc Derived from  RFC 2460 Section 4.3
@@ -108,11 +108,11 @@
			UInt8			hdrExtLen,
			HopByHopOptionList 	hopByHopOptionList
		} 
//		with {
//			encode "present=(valueOf(getTag(\"nextHeader\")) == 0);";
//			encode (nextHeader) "tag=\"nextHeader\";";
//			encode (hdrExtLen) "tag=\"hdrExtLen\";intTag=\"hdrExtIntLen\"*8+8-2;intTag=\"IPv6Header_payloadLength\",getIntTag(\"IPv6Header_payloadLength\")-";
//		}
		with {
			encode "present=(valueOf(getTag('nextHeader')) == 0);";
			encode (nextHeader) "tag='nextHeader';";
			encode (hdrExtLen) "tag='hdrExtLen';intTag='hdrExtIntLen',value*8+8-2;intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-value";
		}
		

		/*
@@ -126,12 +126,12 @@
			UInt32              reserved,
			RoutingHeaderData	routingHeaderData optional
		}
//		with {
//			encode "present=(valueOf(getTag(\"nextHeader\")) == 43);";
//			encode (nextHeader) "tag=\"nextHeader\";";
//			encode (hdrExtLen) "tag=\"hdrExtLen\";intTag=\"IPv6Header_payloadLength\",getIntTag(\"IPv6Header_payloadLength\")-";
//			encode (routingType) "tag=\"routingType\";";
//		}
		with {
			encode "present=(valueOf(getTag('nextHeader')) == 43);";
			encode (nextHeader) "tag='nextHeader';";
			encode (hdrExtLen) "tag='hdrExtLen';intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-value";
			encode (routingType) "tag='routingType';";
		}
		
		/*
		 * @remark A RoutingHeaderData value should be only 
@@ -156,10 +156,10 @@
			UInt1	moreFlag,
			UInt32	identification 
		}
//		with {
//			encode "present=(valueOf(getTag(\"nextHeader\")) == 44);";
//			encode (nextHeader) "tag=\"nextHeader\";intTag=\"IPv6Header_payjoadLength\",getIntTag(\"IPv6Header_payloadLength\")-8";
//		} 
		with {
			encode "present=(valueOf(getTag('nextHeader')) == 44);";
			encode (nextHeader) "tag='nextHeader';intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-8";
		} 
		
	
		/*
@@ -170,11 +170,12 @@
			UInt8			hdrExtLen,
			DestOptionList 	destOptionList 
		}
//		with {
//			encode "present=(valueOf(getTag(\"nextHeader\")) == 60);";
//			encode (nextHeader) "tag=\"nextHeader\";";
//			encode (hdrExtLen) "tag=\"hdrExtLen\";intTag=\"hdrExtIntLen\"*8+8-2;intTag=\"IPv6Header_payloadLength\",getIntTag(\"IPv6Header_payloadLength\")-";
//		}
		with {
			encode "present=(valueOf(getTag('nextHeader')) == 60);";
			encode (nextHeader) "tag='nextHeader';";
			encode (hdrExtLen) "tag='hdrExtLen';intTag='hdrExtIntLen',value*8+8-2;intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-value";
		} 
		


		/*
@@ -212,7 +213,7 @@
        }
        with {
	        encode "isPDU=LibIpv6_Rfc2460Root_TypesAndValues;";
//        	encode (data) "length=getIntTag(\"IPv6Header_payloadLength\");";
        	encode (data) "length=getIntTag('IPv6Header_payloadLength');";
        }
        
    } //end group generalIpv6MessageType
+14 −14
Original line number Diff line number Diff line
@@ -62,8 +62,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 1)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 1)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		
		
@@ -80,8 +80,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 2)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 2)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		
		
@@ -98,8 +98,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 3)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 3)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		

@@ -117,8 +117,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 4)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 4)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		
		
@@ -136,8 +136,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 128)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 128)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		

@@ -155,8 +155,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 129)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-8";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 129)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-8";
		}
		
		/*
@@ -171,8 +171,8 @@
			octetstring	data optional
		}
		with {
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeader(dec, 58)";
//			encode (data) "length=getIntTag(\"IPv6Header_payloadLength\")-4";
			encode "isPDU=LibIpv6_Rfc2463Icmpv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeader(dec, 58)";
			encode (data) "length=getIntTag('IPv6Header_payloadLength')-4";
		}
		

+13 −13
Original line number Diff line number Diff line
@@ -43,10 +43,10 @@
		UInt32			reserved2,
		RrBody			rrBody optional
	}
//	with {
//		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=SupportFunctions.checkHeaderAndType(dec, 58, 138);import=com.testingtech.ttcn.tci.codec.helper.*;";
//		encode (icmpCode) "tag=\"icmpCode\";";
//	}
	with {
		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=SupportFunctions.checkHeaderAndType(dec, 58, 138);use=com.testingtech.ttcn.tci.codec.helper.*;";
		encode (icmpCode) "tag='icmpCode';";
	}
	


@@ -64,9 +64,9 @@
	type record RrControlBody {
		RrPrefixControlOperationList rrPrefixControlOperationList optional
	}
//	with {
//		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag(\"icmpCode\")) == 0);";
//	}
	with {
		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag('icmpCode')) == 0);";
	}
	
	
	type set length (1..c_maxNrRrPrefixControlOperation) of RrPrefixControlOperation RrPrefixControlOperationList;
@@ -118,9 +118,9 @@
	type record RrResultBody {
		RrMatchReportList rrMatchReportList optional
	}
//	with {
//		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag(\"icmpCode\")) == 1);";
//	}
	with {
		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag('icmpCode')) == 1);";
	}
	
	type set length (1..c_maxNrRrMatchReport) of RrMatchReport RrMatchReportList;

@@ -137,8 +137,8 @@
	type record RrSeqNumberReset {
		octetstring data optional
	}
//	with {
//		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag(\"icmpCode\")) == 255);";
//	}
	with {
		encode "isPDU=LibIpv6_Rfc2894RouterRenumbering_TypesAndValues;present=(valueOf(getTag('icmpCode')) == 255);";
	}
		
} // end module LibIpv6_Rfc2894RouterRenumbering_TypesAndValues
+64 −58
Original line number Diff line number Diff line
@@ -218,7 +218,7 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			e_iutRt(1)
		}
		with {
			encode "import=com.testingtech.ttcn.tci.*;";
			encode "use=com.testingtech.ttcn.tci.*;";
		}
	
		type enumerated MacLayer {
@@ -226,17 +226,17 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			e_atm(1)
		}
		with {
			encode "import=com.testingtech.ttcn.tci.*;";
			encode "use=com.testingtech.ttcn.tci.*;";
		}

		type UInt8 PrefixLength ;//indicates nr of bits to be used as Prefix
		type Ipv6Address Prefix ;
		type Oct16 Ipv6Address;
		
		type record length(1 .. c_maxNrIpv6Address) of Ipv6Address Ipv6AddressList;
//		with {
//			encode "present=isEOF()== false && (valueOf(dec.getTag(\"routingType\")) == 0);elements=valueOf(getTag(\"hdrExtLen\"));"
//		}	
		type record length(1 .. c_maxNrIpv6Address) of Ipv6Address Ipv6AddressList
		with {
			encode "present=isEOF()== false && (valueOf(dec.getTag('routingType')) == 0);elements=valueOf(getTag('hdrExtLen'));"
		}	

		/*
		 * @desc Derived from RFC2461 clause4.6.1 + MIPv6
@@ -247,11 +247,11 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8 				optionLength,
			Oct6to15			linkLayerAddr
		}
//		with {
//			encode "present=bytes(0,1,1);"
//			encode (optionLength) "tag=\"SLA_optionLength\";";
//			encode (linkLayerAddr) "length=valueOf(getTag(\"SLA_optionLength\"))*8-2;";
//		}
		with {
			encode "present=bytes(0,1,1);";
			encode (optionLength) "tag='SLA_optionLength';";
			encode (linkLayerAddr) "length=valueOf(getTag('SLA_optionLength'))*8-2;";
		}
	
		/*
		 * @desc Derived from RFC 2461 clause 4.6.1
@@ -262,11 +262,11 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8 				optionLength,
			Oct6to15			linkLayerAddr
		}
//		with {
//			encode "present=bytes(0,1,2);"
//			encode (optionLength) "tag=\"TLA_optionLength\";";
//			encode (linkLayerAddr) "length=valueOf(getTag(\"TLA_optionLength\"))*8-2;";
//		}
		with {
			encode "present=bytes(0,1,2);";
			encode (optionLength) "tag='TLA_optionLength';";
			encode (linkLayerAddr) "length=valueOf(getTag('TLA_optionLength'))*8-2;";
		}


		/*
@@ -279,9 +279,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt16	reserved,
			UInt32	mtu
		}
//		with {
//			encode "present=bytes(0,1,5);"
//		}
		with {
			encode "present=bytes(0,1,5);"
		}

	} // end group commonTypes

@@ -292,20 +292,20 @@ module LibIpv6_MultiRfcs_TypesAndValues {
		type record OptPad1 {
			UInt8 			optType(c_optPad1)
		}
//		with {
//			encode "present=bytes(0,1,0);intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-1";
//		}
		with {
			encode "present=bytes(0,1,0);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-1";
		}
		
		type record OptPadN {
			UInt8 			optType(c_optPadN),
			UInt8 			optLen,
			octetstring		padding optional
		}
//		with {
//			encode "present=bytes(0,1,1);";
//			encode (optLen) "tag=\"optLen\";intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-";
//			encode (padding) "length=valueOf(getTag(\"optLen\"))";
//		}
		with {
			encode "present=bytes(0,1,1);";
			encode (optLen) "tag='optLen';intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-value-2";
			encode (padding) "length=valueOf(getTag('optLen'))";
		}
	
		}//end group rfc2460Options

@@ -319,9 +319,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8			optLen (1),
			UInt8			optTunnelEncapLimitValue
		}
//		with {
//			encode "present=bytes(0,1,4);intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-3";
//		}
		with {
			encode "present=bytes(0,1,4);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-3";
		}
		
		}//end group rfc2473Options

@@ -336,9 +336,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8			optLen(4),
			UInt32			optJumboPayloadLength
		}
//		with {
//			encode "present=bytes(0,1,194);intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-6";
//		}
		with {
			encode "present=bytes(0,1,194);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-6";
		}

		}//end group rfc2675Options

@@ -353,9 +353,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8			optLen(2),
			UInt16			optValue
		}
//		with {
//			encode "present=bytes(0,1,5);intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-4";
//		}
		with {
			encode "present=bytes(0,1,5);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-4";
		}

		}//end group rfc2711Options

@@ -370,10 +370,10 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8	optionDataLen,
			Oct1to255 optionData optional
		}
//		with {
//			encode (optionDataLen) "tag=\"Ipv6optionDataLen\";";
//			encode (optionData) "length=valueOf(getTag(\"Ipv6optionDataLen\"))-2;";
//		}
		with {
			encode (optionDataLen) "tag='Ipv6optionDataLen';";
			encode (optionData) "length=valueOf(getTag('Ipv6optionDataLen'))-2;";
		}
			
		}//end group genericOptions
		
@@ -382,10 +382,10 @@ module LibIpv6_MultiRfcs_TypesAndValues {
		/* @remark In a HopByHopOptionList value either the pad1 or padN 
		 *         option can appear only once!
        */
		type set length (1..c_maxNrHopByHopOption) of HopByHopOption HopByHopOptionList;
//		with {
//			encode "elements=getIntTag(\"hdrExtIntLen\");"
//		}
		type set length (1..c_maxNrHopByHopOption) of HopByHopOption HopByHopOptionList
		with {
			encode "elements=getIntTag('hdrExtIntLen');"
		}

		type union HopByHopOption {
			OptPad1				pad1,
@@ -394,9 +394,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			OptRouterAlert		routerAlert,
			octetstring			generalOptionString
		} 
//		with {
//			encode (generalOptionString) "length=valueOf(getTag(\"hdrExtLen\"))-2;";
//		}
		with {
			encode (generalOptionString) "length=valueOf(getTag('hdrExtLen'))-2;";
		}
		
		}//end group hopOptions
		
@@ -405,10 +405,10 @@ module LibIpv6_MultiRfcs_TypesAndValues {
		/* @remark In a HopByHopOptionList value either the pad1 or padN 
		 *         option can appear only once!
        */
		type set length (1..c_maxNrDestOption) of DestOption   DestOptionList;
//		with {
//			encode "elements=valueOf(getTag(\"hdrExtIntLen\"));"
//		}
		type set length (1..c_maxNrDestOption) of DestOption   DestOptionList
		with {
			encode "elements=valueOf(getTag('hdrExtIntLen'));"
		}

		type union DestOption {
			OptPad1					pad1 ,
@@ -417,9 +417,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			OptHomeAddress			homeAddressOption,
			octetstring				generalOptionString
		}
//		with {
//			encode (generalOptionString) "length=valueOf(getTag(\"hdrExtLen\"))-2;";
//		}
		with {
			encode (generalOptionString) "length=valueOf(getTag('hdrExtLen'))-2;";
		}

		}//end group rfc2461Options

@@ -458,9 +458,9 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8	ipv6OptLen(0..16),
			Oct16	homeAddress
		}
//		with {
//			encode "present=bytes(0,1,201);intTag=\"hdrExtIntLen\",getIntTag(\"hdrExtIntLen\")-18";
//		}
		with {
			encode "present=bytes(0,1,201);intTag='hdrExtIntLen',getIntTag('hdrExtIntLen')-18";
		}

		}//end group rfc3775Options

@@ -514,6 +514,7 @@ module LibIpv6_MultiRfcs_TypesAndValues {
		MipMessage	mipMessage
	}
	with {
		encode "isPDU=used for external function only!";
		encode (headerLen) "tag='hdrIntLen'";
	}

@@ -689,6 +690,11 @@ module LibIpv6_MultiRfcs_TypesAndValues {
			UInt8	mipOptLen,
			octetstring	authenticator 
		}
		with {
			encode (mipOptLen) "tag='mipOptLen';";
			encode (authenticator) "length=valueOf(getTag('mipOptLen'));";
		}
		
	} // end mipOptions

	group mipConstants {
+4 −4
Original line number Diff line number Diff line
@@ -33,10 +33,10 @@
		octetstring	        data optional
	}
	with {
		encode "isPDU=LibIpv6_Rfc0768Udp_TypesAndValues;import=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeader(dec, 17)";
//		encode (extHdrList) "condition=if (valueOf(dec.getTag(\"nextHeader\")) != 17) return null";
//		encode (msgLength) "tag=\"msgLength\";";
//		encode (data) "length=valueOf(getTag(\"msgLength\"))-8;";
		encode "isPDU=LibIpv6_Rfc0768Udp_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeader(dec, 17)";
		encode (extHdrList) "condition=if (valueOf(dec.getTag('nextHeader')) != 17) return null";
		encode (msgLength) "tag='msgLength';";
		encode (data) "length=valueOf(getTag('msgLength'))-8;";
	}

} // end LibIpv6_Rfc0768Udp_TypesAndValues