lynxis lazus has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39063?usp=email )
Change subject: RAW_NS: SNS Add: handle IPv4/IPv6 element in SNS Ack
......................................................................
RAW_NS: SNS Add: handle IPv4/IPv6 element in SNS Ack
When adding a new NS-VC via SNS Add, the SNS Ack should
only contains the IEs "List of IP4/6 elements" if the cause code is
Unknown IP endpoint.
However the libosmocore/ns2 code isn't following this behavior yet.
Change-Id: I18c659e43db79400c1b428ed745267a5e6e59102
---
M library/RAW_NS.ttcnpp
1 file changed, 20 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/39063/1
diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp
index da1a0cc..7ab09e9 100644
--- a/library/RAW_NS.ttcnpp
+++ b/library/RAW_NS.ttcnpp
@@ -503,18 +503,36 @@
log("f_outgoing_sns_add(idx_add=", idx_add, ")");
var PDU_NS rx;
var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_add];
+ var template IP4_Elements ack_v4 := omit;
+ var template IP6_Elements ack_v6 := omit;
+
+ if (istemplatekind(cause, "*")) {
+ ack_v4 := *;
+ ack_v6 := *;
+ } else if (isvalue(cause) and valueof(cause) == NS_CAUSE_UNKNOWN_IP_ENDPOINT) {
+ if (nsvc_cfg.provider.ip.address_family == AF_INET) {
+ ack_v4 := { ts_SNS_IPv4(nsvc_cfg.provider.ip.local_ip,
+ nsvc_cfg.provider.ip.local_udp_port,
+ w_sig, w_user) };
+ } else {
+ ack_v6 := { ts_SNS_IPv6(nsvc_cfg.provider.ip.local_ip,
+ nsvc_cfg.provider.ip.local_udp_port,
+ w_sig, w_user) };
+ }
+ }
+
if (nsvc_cfg.provider.ip.address_family == AF_INET) {
var template (omit) IP4_Elements v4 := { ts_SNS_IPv4(nsvc_cfg.provider.ip.local_ip,
nsvc_cfg.provider.ip.local_udp_port,
w_sig, w_user) };
NSCP[idx].send(ts_SNS_ADD(g_nsconfig.nsei, 23, v4));
- rx := f_ns_exp(tr_SNS_ACK(g_nsconfig.nsei, 23, cause, v4));
+ rx := f_ns_exp(tr_SNS_ACK(g_nsconfig.nsei, 23, cause, ack_v4));
} else {
var template (omit) IP6_Elements v6 := { ts_SNS_IPv6(nsvc_cfg.provider.ip.local_ip,
nsvc_cfg.provider.ip.local_udp_port,
w_sig, w_user) };
NSCP[idx].send(ts_SNS_ADD(g_nsconfig.nsei, 23, omit, v6));
- rx := f_ns_exp(tr_SNS_ACK(g_nsconfig.nsei, 23, cause, omit, v6));
+ rx := f_ns_exp(tr_SNS_ACK(g_nsconfig.nsei, 23, cause, omit, ack_v6));
}
}
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39063?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I18c659e43db79400c1b428ed745267a5e6e59102
Gerrit-Change-Number: 39063
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>