fix tunmap: mixup of Access/Core side FAR rules
For tunmap, forward to the correct side: when collecting PDR and FAR on
one side, we need to take its PDR and the *reverse* FAR, instead of the
FAR paired with that PDR:
Access --PDR-1->|--FAR-1-> Core
<-FAR-2--|<-PDR-2--
Related: SYS#6192
Change-Id: I66babdfe4c1746bd3bf259342ce80dae2661de8c
diff --git a/src/osmo-upf/up_session.c b/src/osmo-upf/up_session.c
index d2a405d..fe3d359 100644
--- a/src/osmo-upf/up_session.c
+++ b/src/osmo-upf/up_session.c
@@ -1324,13 +1324,13 @@
.tunmap = {
.access = {
.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,
+ .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 = rfar_forw->outer_header_creation.teid,
- .gtp_remote_addr = rfar_forw->outer_header_creation.ip_addr.v4,
+ .remote_teid = far_forw->outer_header_creation.teid,
+ .gtp_remote_addr = far_forw->outer_header_creation.ip_addr.v4,
},
},
};