sgsn: Add test cases to verify SABM handling on LLGMM + LL5

As OsmoSGSN doesn't implement ABM, the correct resposne to any SABM
is DM.

RelateD: OS#3953
Change-Id: Ib0d371a3356d6cb481b794945476ab40f5e0f02a
This commit is contained in:
Harald Welte 2019-04-23 23:18:23 +02:00
parent a05b807922
commit 645a151f69
1 changed files with 36 additions and 0 deletions

View File

@ -2174,6 +2174,40 @@ testcase TC_llc_null() runs on test_CT {
vc_conn.done;
}
/* Send LLC SABM to see if the SGSN rejects it properly with DM */
private function f_TC_llc_sabm_dm_llgmm(charstring id) runs on BSSGP_ConnHdlr {
f_gmm_attach(false, false);
f_sleep(1.0);
f_send_llc(ts_LLC_SABM({}, '1'B, c_LLC_SAPI_LLGMM, LLC_CR_UL_CMD));
BSSGP[0].receive(tr_BD_LLC(tr_LLC_DM(?, c_LLC_SAPI_LLGMM, LLC_CR_DL_RSP)));
setverdict(pass);
}
testcase TC_llc_sabm_dm_llgmm() runs on test_CT {
var BSSGP_ConnHdlr vc_conn;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_llgmm), testcasename(), g_gb, 42);
vc_conn.done;
}
/* Send LLC SABM to see if the SGSN rejects it properly with DM */
private function f_TC_llc_sabm_dm_ll5(charstring id) runs on BSSGP_ConnHdlr {
f_gmm_attach(false, false);
f_sleep(1.0);
f_send_llc(ts_LLC_SABM({}, '1'B, c_LLC_SAPI_LL5, LLC_CR_UL_CMD));
BSSGP[0].receive(tr_BD_LLC(tr_LLC_DM(?, c_LLC_SAPI_LL5, LLC_CR_DL_RSP)));
setverdict(pass);
}
testcase TC_llc_sabm_dm_ll5() runs on test_CT {
var BSSGP_ConnHdlr vc_conn;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_ll5), testcasename(), g_gb, 43);
vc_conn.done;
}
control {
execute( TC_attach() );
execute( TC_attach_mnc3() );
@ -2220,6 +2254,8 @@ control {
execute( TC_attach_gmm_attach_req_while_gmm_attach() );
execute( TC_llc_null() );
execute( TC_llc_sabm_dm_llgmm() );
execute( TC_llc_sabm_dm_ll5() );
}