mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-upf.git
synced 2025-11-02 04:53:24 +00:00
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
This commit is contained in:
committed by
neels
parent
d7f683a66c
commit
8e842b890c
@@ -1126,8 +1126,8 @@ static void add_gtp_action_endecaps(void *ctx, struct llist_head *dst, struct pd
|
||||
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 @@ static void add_gtp_action_forw(void *ctx, struct llist_head *dst, struct pdr *p
|
||||
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,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user