NS_Emulation: remove dependency on PCUIF_Types
The dependency of PCUIF_Types creates also a dependency on Replace the PCU_AddrType by an unix like address family defined in the Osmocom_Types to reduce the dependency. Change-Id: I0b4fda96accef401ffc009010f9f5621583fd6dd
This commit is contained in:
parent
60408e3f57
commit
e0f7c543b7
|
@ -14,8 +14,8 @@ module NS_Emulation {
|
|||
import from BSSGP_Types all;
|
||||
import from Osmocom_Gb_Types all;
|
||||
import from NS_Provider_IPL4 all;
|
||||
import from Osmocom_Types all;
|
||||
import from IPL4asp_Types all;
|
||||
import from PCUIF_Types all;
|
||||
|
||||
type record NsUnitdataRequest {
|
||||
BssgpBvci bvci,
|
||||
|
@ -132,7 +132,7 @@ module NS_Emulation {
|
|||
}
|
||||
|
||||
type record NSConfiguration {
|
||||
PCUIF_AddrType remote_proto,
|
||||
AddressFamily address_family,
|
||||
PortNumber local_udp_port,
|
||||
charstring local_ip,
|
||||
PortNumber remote_udp_port,
|
||||
|
|
|
@ -49,6 +49,13 @@ type record Arfcn {
|
|||
uint15_t arfcn
|
||||
} with { variant "" };
|
||||
|
||||
/* based on Linux */
|
||||
type enumerated AddressFamily {
|
||||
AF_UNSPEC ('00'O),
|
||||
AF_INET ('02'O),
|
||||
AF_INET6 ('0a'O)
|
||||
}
|
||||
|
||||
/* return random integer 0 <= ret < max. According to ETSI ES 201 873 C.6.1, rnd() returns *less* than 1, so
|
||||
* the returned int will always be ret < max, or ret <= (max-1). */
|
||||
function f_rnd_int(integer max) return integer {
|
||||
|
|
|
@ -990,6 +990,17 @@ return bitstring {
|
|||
}
|
||||
}
|
||||
|
||||
function f_PCUIF_AF2addr_type(AddressFamily address_family)
|
||||
return PCUIF_AddrType {
|
||||
if (address_family == AF_INET) {
|
||||
return PCUIF_ADDR_TYPE_IPV4;
|
||||
} else if (address_family == AF_INET6) {
|
||||
return PCUIF_ADDR_TYPE_IPV6;
|
||||
} else {
|
||||
return PCUIF_ADDR_TYPE_UNSPEC;
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: second (redundant) NSVC connection is not (yet) supported */
|
||||
function f_PCUIF_ver_INFO_RemoteAddr(PCUIF_AddrType addr_type,
|
||||
charstring addr)
|
||||
|
|
|
@ -93,7 +93,7 @@ friend template (value) PCUIF_info_ind ts_PCUIF_INFO_default := {
|
|||
local_port := { mp_nsconfig.remote_udp_port, 0 },
|
||||
remote_port := { mp_nsconfig.local_udp_port, 0 },
|
||||
remote_addr := f_PCUIF_ver_INFO_RemoteAddr(
|
||||
mp_nsconfig.remote_proto, mp_nsconfig.local_ip)
|
||||
f_PCUIF_AF2addr_type(mp_nsconfig.address_family), mp_nsconfig.local_ip)
|
||||
}
|
||||
|
||||
type record lqual_range {
|
||||
|
|
|
@ -35,7 +35,7 @@ modulepar {
|
|||
};
|
||||
|
||||
NSConfiguration mp_nsconfig := {
|
||||
remote_proto := PCUIF_ADDR_TYPE_IPV4,
|
||||
address_family := AF_INET,
|
||||
local_udp_port := 23000,
|
||||
local_ip := "127.0.0.1",
|
||||
remote_udp_port := 21000,
|
||||
|
|
|
@ -68,6 +68,7 @@ modulepar {
|
|||
|
||||
NSConfigurations mp_nsconfig := {
|
||||
{
|
||||
address_family := AF_INET,
|
||||
local_udp_port := 21010,
|
||||
local_ip := "127.0.0.1",
|
||||
remote_udp_port := 23000,
|
||||
|
@ -78,6 +79,7 @@ modulepar {
|
|||
handle_sns := false
|
||||
},
|
||||
{
|
||||
address_family := AF_INET,
|
||||
local_udp_port := 21011,
|
||||
local_ip := "127.0.0.1",
|
||||
remote_udp_port := 23000,
|
||||
|
@ -88,6 +90,7 @@ modulepar {
|
|||
handle_sns := false
|
||||
},
|
||||
{
|
||||
address_family := AF_INET,
|
||||
local_udp_port := 21012,
|
||||
local_ip := "127.0.0.1",
|
||||
remote_udp_port := 23000,
|
||||
|
|
Loading…
Reference in New Issue