neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/30466 )
Change subject: fix access/core mixup of PDR IDs / tunmap FAR ......................................................................
fix access/core mixup of PDR IDs / tunmap FAR
The GTP action detection always has 'pdr' detecting on the Access side and its reverse 'rpdr' on the Core side.
Access osmo-upf Core |------> pdr|far ----->| |<------ rfar|rpdr <-----|
Related: SYS#6192 Change-Id: I66babdfe4c1746bd3bf259342ce80dae2661de8c --- M src/osmo-upf/up_session.c 1 file changed, 9 insertions(+), 9 deletions(-)
Approvals: laforge: Looks good to me, approved arehbein: Looks good to me, approved Jenkins Builder: Verified
diff --git a/src/osmo-upf/up_session.c b/src/osmo-upf/up_session.c index 3fae91f..7c59faa 100644 --- a/src/osmo-upf/up_session.c +++ b/src/osmo-upf/up_session.c @@ -1126,8 +1126,8 @@ OSMO_ASSERT(a); *a = (struct up_gtp_action){ .session = session, - .pdr_core = pdr->desc.pdr_id, - .pdr_access = rpdr->desc.pdr_id, + .pdr_access = pdr->desc.pdr_id, + .pdr_core = rpdr->desc.pdr_id, .kind = UP_GTP_U_TUNEND, .tunend = { .access = { @@ -1234,20 +1234,20 @@ OSMO_ASSERT(a); *a = (struct up_gtp_action){ .session = session, - .pdr_core = pdr->desc.pdr_id, - .pdr_access = rpdr->desc.pdr_id, + .pdr_access = pdr->desc.pdr_id, + .pdr_core = rpdr->desc.pdr_id, .kind = UP_GTP_U_TUNMAP, .tunmap = { .access = { - .local_teid = rpdr->local_f_teid->fixed.teid, - .remote_teid = far_forw->outer_header_creation.teid, - .gtp_remote_addr = far_forw->outer_header_creation.ip_addr.v4, - }, - .core = { .local_teid = pdr->local_f_teid->fixed.teid, .remote_teid = rfar_forw->outer_header_creation.teid, .gtp_remote_addr = rfar_forw->outer_header_creation.ip_addr.v4, }, + .core = { + .local_teid = rpdr->local_f_teid->fixed.teid, + .remote_teid = far_forw->outer_header_creation.teid, + .gtp_remote_addr = far_forw->outer_header_creation.ip_addr.v4, + }, }, };