lynxis lazus submitted this change.

View Change

Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved
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, 11 insertions(+), 2 deletions(-)

diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp
index da1a0cc..5f0e421 100644
--- a/library/RAW_NS.ttcnpp
+++ b/library/RAW_NS.ttcnpp
@@ -503,18 +503,27 @@
log("f_outgoing_sns_add(idx_add=", idx_add, ")");
var PDU_NS rx;
var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx_add];
+
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) };
+ var template (omit) IP4_Elements ack_v4 := omit;
+ if (isvalue(cause) and valueof(cause) == NS_CAUSE_UNKNOWN_IP_ENDPOINT) {
+ ack_v4 := v4;
+ }
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) };
+ var template (omit) IP6_Elements ack_v6 := omit;
+ if (isvalue(cause) and valueof(cause) == NS_CAUSE_UNKNOWN_IP_ENDPOINT) {
+ ack_v6 := v6;
+ }
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 change 39063. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I18c659e43db79400c1b428ed745267a5e6e59102
Gerrit-Change-Number: 39063
Gerrit-PatchSet: 5
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>