diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-05-03 00:49:25 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-10 22:39:02 +0000 |
commit | 1b85bf3a3dd699d66af8684c2f696cafa3f8c4f7 (patch) | |
tree | ea71c161c1880abe1f98bcd673c93d5983dd5c7b | |
parent | 425f782d254ffcc0e0a3ef05e85a64dd8d397e4c (diff) |
BSSGP_Emulation: Implement LLC sending also for SGSN-role
We used to support sending of LLC messages only for the MS role,
where we generated BSSGP UL UNITDATA. Let's also support the
SGSN role, where we have to generate BSSGP DL UNITDATA
Change-Id: If86f4b7c9e7c3c799c274f37a350dec4a788f124
-rw-r--r-- | library/BSSGP_Emulation.ttcn | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index 849e1476..c60868e2 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -597,11 +597,18 @@ altstep as_unblocked() runs on BSSGP_CT { BSCP.send(f_BnsUdReq(ts_BSSGP_UL_UD(ClientTable[idx].tlli, ClientTable[idx].cell_id, llc_enc), g_cfg.bvci)); } - [] BSSGP_SP.receive(PDU_LLC:?) -> value llc sender vc_conn { + /* ConnHdlr sends raw LLC: Encode and send as UL_UD / DL_UD */ + [not g_cfg.sgsn_role] BSSGP_SP.receive(PDU_LLC:?) -> value llc sender vc_conn { var integer idx := f_tbl_idx_by_comp(vc_conn); var octetstring llc_enc := enc_PDU_LLC(llc); BSCP.send(f_BnsUdReq(ts_BSSGP_UL_UD(ClientTable[idx].tlli, ClientTable[idx].cell_id, llc_enc), g_cfg.bvci)); } + [g_cfg.sgsn_role] BSSGP_SP.receive(PDU_LLC:?) -> value llc sender vc_conn { + var integer idx := f_tbl_idx_by_comp(vc_conn); + var octetstring llc_enc := enc_PDU_LLC(llc); + BSCP.send(f_BnsUdReq(ts_BSSGP_DL_UD(ClientTable[idx].tlli, llc_enc), g_cfg.bvci)); + } + } function f_llc_get_n_u_tx(inout LLC_Entity llc) return uint9_t { |