neels has uploaded this change for review.

View Change

fix access/core mixup of PDR IDs

The GTP action detection always has 'pdr' detecting on the Access side
and its reverse 'rpdr' on the Core side.

Related: SYS#6192
Change-Id: I4b844cc584beda3dc5fb3b2123c850d285e03b24
---
M src/osmo-upf/up_session.c
1 file changed, 6 insertions(+), 6 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/60/30460/1
diff --git a/src/osmo-upf/up_session.c b/src/osmo-upf/up_session.c
index 273c3fe..195bd13 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 = {
@@ -1235,17 +1235,17 @@
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,
+ .local_teid = pdr->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,
+ .local_teid = rpdr->local_f_teid->fixed.teid,
.remote_teid = rfar_forw->outer_header_creation.teid,
.gtp_remote_addr = rfar_forw->outer_header_creation.ip_addr.v4,
},

To view, visit change 30460. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I4b844cc584beda3dc5fb3b2123c850d285e03b24
Gerrit-Change-Number: 30460
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr@sysmocom.de>
Gerrit-MessageType: newchange