fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39076?usp=email )
(
1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: s1gw: make f_ConnHdlr_rx_session_modify_req() more flexible ......................................................................
s1gw: make f_ConnHdlr_rx_session_modify_req() more flexible
Allow the caller to pass FAR ID, SEID, and E-RAB parameters (F-TEID), so that it can also be used for testing the E-RAB MODIFY procedure.
Change-Id: I52317e79ac02cb4e321b49c2cd824de28e25a1c6 --- M s1gw/S1GW_ConnHdlr.ttcn 1 file changed, 17 insertions(+), 13 deletions(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved
diff --git a/s1gw/S1GW_ConnHdlr.ttcn b/s1gw/S1GW_ConnHdlr.ttcn index 453eff5..4634064 100644 --- a/s1gw/S1GW_ConnHdlr.ttcn +++ b/s1gw/S1GW_ConnHdlr.ttcn @@ -664,25 +664,27 @@ PFCP.send(resp); }
-function f_ConnHdlr_rx_session_modify_req(in ERab erab) +function f_ConnHdlr_rx_session_modify_req(in ERabParams epars, + template (present) OCT8 seid := ?, + template (present) LIN4_BO_LAST far_id := ?) runs on ConnHdlr return PDU_PFCP { /* Forwarding Action Rules */ - var template (present) Outer_Header_Creation ohc1; - var template (present) Update_Forwarding_Parameters fpars1; - var template (present) Update_FAR far1; + var template (present) Outer_Header_Creation ohc; + var template (present) Update_Forwarding_Parameters fpars; + var template (present) Update_FAR far;
- ohc1 := tr_PFCP_Outer_Header_Creation_GTP_ipv4(erab.u2a.teid, - f_inet_addr(erab.u2a.tla)); - fpars1 := tr_PFCP_Update_Forwarding_Parameters(ohc := ohc1); + ohc := tr_PFCP_Outer_Header_Creation_GTP_ipv4(epars.teid, + f_inet_addr(epars.tla)); + fpars := tr_PFCP_Update_Forwarding_Parameters(ohc := ohc);
- far1 := tr_PFCP_Update_FAR(far_id := 1, /* -- for Core -> Access */ - aa := tr_PFCP_Apply_Action_FORW, - fp := fpars1); + far := tr_PFCP_Update_FAR(far_id := far_id, + aa := tr_PFCP_Apply_Action_FORW, + fp := fpars);
/* The final Session Modification Request PDU */ var template (present) PDU_PFCP tr_pdu; - tr_pdu := tr_PFCP_Session_Mod_Req(seid := erab.pfcp_loc_seid, - update_far := far1); + tr_pdu := tr_PFCP_Session_Mod_Req(seid := seid, + update_far := far); return f_ConnHdlr_pfcp_expect(tr_pdu); }
@@ -732,7 +734,9 @@ runs on ConnHdlr { for (var integer i := 0; i < lengthof(erabs); i := i + 1) { log("UPF <- S1GW: PFCP Session Modification Request for E-RAB ID ", erabs[i].erab_id); - var PDU_PFCP pdu := f_ConnHdlr_rx_session_modify_req(erabs[i]); + var PDU_PFCP pdu := f_ConnHdlr_rx_session_modify_req(epars := erabs[i].u2a, + seid := erabs[i].pfcp_loc_seid, + far_id := 1); log("UPF -> S1GW: PFCP Session Modification Response for E-RAB ID ", erabs[i].erab_id); f_ConnHdlr_tx_session_modify_resp(erabs[i], pdu); }