neels has submitted this change. (
https://gerrit.osmocom.org/c/osmo-upf/+/37829?usp=email
)
Change subject: upf gtp-u echo: rx Echo Response messages
......................................................................
upf gtp-u echo: rx Echo Response messages
Support receiving of Echo Responses, so far showed an error log for
unsupported message type. Just log the message.
Prep for upcoming patch to allow sending Echo Requests from VTY.
Change-Id: Idad417746a1ea797e8fbfe04ca9c84923a6118fa
---
M src/osmo-upf/upf_gtpu_echo.c
1 file changed, 18 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/src/osmo-upf/upf_gtpu_echo.c b/src/osmo-upf/upf_gtpu_echo.c
index d8958e8..b234065 100644
--- a/src/osmo-upf/upf_gtpu_echo.c
+++ b/src/osmo-upf/upf_gtpu_echo.c
@@ -65,6 +65,21 @@
return tx_echo_resp(dev, remote, rx_h->ext.seq_nr);
}
+static void rx_echo_resp(struct upf_gtp_dev *dev, const struct osmo_sockaddr *remote,
const struct gtp1u_hdr *rx_h,
+ size_t msg_len)
+{
+ if (msg_len < (sizeof(*rx_h) + 2)) {
+ LOG_GTP_DEV(dev, LOGL_ERROR,
+ "<- %s: rx GTPv1-U Echo Response, but message is too short (%zu <
%zu)\n",
+ osmo_sockaddr_to_str_c(OTC_SELECT, remote), msg_len, (sizeof(*rx_h) + 2));
+ return;
+ }
+
+ uint8_t recovery_count = rx_h->data2[1];
+ LOG_GTP_DEV(dev, LOGL_INFO, "<- %s: rx GTPv1-U Echo Response: seq_nr=%u
recovery_count=%u\n",
+ osmo_sockaddr_to_str(remote), rx_h->ext.seq_nr, recovery_count);
+}
+
static int tx_echo_resp(struct upf_gtp_dev *dev, const struct osmo_sockaddr *remote,
uint16_t seq_nr)
{
struct msgb *msg;
@@ -153,6 +168,9 @@
switch (h->msg_type) {
case GTP1U_MSGTYPE_ECHO_REQ:
return rx_echo_req(dev, &remote, h, sz);
+ case GTP1U_MSGTYPE_ECHO_RSP:
+ rx_echo_resp(dev, &remote, h, sz);
+ return 0;
default:
LOG_GTP_DEV(dev, LOGL_ERROR, "rx: GTPv1-U message type %u not supported\n",
h->msg_type);
return -1;
--
To view, visit
https://gerrit.osmocom.org/c/osmo-upf/+/37829?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: Idad417746a1ea797e8fbfe04ca9c84923a6118fa
Gerrit-Change-Number: 37829
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>