pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36333?usp=email )
Change subject: Rename code paths Tx/Rx of Diameter Swm DER/DEA
......................................................................
Rename code paths Tx/Rx of Diameter Swm DER/DEA
Rename all related code paths related to Tx/Rx of DER and DEA messages,
so that it becomes easier to match code to spec references.
Change-Id: I4f4219ab04dce4ca7aac3a0410ac94a41080949f
---
M src/aaa_diameter_swm.erl
M src/aaa_ue_fsm.erl
M src/epdg_diameter_swm.erl
M src/epdg_ue_fsm.erl
4 files changed, 84 insertions(+), 71 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/src/aaa_diameter_swm.erl b/src/aaa_diameter_swm.erl
index c7c87a5..fadff7e 100644
--- a/src/aaa_diameter_swm.erl
+++ b/src/aaa_diameter_swm.erl
@@ -14,13 +14,13 @@
-export([init/1, handle_call/3, handle_cast/2, handle_info/2]).
-export([code_change/3, terminate/2]).
--export([rx_auth_request/4,
- rx_auth_compl_request/2,
+-export([rx_der_auth_request/4,
+ rx_der_auth_compl_request/2,
rx_reauth_answer/2,
rx_session_termination_request/1,
rx_abort_session_answer/1]).
--export([tx_auth_response/2,
- tx_auth_compl_response/2,
+-export([tx_dea_auth_response/2,
+ tx_dea_auth_compl_response/2,
tx_reauth_request/1,
tx_session_termination_answer/2,
tx_as_request/1]).
@@ -38,11 +38,11 @@
% Tx over emulated SWm wire:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-tx_auth_response(Imsi, Result) ->
- _Result = gen_server:call(?SERVER, {epdg_auth_resp, Imsi, Result}).
+tx_dea_auth_response(Imsi, Result) ->
+ _Result = gen_server:call(?SERVER, {dea_auth_resp, Imsi, Result}).
-tx_auth_compl_response(Imsi, Result) ->
- _Result = gen_server:call(?SERVER, {epdg_auth_compl_resp, Imsi, Result}).
+tx_dea_auth_compl_response(Imsi, Result) ->
+ _Result = gen_server:call(?SERVER, {dea_auth_compl_resp, Imsi, Result}).
tx_reauth_request(Imsi) ->
_Result = gen_server:call(?SERVER, {rar, Imsi}).
@@ -56,11 +56,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Rx from emulated SWm wire:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-rx_auth_request(Imsi, PdpTypeNr, Apn, EAP) ->
- gen_server:cast(?SERVER, {epdg_auth_req, Imsi, PdpTypeNr, Apn, EAP}).
+rx_der_auth_request(Imsi, PdpTypeNr, Apn, EAP) ->
+ gen_server:cast(?SERVER, {der_auth_req, Imsi, PdpTypeNr, Apn, EAP}).
-rx_auth_compl_request(Imsi, Apn) ->
- gen_server:cast(?SERVER, {epdg_auth_compl_req, Imsi, Apn}).
+rx_der_auth_compl_request(Imsi, Apn) ->
+ gen_server:cast(?SERVER, {der_auth_compl_req, Imsi, Apn}).
rx_reauth_answer(Imsi, Result) ->
gen_server:cast(?SERVER, {raa, Imsi, Result}).
@@ -73,21 +73,21 @@
%% handle_cast: Rx side
-handle_cast({epdg_auth_req, Imsi, PdpTypeNr, Apn, EAP}, State) ->
+handle_cast({der_auth_req, Imsi, PdpTypeNr, Apn, EAP}, State) ->
case aaa_ue_fsm:get_pid_by_imsi(Imsi) of
undefined -> {ok, Pid} = aaa_ue_fsm:start(Imsi);
Pid -> Pid
end,
- aaa_ue_fsm:ev_rx_swm_auth_req(Pid, {PdpTypeNr, Apn, EAP}),
+ aaa_ue_fsm:ev_rx_swm_der_auth_req(Pid, {PdpTypeNr, Apn, EAP}),
{noreply, State};
-handle_cast({epdg_auth_compl_req, Imsi, Apn}, State) ->
+handle_cast({der_auth_compl_req, Imsi, Apn}, State) ->
case aaa_ue_fsm:get_pid_by_imsi(Imsi) of
Pid when is_pid(Pid) ->
- aaa_ue_fsm:ev_rx_swm_auth_compl(Pid, Apn);
+ aaa_ue_fsm:ev_rx_swm_der_auth_compl(Pid, Apn);
undefined ->
RC_USER_UNKNOWN=5030,
- epdg_diameter_swm:rx_auth_compl_response(Imsi, {error, RC_USER_UNKNOWN})
+ epdg_diameter_swm:rx_dea_auth_compl_response(Imsi, {error, RC_USER_UNKNOWN})
end,
{noreply, State};
@@ -133,12 +133,12 @@
{noreply, S}.
%% handle_call: Tx side
-handle_call({epdg_auth_resp, Imsi, Result}, _From, State) ->
- epdg_diameter_swm:rx_auth_response(Imsi, Result),
+handle_call({dea_auth_resp, Imsi, Result}, _From, State) ->
+ epdg_diameter_swm:rx_dea_auth_response(Imsi, Result),
{reply, ok, State};
-handle_call({epdg_auth_compl_resp, Imsi, Result}, _From, State) ->
- epdg_diameter_swm:rx_auth_compl_response(Imsi, Result),
+handle_call({dea_auth_compl_resp, Imsi, Result}, _From, State) ->
+ epdg_diameter_swm:rx_dea_auth_compl_response(Imsi, Result),
{reply, ok, State};
handle_call({rar, Imsi}, _From, State) ->
diff --git a/src/aaa_ue_fsm.erl b/src/aaa_ue_fsm.erl
index d2e4aad..abbe40e 100644
--- a/src/aaa_ue_fsm.erl
+++ b/src/aaa_ue_fsm.erl
@@ -42,7 +42,8 @@
-export([start/1, stop/1]).
-export([init/1,callback_mode/0,terminate/3]).
-export([get_server_name_by_imsi/1, get_pid_by_imsi/1]).
--export([ev_rx_swm_auth_req/2, ev_rx_swm_reauth_answer/2, ev_rx_swm_auth_compl/2,
ev_rx_swm_str/1, ev_rx_swm_asa/1,
+-export([ev_rx_swm_der_auth_req/2, ev_rx_swm_der_auth_compl/2,
+ ev_rx_swm_reauth_answer/2, ev_rx_swm_str/1, ev_rx_swm_asa/1,
ev_rx_swx_maa/2, ev_rx_swx_saa/2, ev_rx_swx_ppr/2, ev_rx_swx_rtr/1,
ev_rx_s6b_aar/2, ev_rx_s6b_str/1, ev_rx_s6b_raa/2, ev_rx_s6b_asa/2]).
-export([state_new/3,
@@ -86,10 +87,10 @@
{error, Err}
end.
-ev_rx_swm_auth_req(Pid, {PdpTypeNr, Apn, EAP}) ->
- lager:info("ue_fsm ev_rx_swm_auth_req~n", []),
+ev_rx_swm_der_auth_req(Pid, {PdpTypeNr, Apn, EAP}) ->
+ lager:info("ue_fsm ev_rx_swm_der_auth_req~n", []),
try
- gen_statem:call(Pid, {rx_swm_auth_req, PdpTypeNr, Apn, EAP})
+ gen_statem:call(Pid, {rx_swm_der_auth_req, PdpTypeNr, Apn, EAP})
catch
exit:Err ->
{error, Err}
@@ -103,10 +104,10 @@
{error, Err}
end.
-ev_rx_swm_auth_compl(Pid, Apn) ->
- lager:info("ue_fsm ev_rx_swm_auth_compl~n", []),
+ev_rx_swm_der_auth_compl(Pid, Apn) ->
+ lager:info("ue_fsm ev_rx_swm_der_auth_compl~n", []),
try
- gen_statem:call(Pid, {rx_swm_auth_compl, Apn})
+ gen_statem:call(Pid, {rx_swm_der_auth_compl, Apn})
catch
exit:Err ->
{error, Err}
@@ -229,8 +230,8 @@
state_new(enter, _OldState, Data) ->
{keep_state, Data};
-state_new({call, From}, {rx_swm_auth_req, PdpTypeNr, Apn, EAP}, Data) ->
- lager:info("ue_fsm state_new event=rx_swm_auth_req {~p, ~p, ~p}, ~p~n",
[PdpTypeNr, Apn, EAP, Data]),
+state_new({call, From}, {rx_swm_der_auth_req, PdpTypeNr, Apn, EAP}, Data) ->
+ lager:info("ue_fsm state_new event=rx_swm_der_auth_req {~p, ~p, ~p},
~p~n", [PdpTypeNr, Apn, EAP, Data]),
case maps:find(authorization, EAP) of
{ok, Authorization} when is_binary(Authorization) -> Authorization;
error -> Authorization = []
@@ -240,8 +241,8 @@
{error, Err} -> {keep_state, Data, [{reply,From,{error, Err}}]}
end;
-state_new({call, From}, {rx_swm_auth_compl, Apn}, Data) ->
- lager:info("ue_fsm state_new event=rx_swm_auth_compl, ~p~n", [Data]),
+state_new({call, From}, {rx_swm_der_auth_compl, Apn}, Data) ->
+ lager:info("ue_fsm state_new event=rx_swm_der_auth_compl, ~p~n",
[Data]),
case aaa_diameter_swx:server_assignment_request(Data#ue_fsm_data.imsi, 1, Apn,
[]) of
ok -> {next_state, state_wait_swx_saa, Data, [{reply,From,ok}]};
{error, Err} -> {keep_state, Data, [{reply,From,{error, Err}}]}
@@ -256,7 +257,7 @@
state_wait_swx_maa({call, From}, {rx_swx_maa, Result}, Data) ->
lager:info("ue_fsm state_wait_swx_maa event=rx_swx_maa, ~p~n",
[Data]),
- aaa_diameter_swm:tx_auth_response(Data#ue_fsm_data.imsi, Result),
+ aaa_diameter_swm:tx_dea_auth_response(Data#ue_fsm_data.imsi, Result),
{next_state, state_new, Data, [{reply,From,ok}]}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -270,10 +271,10 @@
lager:info("ue_fsm state_wait_swx_saa event=rx_swx_saa ~p, ~p~n",
[Result, Data]),
case Result of
{error, _SAType, DiaRC} ->
- aaa_diameter_swm:tx_auth_compl_response(Data#ue_fsm_data.imsi, {error,
DiaRC}),
+ aaa_diameter_swm:tx_dea_auth_compl_response(Data#ue_fsm_data.imsi,
{error, DiaRC}),
{next_state, state_new, Data, [{reply,From,ok}]};
{ok, _SAType, ResInfo} ->
- aaa_diameter_swm:tx_auth_compl_response(Data#ue_fsm_data.imsi, {ok,
ResInfo}),
+ aaa_diameter_swm:tx_dea_auth_compl_response(Data#ue_fsm_data.imsi, {ok,
ResInfo}),
{next_state, state_authenticated, Data, [{reply,From,ok}]}
end.
@@ -350,8 +351,8 @@
end
end;
-state_authenticated({call, _From}, {rx_swm_auth_req, PdpTypeNr, Apn, EAP}, Data) ->
- lager:info("ue_fsm state_authenticated event=rx_swm_auth_req {~p, ~p, ~p},
~p~n", [PdpTypeNr, Apn, EAP, Data]),
+state_authenticated({call, _From}, {rx_swm_der_auth_req, PdpTypeNr, Apn, EAP}, Data)
->
+ lager:info("ue_fsm state_authenticated event=rx_swm_der_auth_req {~p, ~p,
~p}, ~p~n", [PdpTypeNr, Apn, EAP, Data]),
{next_state, state_new, Data, [postpone]};
state_authenticated({call, From}, {rx_swx_ppr, _PGWAddresses}, Data) ->
diff --git a/src/epdg_diameter_swm.erl b/src/epdg_diameter_swm.erl
index 5d7ffe2..05fb87b 100644
--- a/src/epdg_diameter_swm.erl
+++ b/src/epdg_diameter_swm.erl
@@ -14,13 +14,13 @@
-export([init/1, handle_call/3, handle_cast/2, handle_info/2]).
-export([code_change/3, terminate/2]).
--export([tx_auth_request/4,
+-export([tx_der_auth_request/4,
tx_reauth_answer/2,
- tx_auth_compl_request/2,
+ tx_der_auth_compl_request/2,
tx_session_termination_request/1,
tx_abort_session_answer/1]).
--export([rx_auth_response/2,
- rx_auth_compl_response/2,
+-export([rx_dea_auth_response/2,
+ rx_dea_auth_compl_response/2,
rx_reauth_request/1,
rx_session_termination_answer/2,
rx_abort_session_request/1]).
@@ -37,16 +37,16 @@
%% Swm Diameter message Diameter-EAP-Request, 3GPP TS 29.273 Table 7.1.2.1.1
-tx_auth_request(Imsi, PdpTypeNr, Apn, EAP) ->
+tx_der_auth_request(Imsi, PdpTypeNr, Apn, EAP) ->
% In Diameter we use Imsi as strings, as done by diameter module.
ImsiStr = binary_to_list(Imsi),
% PdpTypeNr: SWm Diameter AVP "UE-Local-IP-Address"
% Apn: SWm Diameter AVP "Service-Selection"
% EAP: SWm Diameter AVP EAP-Payload
- Result = gen_server:call(?SERVER, {epdg_auth_req, ImsiStr, PdpTypeNr, Apn, EAP}),
+ Result = gen_server:call(?SERVER, {der_auth_req, ImsiStr, PdpTypeNr, Apn, EAP}),
case Result of
{ok, _AuthTuples} ->
- epdg_ue_fsm:received_swm_auth_response(self(), Result),
+ epdg_ue_fsm:received_swm_dea_auth_response(self(), Result),
ok;
_ -> Result
end.
@@ -57,13 +57,13 @@
_Result = gen_server:call(?SERVER, {raa, ImsiStr, DiaRC}).
% Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP REQ
(DER) with EAP AVP containing successuful auth":
-tx_auth_compl_request(Imsi, Apn) ->
+tx_der_auth_compl_request(Imsi, Apn) ->
% In Diameter we use Imsi as strings, as done by diameter module.
ImsiStr = binary_to_list(Imsi),
- Result = gen_server:call(?SERVER, {epdg_auth_compl_req, ImsiStr, Apn}),
+ Result = gen_server:call(?SERVER, {der_auth_compl_req, ImsiStr, Apn}),
case Result of
{ok, _Mar} ->
- epdg_ue_fsm:received_swm_auth_compl_response(self(), Result),
+ epdg_ue_fsm:received_swm_dea_auth_compl_response(self(), Result),
ok;
_ -> Result
end.
@@ -91,9 +91,9 @@
_ -> Result
end.
-handle_call({epdg_auth_req, Imsi, PdpTypeNr, Apn, EAP}, _From, State) ->
+handle_call({der_auth_req, Imsi, PdpTypeNr, Apn, EAP}, _From, State) ->
% we yet don't implement the Diameter SWm interface on the wire, we process the call
internally:
- ok = aaa_diameter_swm:rx_auth_request(Imsi, PdpTypeNr, Apn, EAP),
+ ok = aaa_diameter_swm:rx_der_auth_request(Imsi, PdpTypeNr, Apn, EAP),
{reply, ok, State};
handle_call({raa, Imsi, DiaRC}, _From, State) ->
@@ -101,9 +101,9 @@
aaa_diameter_swm:rx_reauth_answer(Imsi, DiaRC#epdg_dia_rc.result_code),
{reply, ok, State};
-handle_call({epdg_auth_compl_req, Imsi, Apn}, _From, State) ->
+handle_call({der_auth_compl_req, Imsi, Apn}, _From, State) ->
% we yet don't implement the Diameter SWm interface on the wire, we process the call
internally:
- Reply = aaa_diameter_swm:rx_auth_compl_request(Imsi, Apn),
+ Reply = aaa_diameter_swm:rx_der_auth_compl_request(Imsi, Apn),
{reply, Reply, State};
handle_call({str, Imsi}, _From, State) ->
@@ -116,21 +116,21 @@
Reply = aaa_diameter_swm:rx_abort_session_answer(Imsi),
{reply, Reply, State}.
-handle_cast({epdg_auth_resp, ImsiStr, Result}, State) ->
+handle_cast({dea_auth_resp, ImsiStr, Result}, State) ->
Imsi = list_to_binary(ImsiStr),
case epdg_ue_fsm:get_pid_by_imsi(Imsi) of
Pid when is_pid(Pid) ->
- epdg_ue_fsm:received_swm_auth_response(Pid, Result);
+ epdg_ue_fsm:received_swm_dea_auth_response(Pid, Result);
undefined ->
error_logger:error_report(["unknown swm_session", {module, ?MODULE}, {imsi,
Imsi}, {state, State}])
end,
{noreply, State};
-handle_cast({epdg_auth_compl_resp, ImsiStr, Result}, State) ->
+handle_cast({dea_auth_compl_resp, ImsiStr, Result}, State) ->
Imsi = list_to_binary(ImsiStr),
case epdg_ue_fsm:get_pid_by_imsi(Imsi) of
Pid when is_pid(Pid) ->
- epdg_ue_fsm:received_swm_auth_compl_response(Pid, Result);
+ epdg_ue_fsm:received_swm_dea_auth_compl_response(Pid, Result);
undefined ->
error_logger:error_report(["unknown swm_session", {module, ?MODULE}, {imsi,
Imsi}, {state, State}])
end,
@@ -197,13 +197,13 @@
ok = gen_server:cast(?SERVER, {rar, Imsi}).
%% Emulation from the wire (DIAMETER SWm), called from internal AAA Server:
-rx_auth_response(Imsi, Result) ->
- ok = gen_server:cast(?SERVER, {epdg_auth_resp, Imsi, Result}).
+rx_dea_auth_response(Imsi, Result) ->
+ ok = gen_server:cast(?SERVER, {dea_auth_resp, Imsi, Result}).
%Rx Swm Diameter-EAP Answer (DEA) containing APN-Configuration, triggered by
%earlier Tx DER EAP AVP containing successuful auth":
-rx_auth_compl_response(Imsi, Result) ->
- ok = gen_server:cast(?SERVER, {epdg_auth_compl_resp, Imsi, Result}).
+rx_dea_auth_compl_response(Imsi, Result) ->
+ ok = gen_server:cast(?SERVER, {dea_auth_compl_resp, Imsi, Result}).
% Rx SWm Diameter STA:
rx_session_termination_answer(Imsi, Result) ->
diff --git a/src/epdg_ue_fsm.erl b/src/epdg_ue_fsm.erl
index b75a865..660323b 100644
--- a/src/epdg_ue_fsm.erl
+++ b/src/epdg_ue_fsm.erl
@@ -44,7 +44,7 @@
-export([get_server_name_by_imsi/1, get_pid_by_imsi/1]).
-export([auth_request/2, lu_request/1, tunnel_request/2, purge_ms_request/1,
cancel_location_result/1]).
--export([received_swm_reauth_request/1, received_swm_auth_response/2,
received_swm_auth_compl_response/2,
+-export([received_swm_reauth_request/1, received_swm_dea_auth_response/2,
received_swm_dea_auth_compl_response/2,
received_swm_session_termination_answer/2,
received_swm_abort_session_request/1]).
-export([received_gtpc_create_session_response/2,
received_gtpc_delete_session_response/2, received_gtpc_delete_bearer_request/1]).
-export([state_new/3,
@@ -146,19 +146,19 @@
{error, Err}
end.
-received_swm_auth_response(Pid, Result) ->
- lager:info("ue_fsm received_swm_auth_response ~p~n", [Result]),
+received_swm_dea_auth_response(Pid, Result) ->
+ lager:info("ue_fsm received_swm_dea_auth_response ~p~n", [Result]),
try
- gen_statem:call(Pid, {received_swm_auth_response, Result})
+ gen_statem:call(Pid, {received_swm_dea_auth_response, Result})
catch
exit:Err ->
{error, Err}
end.
-received_swm_auth_compl_response(Pid, Result) ->
- lager:info("ue_fsm received_swm_auth_compl_response ~p~n", [Result]),
+received_swm_dea_auth_compl_response(Pid, Result) ->
+ lager:info("ue_fsm received_swm_dea_auth_compl_response ~p~n",
[Result]),
try
- gen_statem:call(Pid, {received_swm_auth_compl_response, Result})
+ gen_statem:call(Pid, {received_swm_dea_auth_compl_response, Result})
catch
exit:Err ->
{error, Err}
@@ -215,7 +215,7 @@
%% ------------------------------------------------------------------
ev_handle({call, From}, {auth_request, PdpTypeNr, Apn, EAP}, Data) ->
- case epdg_diameter_swm:tx_auth_request(Data#ue_fsm_data.imsi, PdpTypeNr, Apn,
EAP) of
+ case epdg_diameter_swm:tx_der_auth_request(Data#ue_fsm_data.imsi, PdpTypeNr, Apn,
EAP) of
ok -> {next_state, state_wait_auth_resp, Data, [{reply,From,ok}]};
{error, Err} -> {stop_and_reply, Err, [{reply,From,{error,Err}}], Data}
end.
@@ -262,8 +262,8 @@
state_wait_auth_resp(enter, _OldState, Data) ->
{keep_state, Data};
-state_wait_auth_resp({call, From}, {received_swm_auth_response, Result}, Data) ->
- lager:info("ue_fsm state_wait_auth_resp event=received_swm_auth_response
Result=~p, ~p~n", [Result, Data]),
+state_wait_auth_resp({call, From}, {received_swm_dea_auth_response, Result}, Data) ->
+ lager:info("ue_fsm state_wait_auth_resp event=received_swm_dea_auth_response
Result=~p, ~p~n", [Result, Data]),
case Result of
{ok, _AuthTuples} ->
gsup_server:auth_response(Data#ue_fsm_data.imsi, Result),
@@ -290,14 +290,14 @@
state_authenticating({call, From}, lu_request, Data) ->
lager:info("ue_fsm state_authenticating event=lu_request, ~p~n",
[Data]),
% Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP
REQ (DER) with EAP AVP containing successuful auth":
- case epdg_diameter_swm:tx_auth_compl_request(Data#ue_fsm_data.imsi,
Data#ue_fsm_data.apn) of
+ case epdg_diameter_swm:tx_der_auth_compl_request(Data#ue_fsm_data.imsi,
Data#ue_fsm_data.apn) of
ok -> {keep_state, Data, [{reply,From,ok}]};
{error, Err} -> {stop_and_reply, Err, [{reply,From,{error,Err}}], Data}
end;
% Rx Swm Diameter-EAP Answer (DEA) containing APN-Configuration, triggered by
% earlier Tx DER EAP AVP containing successuful auth", when we received GSUP LU
Req:
-state_authenticating({call, From}, {received_swm_auth_compl_response, Result}, Data)
->
+state_authenticating({call, From}, {received_swm_dea_auth_compl_response, Result}, Data)
->
lager:info("ue_fsm state_authenticating event=lu_request, ~p, ~p~n",
[Result, Data]),
% Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP
REQ (DER) with EAP AVP containing successuful auth":
case Result of
--
To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36333?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: I4f4219ab04dce4ca7aac3a0410ac94a41080949f
Gerrit-Change-Number: 36333
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged