---
Author: János Kövesdi
Version: 1551-CNL 113 789, Rev. A
Date: 2016-11-17

---
= The Generic Routing Encapsulation (GRE) Protocol Module for TTCN-3 Toolset with TITAN, Description
:author: János Kövesdi
:revnumber: 1551-CNL 113 789, Rev. A
:revdate: 2016-11-17
:toc:

*Copyright*

Copyright (c) 2000-2019 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 that accompanies this distribution, and is available at +
http://www.eclipse.org/legal/epl-v10.html.

== How to Read This Document

This is the Description for the The Generic Routing Encapsulation (GRE) protocol module. The GRE protocol module is developed for the TTCN-3 Toolset with TITAN.

== Presumed Knowledge

To use this protocol module the knowledge of the TTCN-3 language <<_3, [3]>> is essential.

= Functionality

The protocol module implements the message structure of the Generic Routing Encapsulation (GRE) using the standard specification language TTCNv3. This allows defining of test data in the TTCNv3 language <<_3, [3]>> and correctly encoding/decoding these messages when executing test suites using the TITAN TTCNv3 test environment.

== Protocol Version Implemented

This set of protocol modules implements protocol messages and constants of https://tools.ietf.org/html/rfc1701[RFC 1701].

For example of GRE used over IPv4 networks, please read https://tools.ietf.org/html/rfc1701[RFC 1702].

== Routing Functionality

The payload (a packet that needs to be encapsulated and routed) is first encapsulated in a GRE packet and the GRE packet can be encapsulated in some other protocol and then forwarded.

== Modified and Non-Implemented Protocol Elements

=== Relaxed conditions

There is no constraint between received and sent messages.

== Ericsson-Specific Changes

There is no Ericsson specific change in this product.

== Backward Incompatibilities

None.

== System Requirements

Protocol modules are a set of TTCN-3 source code files that can be used as part of TTCN-3 test suites only. Hence, protocol modules alone do not put specific requirements on the system used. However in order to compile and execute a TTCN-3 test suite using the set of protocol modules the following system requirements must be satisfied:

* TITAN TTCN-3 Test Executor version R7A (1.7.pl0) or higher installed. For installation guide see <<_4, [4]>>.

NOTE: This version of the protocol module is not compatible with TITAN releases earlier than R7A.

= Feature List

[[encoding-decoding-and-other-related-functions]]
== Encoding/Decoding and Other Related Functions

This product also contains encoding/decoding functions that assure correct encoding of messages when sent from TITAN and correct decoding of messages when received by TITAN. Implemented encoding/decoding functions:

[cols=3*,options=header]
|===

|Name |Type of formal parameters |Type of return value
|`enc_GRE_PDU` |(in PDU_GRE pdu) |octetstring
|`dec_GRE_PDU` |(in octetstring stream) |PDU_GRE
|===

= Protocol Modules

== Overview

Protocol modules implement the message structure of the related protocol in a formalized way, using the standard specification language TTCN-3. This allows defining of test data (templates) in the TTCN-3 language <<_3, [3]>> and correctly encoding/decoding messages when executing test suites using the Titan TTCN-3 test environment.

== Installation

The set of protocol modules can be used for developing TTCN-3 test suites using any text editor. However to make the work more efficient a TTCN-3- enabled text editor is recommended (e.g. `nedit`, `xemacs`). Since the GRE protocol is used as a part of a TTCN-3 test suite, this requires Titan TTCN-3 Test Executor be installed before the module can be compiled and executed together with other parts of the test suite. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_4, [4]>>.

== Configuration

== Module parameters

No module parameters are used in the ICAP protocol module.

= Terminology

No specific terminology used.

= Abbreviations

ETSI:: European Telecommunications Standards Institute

IETF:: Internet Engineering Task Force

GRE:: Generic Routing Encapsulation

TTCNv3:: Testing and Test Control Notation version 3

= References

[[_1]]
[1] https://tools.ietf.org/html/rfc1701[RFC 1701] +
Generic Routing Encapsulation (GRE)

[[_2]]
[2] https://tools.ietf.org/html/rfc1702[RFC 1702] +
Generic Routing Encapsulation over IPv4 networks

[[_3]]
[3] ETSI ES 201 873-1 v.3.2.1 (02/2007) +
The Testing and Test Control Notation version 3. Part 1: Core Language

[[_4]]
[4] User Guide for the TITAN TTCN-3 Test Executor
