R1B
diff --git a/Generic_Routing_Encapsulation_CNL113789.tpd b/Generic_Routing_Encapsulation_CNL113789.tpd
new file mode 100644
index 0000000..8f3e178
--- /dev/null
+++ b/Generic_Routing_Encapsulation_CNL113789.tpd
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+ <ProjectName>Generic_Routing_Encapsulation_CNL113789</ProjectName>
+ <ReferencedProjects>
+ <ReferencedProject name="ProtocolModules_Common" projectLocationURI="../COMMON/ProtocolModules_Common.tpd"/>
+ </ReferencedProjects>
+ <Files>
+ <FileResource projectRelativePath="GRE_Types.ttcn" relativeURI="src/GRE_Types.ttcn"/>
+ </Files>
+ <ActiveConfiguration>Default</ActiveConfiguration>
+ <Configurations>
+ <Configuration name="Default">
+ <ProjectProperties>
+ <MakefileSettings>
+ <generateInternalMakefile>true</generateInternalMakefile>
+ <GNUMake>true</GNUMake>
+ <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+ <targetExecutable>bin/Generic_Routing_Encapsulation_CNL113789</targetExecutable>
+ <buildLevel>Level 3 - Creating object files with dependency update</buildLevel>
+ </MakefileSettings>
+ <LocalBuildSettings>
+ <workingDirectory>bin</workingDirectory>
+ </LocalBuildSettings>
+ </ProjectProperties>
+ </Configuration>
+ </Configurations>
+</TITAN_Project_File_Information>
\ No newline at end of file
diff --git a/src/GRE_ProtocolModule.grp b/src/GRE_ProtocolModule.grp
new file mode 100644
index 0000000..7addd63
--- /dev/null
+++ b/src/GRE_ProtocolModule.grp
@@ -0,0 +1,6 @@
+<!DOCTYPE TITAN_GUI_FileGroup_file>
+<FileGroup TITAN_version="3.2.pl0" >
+ <File_Group name="GRE_ProtocolModule.grp" >
+ <File path="GRE_Types.ttcn" />
+ </File_Group>
+</FileGroup>
diff --git a/src/GRE_Types.ttcn b/src/GRE_Types.ttcn
new file mode 100644
index 0000000..76c167f
--- /dev/null
+++ b/src/GRE_Types.ttcn
@@ -0,0 +1,69 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000-2016 Ericsson Telecom AB
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// which accompanies this distribution, and is available at
+// http://www.eclipse.org/legal/epl-v10.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: GRE_Types.ttcn
+// Rev: R1B
+// Prodnr: CNL 113 789
+// Updated: 2013-08-27
+// Contact: http://ttcn.ericsson.se
+// Reference: RFC 1701
+
+module GRE_Types{
+
+ import from General_Types all;
+
+ external function enc_GRE_PDU(in GRE_PDU pdu) return octetstring
+ with { extension "prototype(convert) encode(RAW)" }
+
+ external function dec_GRE_PDU(in octetstring stream) return GRE_PDU
+ with { extension "prototype(convert) decode(RAW)" }
+
+ type record Source_Route_Entry{
+ OCT2 address_family,
+ OCT1 sre_offset,
+ INT1 sre_length,
+ octetstring routing_information
+ } with {
+ variant (sre_length) "LENGTHTO(routing_information)"
+ }
+
+ type set of Source_Route_Entry SRE_List
+
+ type record GRE_Header{
+ BIT1 checksum_present,
+ BIT1 routing_present,
+ BIT1 key_present,
+ BIT1 sequence_nubmer_present,
+ BIT1 strict_source_route,
+ BIT3 recursion_control,
+ BIT5 reserved,
+ BIT3 version_number,
+ OCT2 protcol_type,
+ OCT2 checksum optional,
+ OCT2 offset optional,
+ OCT4 key optional,
+ OCT4 sequence_number optional,
+ SRE_List routing optional
+ } with {
+ variant (checksum) "PRESENCE(checksum_present='1'B,routing_present='1'B)"
+ variant (offset) "PRESENCE(checksum_present='1'B,routing_present='1'B)"
+ variant (routing) "PRESENCE(routing_present='1'B)"
+ variant (key) "PRESENCE(key_present='1'B)"
+ variant (sequence_number) "PRESENCE(sequence_nubmer_present='1'B)"
+ }
+
+ type record GRE_PDU{
+ GRE_Header header,
+ octetstring payload
+ } with { variant ""}
+
+} with {encode "RAW"
+ extension "version R1B"
+}
\ No newline at end of file