ns: SNS: add bss change weight testcase

Do a normal SNS configuration. Afterwards the BSS will change
the weights of the endpoints

Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a
This commit is contained in:
Alexander Couzens 2021-02-27 20:53:37 +01:00
parent 09e04ba648
commit d5ac510648
2 changed files with 34 additions and 0 deletions

View File

@ -390,6 +390,26 @@ runs on RAW_NS_CT {
rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig.nsei, cause), idx);
}
/* perform inbound SNS-CHANGE-WEIGHT procedure */
function f_incoming_sns_chg_weight(template (omit) NsCause cause := omit, integer idx := 0)
runs on RAW_NS_CT {
log("f_incoming_sns_chg_weight(idx=", idx, ")");
var PDU_NS rx;
var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx];
if (nsvc_cfg.provider.ip.address_family == AF_INET) {
var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip,
nsvc_cfg.provider.ip.remote_udp_port) };
rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := v4_elem), idx);
} else {
var template IP6_Elements v6_elem := { tr_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip,
nsvc_cfg.provider.ip.remote_udp_port) };
rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := omit, v6 := v6_elem), idx);
}
NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_ChangeWeight.transactionID));
}
function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit)
runs on RAW_NS_CT {
log("f_outgoing_sns_add(idx_add=", idx_add, ")");

View File

@ -468,6 +468,19 @@ testcase TC_sns_config_success() runs on RAW_Test_CT {
f_clean_ns_codec();
}
testcase TC_sns_bss_change_weight() runs on RAW_Test_CT {
f_init_vty();
f_init_ns_codec(mp_nsconfig);
f_incoming_sns_size();
f_incoming_sns_config();
f_outgoing_sns_config();
activate(as_rx_alive_tx_ack());
f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 99 data-weight 99");
f_incoming_sns_chg_weight();
setverdict(pass);
f_clean_ns_codec();
}
control {
if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) {
execute( TC_tx_reset() );
@ -513,6 +526,7 @@ control {
if (mp_dialect == NS2_DIALECT_SNS) {
execute( TC_sns_config_success() );
execute( TC_sns_bss_change_weight() );
}
}