fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/37962?usp=email )
Change subject: pfcp_peer: log IP address / port of {in,out}going PDUs ......................................................................
pfcp_peer: log IP address / port of {in,out}going PDUs
Change-Id: I254853532d438440152e0d7cb3e0fe78ab75a98f --- M src/pfcp_peer.erl 1 file changed, 12 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/62/37962/1
diff --git a/src/pfcp_peer.erl b/src/pfcp_peer.erl index 86d42d3..b190f12 100644 --- a/src/pfcp_peer.erl +++ b/src/pfcp_peer.erl @@ -167,9 +167,9 @@ {repeat_state, S};
%% Handle incoming PFCP PDU(s) -connecting(info, {udp, Sock, _FromIp, _FromPort, Data}, +connecting(info, {udp, Sock, FromIp, FromPort, Data}, #peer_state{sock = Sock} = S) -> - case decode_pdu(Data, S) of + case decode_pdu(Data, {FromIp, FromPort}, S) of #pfcp{type = association_setup_response, ie = #{pfcp_cause := 'Request accepted', recovery_time_stamp := #recovery_time_stamp{time = RRTS}}} -> @@ -213,9 +213,9 @@ {keep_state, S1, [{reply, From, Result}]};
%% Handle incoming PFCP PDU(s) -connected(info, {udp, Sock, _FromIp, _FromPort, Data}, +connected(info, {udp, Sock, FromIp, FromPort, Data}, #peer_state{sock = Sock} = S) -> - PDU = decode_pdu(Data, S), + PDU = decode_pdu(Data, {FromIp, FromPort}, S), route_pdu(PDU, S), {keep_state, S};
@@ -287,11 +287,13 @@ S#peer_state{registry = NReg}.
--spec decode_pdu(binary(), peer_state()) -> pfcp_pdu(). -decode_pdu(Data, _S) -> - ?LOG_DEBUG("Rx encoded PFCP PDU: ~p", [Data]), +-spec decode_pdu(binary(), tuple(), peer_state()) -> pfcp_pdu(). +decode_pdu(Data, {FromIp, FromPort}, _S) -> + ?LOG_DEBUG("Rx encoded PFCP PDU from ~p:~p: ~p", + [Data, FromIp, FromPort]), PDU = pfcp_packet:decode(Data), - ?LOG_DEBUG("Rx PFCP PDU: ~p", [PDU]), + ?LOG_DEBUG("Rx PFCP PDU from ~p:~p: ~p", + [PDU, FromIp, FromPort]), %% TODO: check PDU#pfcp.seq_no %% TODO: there can be batched PDUs PDU. @@ -312,7 +314,8 @@ -spec send_data(binary(), peer_state()) -> ok | {error, term()}. send_data(Data, #peer_state{sock = Sock, rem_addr = RemAddr}) -> - ?LOG_DEBUG("Tx encoded PFCP PDU: ~p", [Data]), + ?LOG_DEBUG("Tx encoded PFCP PDU to ~p:~p: ~p", + [RemAddr, ?PFCP_PORT, Data]), gen_udp:send(Sock, RemAddr, ?PFCP_PORT, Data).