Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Szalai2019-05-14 13:26:27 +0000
committerGabor Szalai2019-05-14 13:26:27 +0000
commit6078e2bb18a72f5265b922c4a522251431e8a16f (patch)
tree43f783f5f9057c0a0f1e90c9def126fc0eecb96a
parent025b18654ddcb547cbcc48d748103aa97467b701 (diff)
downloadtitan.Servers.IP_Daemon_Dynamic-master.tar.gz
titan.Servers.IP_Daemon_Dynamic-master.tar.xz
titan.Servers.IP_Daemon_Dynamic-master.zip
Updated to be used with the latest IPL4 test portHEADR.2.Amaster
Signed-off-by: Gabor Szalai <gabor.szalai@ericsson.com>
-rw-r--r--doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN Function Specification.adoc118
-rw-r--r--doc/IP_Daemon_Dynamic_Description.adoc (renamed from doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN User Guide.adoc)164
-rw-r--r--doc/change.log9
-rw-r--r--src/IP_Daemon_Dynamic.ttcn4
-rw-r--r--src/IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc157
-rw-r--r--src/IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn8
-rw-r--r--src/IP_Daemon_Dynamic_Interface_Definitions.ttcn9
-rw-r--r--src/IP_Daemon_Dynamic_Types.ttcn7
8 files changed, 158 insertions, 318 deletions
diff --git a/doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN Function Specification.adoc b/doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN Function Specification.adoc
deleted file mode 100644
index e33e605..0000000
--- a/doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN Function Specification.adoc
+++ /dev/null
@@ -1,118 +0,0 @@
----
-Author: Eduard Czimbalmos
-Version: 155 17-CNL 113 739, Rev. A
-Date: 2012-06-14
----
-= IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Function Specification
-:author: Eduard Czimbalmos
-:revnumber: 155 17-CNL 113 739, Rev. A
-:revdate: 2012-06-14
-:toc:
-
-= Introduction
-
-== How to Read this Document
-This is the Function Specification for the IP Daemon Dynamic (IPDD). IPDD is developed for the TTCN-3 Toolset with TITAN. This document should be read together with Product Revision Information <<_2, [2]>>.
-
-== Scope
-
-The purpose of this document is to specify the functionality of the IP Daemon Dynamic application.
-
-== References
-
-[1] [[_1]]ETSI ES 201 873-1 v.3.1.1 (2005-06) +
-The Testing and Test Control Notation version 3. Part 1: Core Language
-
-[2] [[_2]]109 21-CNL 113 739-1 Uen +
-IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Product Revision Information
-
-[3] [[_3]]RFC 1006 +
-ISO transport services on top of the TCP: Version 3
-
-[4] [[_4]]198 17-CNL 113 739 Uen +
-IP Daemon Dynamic for TTCN-3 Toolset with TITAN, User’s Guide
-
-[5] [[_5]]155 17-CNL 113 531 Uen +
-IPL4 Test Port for TTCN-3 Toolset with TITAN, Function Specification
-
-[6] [[_6]]1/198 17-CRL 113 200 Uen +
-TITAN User’s Guide
-
-[7] [[_7]]198 17-CNL 113 531 Uen +
-IPL4 Test Port for TTCN-3 Toolset with TITAN, User’s Guide
-
-[8] [[_8]]6/198 17-CRL 113 200 Uen +
-PROGRAMMER'S GUIDE API Technical Reference for TITAN TTCN-3 Test Executor
-
-== Abbreviations
-
-PPID:: Payload Protocol Identifier
-RTE:: Run-Time Environment
-SCTP:: Stream Control Transmission Protocol
-UDP:: User Datagram Protocol
-IPDD:: IP Daemon Dynamic
-SUT:: System Under Test
-TCP:: Transmission Control Protocol
-TTCN-3:: Testing and Test Control Notation version 3
-
-== Terminology
-
-IPDD:: IP Daemon Dynamic, the abbreviation of this product
-
-= General
-
-IPDD provides the following features to a testcase:
-
-* defining server and client connections
-* SCTP, TCP or UDP payload relaying from the SUT via TCP connections between IPDD and the testcases
-* keeping connections alive between testcases
-* reconnect disconnected client connections
-* dynamically create new SCTP client and server associations from the testcase
-* close client and server connections from the testcase
-* subscribe to connection events, if the connections are already present
-* API to allow automatic handling of incoming messages (i.e. heartbeat messages) and events
-* API to allow sending messages when a connection initiates (auto-startup functions)
-* function callbacks that allow the user to extend the daemon so that routing can be implemented based on upper layer protocols
-* automatic shutdown after an inactivity period
-
-The usage of these features can be found in <<_4, [4]>>.
-
-= Functional specification
-
-The outline of the IPDD’s architecture can be seen in <<figure-1, Figure 1>>. IPDD is a standalone application, which is executed independently of the TTCN-3 testcases. This results that the SCTP, TCP and UDP connections remain active between the executions of testcases.
-
-When the IPDD is started, it connects the configured client IP connections to the SUT, opens the configured server IP connections, and starts listening on a TCP port for incoming connection requests from the users (testcases). After the daemon accepted a TCP connection request, the IP messages sent by the testcase are forwarded to the selected IP connection.
-
-Naturally, the answers coming from the SUT are relayed back to the user as well. Thus, IPDD provides an interface to access SCTP, TCP or UDP communication ports via TCP connections.
-The daemon tries to re-establish client IP connections that were interrupted and in case of SCTP, the testcases are notified if the corresponding SCTP connection is lost or becomes active again. In case of TCP, connection opened and connection closed messages are sent.
-
-[[figure-1]]
-image::images/architecture.png[title="IP Daemon Dynamic architecture"]
-
-== TCP Interface
-
-The messages between IPDD and the daemon users are sent over one or more TCP connections, which are handled by IPL4 test port <<_7, [7]>>.The IPDD source code contains a dual-faced (see for ‎<<_8, [8]>> details) port definition `IPDD_Interface_P`T, which is used by the testcase and the IPDD to communicate with each other.
-
-== IP interface
-
-To handle IP connections, IPDD relies on the IPL4asp test port <<_5, [5]>>, thus the supported SCTP, TCP and UDP specifications also apply here. The user can control the SCTP, TCP or UDP connection Id, and in case of SCTP, the stream Id and PPID. The testcase can also assign a specific local address for each IP connection.
-
-== Configuration
-
-IPDD can be configured using the TITAN RTE configuration file. The description of the specific parameters can be found in the IP Daemon Dynamic User’s Guide <<_4, [4]>>.
-
-== Logging
-
-The logging mechanism logs information either to the log file or output console. The user can set the amount and type of logging in the configuration file. These logging options are described in <<_6, [6]>>.
-
-== Error Handling
-
-Erroneous behaviour detected during runtime is directed into the RTE log file. The following two types of messages are taken care of:
-
-* Errors: information about errors detected is provided. If an error occurs the execution of the test case will stop immediately. The test ports will be unmapped.
-* Warnings: information about warnings detected is provided. The execution continues after the warning is shown.
-
-== Limitations
-
-* To handle IP connections, IPDD relies on the IPL4asp test port. Therefore, the limitations described in <<_5, [5]>> also apply here.
-* Several testcases can subscribe to the same association. If the association is closed by one of the testcases, the others are not notified about it.
diff --git a/doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN User Guide.adoc b/doc/IP_Daemon_Dynamic_Description.adoc
index 21a58ff..9cb11a2 100644
--- a/doc/IP Daemon Dynamic for TTCN-3 Toolset with TITAN User Guide.adoc
+++ b/doc/IP_Daemon_Dynamic_Description.adoc
@@ -1,25 +1,8 @@
----
-Author: Eduard Czimbalmos
-Version: 155 17-CNL 113 739, Rev. A
-Date: 2012-06-14
----
-= IP Daemon Dynamic for TTCN-3 Toolset with TITAN, User Guide
+= IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Description
:author: Eduard Czimbalmos
-:revnumber: 155 17-CNL 113 739, Rev. A
-:revdate: 2012-06-14
-:toc:
+:toc: left
-= Introduction
-
-== About this Document
-
-=== How to Read this Document
-
-This is the User Guide for the IP Daemon Dynamic (IPDD). IPDD was developed for the TTCN-3 Toolset with TITAN. This document should be read together with Product Revision Information <<_3, [3]>> and Function Specification <<_4, [4]>>.
-
-=== Presumed Knowledge
-
-The knowledge of the TTCN-3 language <<_1, [1]>> and the TITAN TTCN-3 Test Executor <<_10, [10]>> is essential.
+== Introduction
=== References
@@ -29,37 +12,12 @@ The Testing and Test Control Nota¬tion version 3. Part 1: Core Language
[[_2]][2] 1/198 17-CRL 113 200 Uen +
TITAN Installation Guide
-[[_3]][3] 109 21-CNL 113 739-1 Uen +
-IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Product Revision Information
-
-[[_4]][4] 155 17-CNL 113 739 +
-IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Function Specification
-
-[[_5]][5] 198 17-CNL 113 531 Uen +
-IPL4 Test Port for TTCN-3 Toolset with TITAN, User’s Guide
-
-[[_6]][6] 109 21-CNL 113 384 Uen +
-Abstract Socket Test Port for TTCN-3 Toolset with TITAN, PRI
-
-[[_7]][7] 109 21-CNL 113 686 Uen +
-Socket API for TTCN-3 Toolset with TITAN, PRI
-
-[[_8]][8] 109 21-CNL 113 531 Uen +
-IPL4 Test Port for TTCN-3 Toolset with TITAN, PRI
-
-[[_9]][9] 1/198 17-CRL 113 200 Uen +
+[[_3]][3] 1/198 17-CRL 113 200 Uen +
TITAN User’s Guide
-[[_10]][10] 2/198 17-CRL 113 200 Uen +
+[[_4]][4] 2/198 17-CRL 113 200 Uen +
Programmer’s Technical Reference for TITAN
-[[_11]][11] 109 21-CNL 113 472-7 Uen +
-TCC Useful Functions for TTCN-3 Toolset with TITAN, Product Revision Information
-
-[[_12]][12] 109 21-CNL 113 684-1 Uen +
-SGsAP v9.0.0 Protocol Modules for TTCN-3 Toolset with TITAN, PRI
-
-
=== Abbreviations
RTE:: Run-Time Environment
@@ -70,21 +28,18 @@ SUT:: System Under Test
TCP:: Transmission Control Protocol
TTCN-3:: Testing and Test Control Notation version 3
-=== Terminology
-
-IPDD:: IP Daemon Dynamic, the abbreviation of this product.
-== System Requirements
+=== System Requirements
In order to operate IPDD, the following system requirements must be satisfied:
* TITAN TTCN-3 Test Executor version R7A (1.7.pl0) or higher installed. For installation guide see <<_2, [2]>>.
-* IPL4asp Test Port for TITAN ‎<<_8, [8]>>.
-* TCCUsefulFunctions for TITAN ‎<<_11, [11]>>.
+* IPL4asp Test Port for TITAN.
+* TCCUsefulFunctions for TITAN.
-= The IP Daemon Dynamic
+== The IP Daemon Dynamic
-== Overview
+=== Overview
IPDD provides the following features to a testcase:
@@ -110,12 +65,32 @@ The daemon tries to re-establish client IP connections that were interrupted and
[[figure-1]]
image::images/architecture.png[title="IP Daemon Dynamic architecture"]
-== Installation
+=== Functional specification
+
+The outline of the IPDD’s architecture can be seen in <<figure-1, Figure 1>>. IPDD is a standalone application, which is executed independently of the TTCN-3 testcases. This results that the SCTP, TCP and UDP connections remain active between the executions of testcases.
+
+When the IPDD is started, it connects the configured client IP connections to the SUT, opens the configured server IP connections, and starts listening on a TCP port for incoming connection requests from the users (testcases). After the daemon accepted a TCP connection request, the IP messages sent by the testcase are forwarded to the selected IP connection.
+
+Naturally, the answers coming from the SUT are relayed back to the user as well. Thus, IPDD provides an interface to access SCTP, TCP or UDP communication ports via TCP connections.
+The daemon tries to re-establish client IP connections that were interrupted and in case of SCTP, the testcases are notified if the corresponding SCTP connection is lost or becomes active again. In case of TCP, connection opened and connection closed messages are sent.
+
+[[figure-1]]
+image::images/architecture.png[title="IP Daemon Dynamic architecture"]
+
+==== TCP Interface
+
+The messages between IPDD and the daemon users are sent over one or more TCP connections, which are handled by IPL4 test port. The IPDD source code contains a dual-faced port definition `IPDD_Interface_P`T, which is used by the testcase and the IPDD to communicate with each other.
+
+==== IP interface
+
+To handle IP connections, IPDD relies on the IPL4asp test port, thus the supported SCTP, TCP and UDP specifications also apply here. The user can control the SCTP, TCP or UDP connection Id, and in case of SCTP, the stream Id and PPID. The testcase can also assign a specific local address for each IP connection.
+
+=== Installation
IPDD is used as part of the TTCN-3 test environment. This means that the TTCN-3 Test Executor must be installed before any operation of IPDD. For more details on the installation of TTCN-3 Test Executor see <<_2, [2]>>.
-Furthermore, IPDD uses the IPL4 ‎<<_8, [8]>> test ports and interface functions from TCCUsefulFunctions ‎<<_11, [11]>>, therefore their installation is also inevitable.
+Furthermore, IPDD uses the IPL4 test ports and interface functions from TCCUsefulFunctions, therefore their installation is also inevitable.
-== Compilation
+=== Compilation
IPDD sources have to be compiled in order to get the IP Daemon Dynamic executable. The compilation has to be done in single mode (`TTCN3_LIB=ttcn3` in the Makefile), not in parallel mode. The following IPDD specific source files are needed:
@@ -127,7 +102,7 @@ IPDD sources have to be compiled in order to get the IP Daemon Dynamic executabl
The following source files are needed from other products:
-* *IPL4asp Test Port for TITAN (CNL 113 531) ‎<<_8, [8]>>*
+* *IPL4asp Test Port for TITAN*
** _IPL4asp_PT.hh_
** _IPL4asp_PT.cc_
** _IPL4asp_PortType.ttcn_
@@ -136,12 +111,8 @@ The following source files are needed from other products:
** _IPL4asp_protocol_L234.hh_
** _IPL4asp_discovery.cc_
-* *Abstract Socket Common Component (CNL 113 384) ‎<<_6, [6]>>*
-** _Abstract_Socket.cc_
-** _Abstract_Socket.hh_
-
-* *Socket API Common Component (CNL 113 686) ‎<<_7, [7]>>*
-* *TCCUsefulFunctions for TITAN (CNL 113 472) ‎<<_11, [11]>>*
+* *Socket API Common Component*
+* *TCCUsefulFunctions for TITAN*
** _TCCInterface.cc_
** _TCCInterface_Functions.ttcn_
** _TCCInterface_ip.h_
@@ -149,28 +120,27 @@ The following source files are needed from other products:
`CPPFLAGS` are needed to be add in the Makefile:
* SCTP support need to be enabled by adding `-DUSE_SCTP`
-* In `lkstp` version 1.0.7 or higher, the flag `-DLKSCTP_1_0_7`
-* `-DSCTP_REPORT_LISTEN_RESULT`
-For details on the compilation with TTCN-3 Test Executor see the relevant section of <<_10, [10]>>.
-== Start procedure
+For details on the compilation with TTCN-3 Test Executor see the relevant section of <<_3, [3]>>.
+
+=== Start procedure
IPDD can be started as a stand-alone TTCN-3 program in single mode: __IP_Daemon_Dynamic <config file>.cfg__
Multiple instances of IPDD can be executed in a single host.
If a fatal error occurs during initialization, IPDD does not start. Fatal error means: the configuration file cannot be found or there is error in the RTE configuration file.
-== Stop procedure
+=== Stop procedure
IPDD can be stopped by pressing `CTRL-C`. IP connections should gracefully terminate when IPDD terminates.
-== Configuration
+=== Configuration
-IPDD can be configured using the RTE configuration file, see ‎<<_10, [10]>>. This file is read by IPDD at start-up and it sets its internal parameters. Any name can be chosen as RTE configuration file name, but it is recommended to have _.cfg_ as its extension.
+IPDD can be configured using the RTE configuration file, see ‎<<_3, [3]>>. This file is read by IPDD at start-up and it sets its internal parameters. Any name can be chosen as RTE configuration file name, but it is recommended to have _.cfg_ as its extension.
[[ipdd-parameters]]
-=== IPDD parameters
+==== IPDD parameters
IPDD’s own parameters have to be specified in the `[MODULE_PARAMETERS]` section of the RTE configuration file:
@@ -258,15 +228,15 @@ Default value: `_false_`
A boolean parameter, which turns on/off the verbose output to the logfile. +
A sample module parameter setting can be examined <<rte-configuration-file, here>>, where a complete configuration file is presented.
-== Logging
+=== Logging
-The logging mechanism logs information either to the log file or to the output console. The user can set the amount and type of logging in the RTE configuration file. The Titan parameters `ConsoleMask` and `FileMask` control the overall logging. These logging options are described in <<_11, [11]>>.
+The logging mechanism logs information either to the log file or to the output console. The user can set the amount and type of logging in the RTE configuration file. The Titan parameters `ConsoleMask` and `FileMask` control the overall logging. These logging options are described in <<_3, [3]>>.
IPDD log messages can be received by using the `TTCN_USER` log mask. The module parameter <<tsp_debug, `tsp_debug`>> enables/disables verbose logging. If `tsp_debug` is selected most internal events are logged textually.
Since there is only an MTC and no PTCs within IPDD, there is only one log file that includes logging from IPDD and the IPL4 Test Port.
-== Error handling
+=== Error handling
Erroneous behaviour detected during runtime is directed into the RTE log file. The following two types of messages are taken care of:
@@ -276,9 +246,9 @@ Erroneous behaviour detected during runtime is directed into the RTE log file. T
The following sections give detailed descriptions of IPDD’s error and warning messages.
-NOTE: Besides these, error and warning messages of the IPL4asp test ports may also appear, since the daemon uses these components. For further information on them see the corresponding user’s guide ‎<<_8, [8]>>.
+NOTE: Besides these, error and warning messages of the IPL4asp test ports may also appear, since the daemon uses these components.
-=== Error messages
+==== Error messages
* *`ERROR: IP server connection #<connIdx> is declared as a server, but has no localInterface defined!`*
+
@@ -292,7 +262,7 @@ An error occurred during the initialization of the TCP server.
+
Occurs if the connection about to be closed is not present.
-=== Warning messages
+==== Warning messages
* *`WARNING: IP connection to delete: <connectionId> was not found in the database!`*
+
@@ -322,12 +292,12 @@ The server connection sent in the listen message is already in listening state,
+
The reconnected connection is already connected.
-= Dynamic behaviour
+== Dynamic behaviour
This section describes the communication between a testcase and the SUT through the IP Daemon Dynamic.
The __IP_Daemon_Dynamic_Test.ttcn__ in the demo directory of IPDD contains example testcases for the usage of the daemon.
-== Daemon messages and port definition
+=== Daemon messages and port definition
The `IP_Daemon_Dynamic_Interface_Definitions` module contains the required message types and port definition needed to communicate with IPDD. The `IPDD_Interface_PT` port type is a TCP port, which is responsible to establish the connection between the testcase and IPDD.
@@ -349,12 +319,12 @@ The port is based on the TCP port, and automatically encodes/decodes the `IPDD_M
|IPDD_Closed |Testcase←IPDD |Reports that a connection is closed in response to the close request.
|===
-== Signalling procedures between the testcase and IPDD
+=== Signalling procedures between the testcase and IPDD
The signalling procedures are presented in this section in the recommended order as they should be performed in testcases.
[[connecting-the-testcase-to-ipdd]]
-=== Connecting the testcase to IPDD
+==== Connecting the testcase to IPDD
The `f_IPL4_connect` function can be used to create a connection. The connection ID is returned in the `Result` record.
@@ -367,7 +337,7 @@ f_IPL4_setGetMsgLen(inout IPDD_Interface_PT portRef, in ConnectionId id := -1,in
In the demo directory there is an example of usage.
-=== Initiating server connection
+==== Initiating server connection
The purpose of the procedure is to ensure that a server connection is active in IPDD, and the testcase is subscribed to the server’s events.
@@ -377,7 +347,7 @@ The procedure assumes that <<connecting-the-testcase-to-ipdd, Connecting the tes
image::images/Initiating_server_connections.png[title="Initiating server connections"]
-=== Initiating client connection
+==== Initiating client connection
The purpose of the procedure is to ensure that a client connection is active in IPDD, and the testcase is subscribed to the client’s events.
@@ -386,7 +356,7 @@ The procedure assumes that <<connecting-the-testcase-to-ipdd, Connecting the tes
image::images/Initiating_client_connections.png[title="Initiating client connections"]
-=== Querying the server’s connected client connections
+==== Querying the server’s connected client connections
The purpose of the procedure is to get the connection IDs of the clients which are connected to servers active in IPDD, and subscribe to their events.
@@ -396,42 +366,42 @@ The procedure assumes that <<connecting-the-testcase-to-ipdd, Connecting the tes
image::images/Querying_connected_client_connections.png[title="Querying connected client connections"]
-== Sending data through IPDD
+=== Sending data through IPDD
Sending SCTP, TCP or UDP payload through IPDD is performed by using the `IPDD_Data` message. IPDD forwards the data to the connection’s socket to the SUT.
image::images/Sending_SCTP_TCP_or_UDP_payload.png[title="Sending SCTP, TCP or UDP payload"]
-== Receiving data through IPDD
+=== Receiving data through IPDD
Receiving SCTP, TCP or UDP payload through IPDD is performed by handling the incoming `IPDD_Data` message in an altstep. IPDD forwards the data coming on the connection’s socket to the testcase.
image::images/Receiving_SCTP_TCP_or_UDP_payload.png[title="Receiving SCTP, TCP or UDP payload"]
-== Receiving SCTP connection events
+=== Receiving SCTP connection events
SCTP connection state change events are sent to the testcase with the `IPDD_ConnectionChanged` message.
image::images/Receiving_SCTP_connection_events.png[title="Receiving SCTP connection events"]
-== Notification of incoming SCTP or TCP client connection
+=== Notification of incoming SCTP or TCP client connection
When a SCTP or a TCP client connects to the server allocated in IPDD, IPDD sends the `IPDD_Connected` message to the testcase, which includes the association ID of the accepted client connection.
image::images/Incoming_client_connection.png[title="Incoming client connection"]
-== Closing SCTP or TCP connections
+=== Closing SCTP or TCP connections
The testcase can close any SCTP or TCP connection by sending the `IPDD_Close` message.
image::images/Closing_a_connection.png[title="Closing a connection"]
-== Notification of a closed connection
+=== Notification of a closed connection
The IPDD notifies the testcase if an SCTP or a TCP connection has been closed via an `IPDD_Closed` message.
[[automatic-message-handling]]
-= Automatic message handling
+== Automatic message handling
IPDD provides a method for automatically handling incoming messages (like protocol heartbeat messages) and answer them without relaying them to the testcase.
To achieve this functionality, separate function(s) have to be written, which will be executed when data arrives from the SUT.
@@ -459,7 +429,7 @@ To make the functionality working, the user has to write a module with a separat
For a working example, see the __IP_Daemon_Dynamic_with_DiameterAutoReplies.ttcn__ source file in the demo directory of IPDD.
-= Automatic event handling
+== Automatic event handling
IPDD provides a method for automatically handling incoming events and send a message on them without relaying them to the testcase.
@@ -477,7 +447,7 @@ The `f_RegisterAutoStateChangeHandlerFunction (in f_IPDD_AutoStateChangeHandlerF
The logic and the required implementation is the same as in <<automatic-message-handling, Automatic message handling>>. Example implementation can be found in the __IP_Daemon_Dynamic_with_DiameterAutoReplies.ttcn__ source file in the demo directory of IPDD.
-= Automatic sending of messages on connection initiation
+== Automatic sending of messages on connection initiation
Outgoing messages can be sent automatically if a client connection is established from the IPDD. Functionality is available through the AutoStartup functions.
@@ -491,10 +461,10 @@ runs on self return boolean;
The function `f_RegisterAutoStartupFunction(in f_IPDD_AutoStartupFunction autoStartupFunction)` function of the `IP_Daemon_Dynamic` module has to be used to register auto-startup function(s) of type `f_IPDD_AutoStartupFunction`.
-= Examples
+== Examples
[[rte-configuration-file]]
-== RTE Configuration file
+=== RTE Configuration file
[source]
----
diff --git a/doc/change.log b/doc/change.log
new file mode 100644
index 0000000..421448b
--- /dev/null
+++ b/doc/change.log
@@ -0,0 +1,9 @@
+= IP Daemon Dynamic for TTCN-3 Toolset with TITAN, Change log
+:author: Gábor Szalai
+:toc: left
+
+== Changes
+
+=== R2A
+
+Updated to support the latest IPL4 test port
diff --git a/src/IP_Daemon_Dynamic.ttcn b/src/IP_Daemon_Dynamic.ttcn
index 22ce680..3cf6bfd 100644
--- a/src/IP_Daemon_Dynamic.ttcn
+++ b/src/IP_Daemon_Dynamic.ttcn
@@ -8,10 +8,6 @@
//
// File: IP_Daemon_Dynamic.ttcn
// Description: IPDD behaviour
-// Rev: <RnXnn>
-// Prodnr: CNL 113 630
-// Updated: 2012-05-07
-// Contact: http://ttcn.ericsson.se
module IP_Daemon_Dynamic
{
diff --git a/src/IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc b/src/IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc
index 41835ee..eac130d 100644
--- a/src/IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc
+++ b/src/IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc
@@ -1,81 +1,76 @@
-///////////////////////////////////////////////////////////////////////////////
-// 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 v2.0
-// which accompanies this distribution, and is available at
-// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc
-// Rev: <RnXnn>
-// Prodnr: CNL 113 630
-// Updated: 2010-11-24
-// Contact: http://ttcn.ericsson.se
-// Reference:
-
-
-#include "IPL4asp_PortType.hh"
-#include "IPL4asp_PT.hh"
-#include "IP_Daemon_Dynamic_Interface_Definitions.hh"
-
-namespace IP__Daemon__Dynamic__IPL4__CtrlFunct {
-
- IPL4asp__Types::Result f__IPL4__listen(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::HostName& locName,
- const IPL4asp__Types::PortNumber& locPort,
- const IPL4asp__Types::ProtoTuple& proto,
- const IPL4asp__Types::OptionList& options)
- {
- return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options);
- }
-
- IPL4asp__Types::Result f__IPL4__connect(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::HostName& remName,
- const IPL4asp__Types::PortNumber& remPort,
- const IPL4asp__Types::HostName& locName,
- const IPL4asp__Types::PortNumber& locPort,
- const IPL4asp__Types::ConnectionId& connId,
- const IPL4asp__Types::ProtoTuple& proto,
- const IPL4asp__Types::OptionList& options)
- {
- return f__IPL4__PROVIDER__connect(portRef, remName, remPort,
- locName, locPort, connId, proto, options);
- }
-
- IPL4asp__Types::Result f__IPL4__close(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::ConnectionId& connId,
- const IPL4asp__Types::ProtoTuple& proto)
- {
- return f__IPL4__PROVIDER__close(portRef, connId, proto);
- }
-
- IPL4asp__Types::Result f__IPL4__setUserData(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::ConnectionId& connId,
- const IPL4asp__Types::UserData& userData)
- {
- return f__IPL4__PROVIDER__setUserData(portRef, connId, userData);
- }
-
- IPL4asp__Types::Result f__IPL4__getUserData(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::ConnectionId& connId,
- IPL4asp__Types::UserData& userData)
- {
- return f__IPL4__PROVIDER__getUserData(portRef, connId, userData);
- }
-
- void f__IPL4__setGetMsgLen(
- IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
- const IPL4asp__Types::ConnectionId& connId,
- IPL4asp__Types::f__getMsgLen& f,
- const IPL4asp__Types::ro__integer& msgLenArgs)
- {
- f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs);
- }
-
-} // namespace IPL4__user__CtrlFunct
-
+///////////////////////////////////////////////////////////////////////////////
+// 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 v2.0
+// which accompanies this distribution, and is available at
+// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+///////////////////////////////////////////////////////////////////////////////
+//
+// File: IP_Daemon_Dynamic_IPL4_CtrlFuncDef.cc
+
+
+#include "IPL4asp_PortType.hh"
+#include "IPL4asp_PT.hh"
+#include "IP_Daemon_Dynamic_Interface_Definitions.hh"
+
+namespace IP__Daemon__Dynamic__IPL4__CtrlFunct {
+
+ IPL4asp__Types::Result f__IPL4__listen(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::HostName& locName,
+ const IPL4asp__Types::PortNumber& locPort,
+ const IPL4asp__Types::ProtoTuple& proto,
+ const IPL4asp__Types::OptionList& options)
+ {
+ return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options);
+ }
+
+ IPL4asp__Types::Result f__IPL4__connect(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::HostName& remName,
+ const IPL4asp__Types::PortNumber& remPort,
+ const IPL4asp__Types::HostName& locName,
+ const IPL4asp__Types::PortNumber& locPort,
+ const IPL4asp__Types::ConnectionId& connId,
+ const IPL4asp__Types::ProtoTuple& proto,
+ const IPL4asp__Types::OptionList& options)
+ {
+ return f__IPL4__PROVIDER__connect(portRef, remName, remPort,
+ locName, locPort, connId, proto, options);
+ }
+
+ IPL4asp__Types::Result f__IPL4__close(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::ConnectionId& connId,
+ const IPL4asp__Types::ProtoTuple& proto)
+ {
+ return f__IPL4__PROVIDER__close(portRef, connId, proto);
+ }
+
+ IPL4asp__Types::Result f__IPL4__setUserData(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::ConnectionId& connId,
+ const IPL4asp__Types::UserData& userData)
+ {
+ return f__IPL4__PROVIDER__setUserData(portRef, connId, userData);
+ }
+
+ IPL4asp__Types::Result f__IPL4__getUserData(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::ConnectionId& connId,
+ IPL4asp__Types::UserData& userData)
+ {
+ return f__IPL4__PROVIDER__getUserData(portRef, connId, userData);
+ }
+
+ void f__IPL4__setGetMsgLen(
+ IP__Daemon__Dynamic__Interface__Definitions::IPDD__Interface__PT& portRef,
+ const IPL4asp__Types::ConnectionId& connId,
+ IPL4asp__Types::f__getMsgLen& f,
+ const IPL4asp__Types::ro__integer& msgLenArgs)
+ {
+ f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs);
+ }
+
+} // namespace IPL4__user__CtrlFunct
+
diff --git a/src/IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn b/src/IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn
index 7221360..f17bb60 100644
--- a/src/IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn
+++ b/src/IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn
@@ -6,13 +6,7 @@
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
-// File: SCTP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 630
-// Updated: 2010-11-24
-// Contact: http://ttcn.ericsson.se
-// Reference:
-//
+// File: IP_Daemon_Dynamic_IPL4_CtrlFunct.ttcn
module IP_Daemon_Dynamic_IPL4_CtrlFunct {
diff --git a/src/IP_Daemon_Dynamic_Interface_Definitions.ttcn b/src/IP_Daemon_Dynamic_Interface_Definitions.ttcn
index 1146bc7..1ece853 100644
--- a/src/IP_Daemon_Dynamic_Interface_Definitions.ttcn
+++ b/src/IP_Daemon_Dynamic_Interface_Definitions.ttcn
@@ -6,12 +6,8 @@
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
-// File: SCTP_Daemon_Dynamic_Interface_Definitions.ttcn
+// File: IP_Daemon_Dynamic_Interface_Definitions.ttcn
// Description: IPDD <-> Testcase interface data and port types
-// Rev: <RnXnn>
-// Prodnr: CNL 113 630
-// Updated: 2012-11-10
-// Contact: http://ttcn.ericsson.se
module IP_Daemon_Dynamic_Interface_Definitions
@@ -269,7 +265,8 @@ type port IPDD_Interface_PT message {
inout IPDD_Message_with_ClientId
} with { extension "user IPL4asp_PT
in( ASP_Event -> ASP_Event: simple;
- ASP_RecvFrom -> IPDD_Message_with_ClientId: function(f_dec_IPDD_Message))
+ ASP_RecvFrom -> IPDD_Message_with_ClientId: function(f_dec_IPDD_Message);
+ ASP_ConnId_ReadyToRelease -> - : discard)
out(IPDD_Message_with_ClientId -> ASP_Send: function(f_enc_IPDD_Message))"
}
diff --git a/src/IP_Daemon_Dynamic_Types.ttcn b/src/IP_Daemon_Dynamic_Types.ttcn
index 6912e24..0c696b4 100644
--- a/src/IP_Daemon_Dynamic_Types.ttcn
+++ b/src/IP_Daemon_Dynamic_Types.ttcn
@@ -6,12 +6,8 @@
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
-// File: SCTP_Daemon_Dynamic_Types.ttcn
+// File: IP_Daemon_Dynamic_Types.ttcn
// Description: IPDD types
-// Rev: <RnXnn>
-// Prodnr: CNL 113 630
-// Updated: 2012-05-07
-// Contact: http://ttcn.ericsson.se
module IP_Daemon_Dynamic_Types
{
@@ -126,6 +122,7 @@ const IPDD_Connection c_emptyConnection := {
localInterface := omit,
remoteInterfacePresent := false,
remoteInterface := omit,
+ proto := unspecified,
sctpProtoAttributesPresent := false,
sctpProtoAttributes := omit
}

Back to the top