pespin has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35895?usp=email )
Change subject: epdg_diameter_swm: Update PID if session already exists
......................................................................
epdg_diameter_swm: Update PID if session already exists
If the FSM was recreated, during the first step it may have a different
PID. Update it so that we send the answer back to the proper PID.
Change-Id: I5e4f0ff4292c364f47d61ba629df50e8e3d35017
---
M src/epdg_diameter_swm.erl
1 file changed, 22 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/src/epdg_diameter_swm.erl b/src/epdg_diameter_swm.erl
index 57c0921..800df44 100644
--- a/src/epdg_diameter_swm.erl
+++ b/src/epdg_diameter_swm.erl
@@ -181,7 +181,15 @@
Sess = find_swm_session_by_imsi(Imsi, State),
case Sess of
#swm_session{imsi = Imsi} ->
- {Sess, State};
+ % Update Pid since it may have changed:
+ Sess1 = Sess#swm_session{pid = Pid},
+ State1 = update_swm_session(Sess, Sess1, State),
+ {Sess1, State1};
undefined ->
new_swm_session(Imsi, Pid, State)
- end.
\ No newline at end of file
+ end.
+
+update_swm_session(OldSess, NewSess, State) ->
+ SetRemoved = sets:del_element(OldSess, State#swm_state.sessions),
+ SetUpdated = sets:add_element(NewSess, SetRemoved),
+ State#swm_state{sessions = SetUpdated}.
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35895?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: I5e4f0ff4292c364f47d61ba629df50e8e3d35017
Gerrit-Change-Number: 35895
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35896?usp=email )
Change subject: epdg_ue_fsm: Introduce public function to get pid from imsi
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35896?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: Ibc4478d8d48171c302daf8aaebd037227d3e3a98
Gerrit-Change-Number: 35896
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 07 Feb 2024 16:24:37 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35894?usp=email )
Change subject: gsup_server: Fix removal of session from set
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35894?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: Iec9bce7494e3849c9e94158516f471f97182725b
Gerrit-Change-Number: 35894
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 07 Feb 2024 16:24:34 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment