Fix/complete the partial GTPv2_CodecPort we already had

Change-Id: Idb9f492863d31e9decffeb0d71215fe581fdd4bb
This commit is contained in:
Harald Welte 2020-03-12 20:00:48 +01:00 committed by laforge
parent 8ae978cecb
commit af763aaef5
3 changed files with 100 additions and 2 deletions

View File

@ -12,13 +12,13 @@
module GTPv2_CodecPort {
import from IPL4asp_PortType all;
import from IPL4asp_Types all;
import from GTPv2C_Types all;
import from GTPv2_Types all;
/* identifies a remote peer (sender or receiver) */
type record GtpPeer {
ConnectionId connId,
HostName remName,
PortNumber remPort
IPL4asp_Types.PortNumber remPort
}
/* Decoded GTP2C (Control Plane), used in send and receive direction */

View File

@ -0,0 +1,43 @@
module GTPv2_CodecPort_CtrlFunct {
import from GTPv2_CodecPort all;
import from IPL4asp_Types all;
external function f_IPL4_listen(
inout GTPv2C_PT portRef,
in HostName locName,
in PortNumber locPort,
in ProtoTuple proto,
in OptionList options := {}
) return Result;
external function f_IPL4_connect(
inout GTPv2C_PT portRef,
in HostName remName,
in PortNumber remPort,
in HostName locName,
in PortNumber locPort,
in ConnectionId connId,
in ProtoTuple proto,
in OptionList options := {}
) return Result;
external function f_IPL4_close(
inout GTPv2C_PT portRef,
in ConnectionId id,
in ProtoTuple proto := { unspecified := {} }
) return Result;
external function f_IPL4_setUserData(
inout GTPv2C_PT portRef,
in ConnectionId id,
in UserData userData
) return Result;
external function f_IPL4_getUserData(
inout GTPv2C_PT portRef,
in ConnectionId id,
out UserData userData
) return Result;
}

View File

@ -0,0 +1,55 @@
#include "IPL4asp_PortType.hh"
#include "IPL4asp_PT.hh"
#include "GTPv2_CodecPort.hh"
namespace GTPv2__CodecPort__CtrlFunct {
IPL4asp__Types::Result f__IPL4__listen(
GTPv2__CodecPort::GTPv2C__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(
GTPv2__CodecPort::GTPv2C__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(
GTPv2__CodecPort::GTPv2C__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(
GTPv2__CodecPort::GTPv2C__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(
GTPv2__CodecPort::GTPv2C__PT& portRef,
const IPL4asp__Types::ConnectionId& connId,
IPL4asp__Types::UserData& userData)
{
return f__IPL4__PROVIDER__getUserData(portRef, connId, userData);
}
}