Commit 1c1dcdf7 authored by schmitting's avatar schmitting
Browse files

CHildSA templates added

parent da425979
Loading
Loading
Loading
Loading
+81 −0
Original line number Diff line number Diff line
@@ -335,6 +335,87 @@

	}//end group ikeAuthResponseTemplates

	group ikeCreateChildSaRequestTemplates {

		template CreateChildSaRequest mw_createChildSaReq (template Ipv6Address p_src,
													  	   template Ipv6Address p_dst,
														   UInt16 p_udpSourcePort,
														   UInt16 p_udpDestPort,
														   Oct8 p_initiatorSpi,
														   Oct8 p_responderSpi,
														   UInt32 p_messageID,
														   template IkePayloadList p_ikepayloads) := {
			ipv6Hdr :=  mw_ipHdr_nextHdr_srcDst(c_udpHdr, p_src, p_dst),
			extHdrList        := omit,
			ipv6Payload       := { ikeMsg := {
				sourcePort    := p_udpSourcePort, 
				destPort      := p_udpDestPort,
				msgLength     := ?,																																								
				checksum      := ?,
				padding       := c_4ZeroBytes ifpresent,
				// IKEv2 Header
				ikev2Header	  := {
					initiatorSpi  := p_initiatorSpi,
					responderSpi  := p_responderSpi,
					nextPayload   := ?,
					majorVersion  := c_ikeMajorVersion2,
					minorVersion  := c_ikeMinorVersion0,
					exchangeType  := c_createChildSa,
					twoXFlags     := ?,
					rFlag         := c_rFlagRequest,
					vFlag         := c_vFlag,
					iFlag         := c_iFlagInitiator,
					threeXFlags   := ?,
					messageID     := p_messageID,
					messageLength := ?
				},
				// IKEv2 Payloads
				payloadList   := p_ikepayloads
			}}
		}

	template CreateChildSaResponse mw_createChildSaRes (template Ipv6Address p_src,
														template Ipv6Address p_dst,
														UInt16 p_udpsourcePort,
														UInt16 p_udpdestPort,
														Oct8 p_initiatorSpi,
														Oct8 p_responderSpi,
														UInt8 p_nextPayload,
														UInt32 p_messageID,
														template IkePayloadList p_ikepayloads) := {
			ipv6Hdr :=  m_ipHdr_nextHdr_srcDst(c_udpHdr, p_src, p_dst),
			extHdrList        := omit,
			ipv6Payload       := {
				ikeMsg := {
					sourcePort    := p_udpsourcePort, 
					destPort      := p_udpdestPort,
					msgLength     := c_uInt16Zero,																																								
					checksum      := c_2ZeroBytes,
					padding       := omit,
					// IKEv2 Header
					ikev2Header := {
						initiatorSpi  := p_initiatorSpi,
						responderSpi  := p_responderSpi,
						nextPayload   := p_nextPayload,
						majorVersion  := c_ikeMajorVersion2,
						minorVersion  := c_ikeMinorVersion0,
						exchangeType  := c_createChildSa,
						twoXFlags     := 0,
						rFlag         := c_rFlagRequest,
						vFlag         := c_vFlag,
						iFlag         := c_iFlagInitiator,
						threeXFlags   := 0,
						messageID     := p_messageID,
						messageLength := 0
					},
					// IKEv2 Payloads
					payloadList   := p_ikepayloads
				}
			}
		}

	}//end group ikeChildSaRequestTemplates

	group ikeInfoRequestTemplates {

		template InformationalRequest mw_ikeInfoReq (template Ipv6Address p_src,