laforge submitted this change.
s1ap_proxy: print unique E-RAB ID in error messages
Include the {MME,ENB}-UE-S1AP-ID when printing error messages.
Printing E-RAB-ID may be misleading.
Change-Id: I7327e25ea407b3a21706e8b5e4487135675d91d5
---
M src/s1ap_proxy.erl
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/src/s1ap_proxy.erl b/src/s1ap_proxy.erl
index c386f29..a98514c 100644
--- a/src/s1ap_proxy.erl
+++ b/src/s1ap_proxy.erl
@@ -59,6 +59,7 @@
-type mme_ue_id() :: 0..16#ffffffff.
-type enb_ue_id() :: 0..16#ffffff.
-type erab_id() :: 0..16#ff.
+-type erab_uid() :: {mme_ue_id(), enb_ue_id(), erab_id()}.
-record(proxy_state, {erabs :: dict:dict(),
mme_ue_id :: undefined | mme_ue_id(),
@@ -107,6 +108,12 @@
%% private API
%% ------------------------------------------------------------------
+-spec erab_uid(erab_id(), proxy_state()) -> erab_uid().
+erab_uid(ERABId, #proxy_state{mme_ue_id = MmeUeId,
+ enb_ue_id = EnbUeId}) ->
+ {MmeUeId, EnbUeId, ERABId}.
+
+
%% Encode an S1AP PDU
-spec encode_pdu(s1ap_pdu()) -> {ok, binary()} |
{error, {asn1, tuple()}}.
@@ -282,7 +289,7 @@
{ok, Pid} ->
ok = erab_fsm:erab_release_req(Pid);
error ->
- ?LOG_ERROR("E-RAB-ID ~p is not registered", [ERABId])
+ ?LOG_ERROR("E-RAB ~p is not registered", [erab_uid(ERABId, S)])
end,
{Content, S};
@@ -300,7 +307,7 @@
{ok, Pid} ->
ok = erab_fsm:erab_release_rsp(Pid);
error ->
- ?LOG_ERROR("E-RAB-ID ~p is not registered", [ERABId])
+ ?LOG_ERROR("E-RAB ~p is not registered", [erab_uid(ERABId, S)])
end,
{Content, S};
@@ -361,7 +368,7 @@
C0#'E-RABSetupItemCtxtSURes'{'transportLayerAddress' = TLA_Out,
'gTP-TEID' = << TEID_Out:32/big >>};
error ->
- ?LOG_ERROR("E-RAB-ID ~p is not registered", [ERABId]),
+ ?LOG_ERROR("E-RAB ~p is not registered", [erab_uid(ERABId, S)]),
C0 %% XXX: proxy as-is or drop?
end,
{C1, S};
@@ -400,19 +407,15 @@
-spec erab_fsm_start_reg(erab_id(), proxy_state()) -> {pid(), proxy_state()}.
-erab_fsm_start_reg(RABId, #proxy_state{erabs = ERABs,
- mme_ue_id = MmeUeId,
- enb_ue_id = EnbUeId} = S) ->
- UID = {MmeUeId, EnbUeId, RABId},
+erab_fsm_start_reg(RABId, #proxy_state{erabs = ERABs} = S) ->
+ UID = erab_uid(RABId, S),
{ok, Pid} = erab_fsm:start_link(UID),
{Pid, S#proxy_state{erabs = dict:store(UID, Pid, ERABs)}}.
-spec erab_fsm_find(erab_id(), proxy_state()) -> {ok, pid()} | error.
-erab_fsm_find(RABId, #proxy_state{erabs = ERABs,
- mme_ue_id = MmeUeId,
- enb_ue_id = EnbUeId}) ->
- UID = {MmeUeId, EnbUeId, RABId},
+erab_fsm_find(RABId, #proxy_state{erabs = ERABs} = S) ->
+ UID = erab_uid(RABId, S),
dict:find(UID, ERABs).
%% vim:set ts=4 sw=4 et:
To view, visit change 38239. To unsubscribe, or for help writing mail filters, visit settings.