pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-upf/+/41453?usp=email )
Change subject: up_peer: Use Node Id as identifier ......................................................................
up_peer: Use Node Id as identifier
As specified in PFCP specs. The remote address / source address of received PFCP messages is of little use.
Related: SYS#7719 Change-Id: Idff2865ff63ad2de5e48cceb99f47e6255b330aa --- M include/osmocom/upf/up_peer.h M src/osmo-upf/up_endpoint.c M src/osmo-upf/up_gtp_action.c M src/osmo-upf/up_peer.c M src/osmo-upf/up_session.c M tests/unique_ids/unique_ids_test.c M tests/unique_ids/unique_ids_test.err 7 files changed, 236 insertions(+), 198 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/53/41453/1
diff --git a/include/osmocom/upf/up_peer.h b/include/osmocom/upf/up_peer.h index 559b87c..fa0a19b 100644 --- a/include/osmocom/upf/up_peer.h +++ b/include/osmocom/upf/up_peer.h @@ -67,12 +67,13 @@ DECLARE_HASHTABLE(sessions_by_cp_seid, 10); };
-struct up_peer *up_peer_find_or_add(struct up_endpoint *up_ep, const struct osmo_sockaddr *remote_addr); -struct up_peer *up_peer_find(struct up_endpoint *up_ep, const struct osmo_sockaddr *remote_addr); +struct up_peer *up_peer_find_by_node_id_or_add(struct up_endpoint *up_ep, const struct osmo_pfcp_ie_node_id *remote_node_id); +struct up_peer *up_peer_find_by_node_id(struct up_endpoint *up_ep, const struct osmo_pfcp_ie_node_id *remote_node_id); +struct up_peer *up_peer_find_by_addr(struct up_endpoint *up_ep, const struct osmo_sockaddr *remote_addr);
void up_peer_set_msg_ctx(struct up_peer *peer, struct osmo_pfcp_msg *m);
-char *up_peer_remote_addr_str(struct up_peer *peer); +char *up_peer_remote_node_id_str(struct up_peer *peer);
struct osmo_pfcp_msg *up_peer_init_tx(struct up_peer *peer, struct osmo_pfcp_msg *in_reply_to, enum osmo_pfcp_message_type message_type); diff --git a/src/osmo-upf/up_endpoint.c b/src/osmo-upf/up_endpoint.c index f400bdc..8cf8d39 100644 --- a/src/osmo-upf/up_endpoint.c +++ b/src/osmo-upf/up_endpoint.c @@ -43,7 +43,7 @@
/* From the remote address, find the matching peer instance */ if (!m->ctx.peer_fi) { - peer = up_peer_find(up_ep, &m->remote_addr); + peer = up_peer_find_by_node_id(up_ep, osmo_pfcp_msg_node_id(m)); if (peer) { up_peer_set_msg_ctx(peer, m); } @@ -83,7 +83,7 @@ { struct up_peer *peer = m->ctx.peer_fi ? m->ctx.peer_fi->priv : NULL; if (!peer) { - peer = up_peer_find_or_add(up_ep, &m->remote_addr); + peer = up_peer_find_by_node_id_or_add(up_ep, osmo_pfcp_msg_node_id(m)); OSMO_ASSERT(peer); } osmo_fsm_inst_dispatch(peer->fi, UP_PEER_EV_RX_ASSOC_SETUP_REQ, (void *)m); diff --git a/src/osmo-upf/up_gtp_action.c b/src/osmo-upf/up_gtp_action.c index f8b8e58..b63baa5 100644 --- a/src/osmo-upf/up_gtp_action.c +++ b/src/osmo-upf/up_gtp_action.c @@ -188,7 +188,7 @@ } if (a->session) OSMO_STRBUF_PRINTF(sb, " PFCP-peer:%s SEID-l:0x%"PRIx64, - up_peer_remote_addr_str(a->session->up_peer), a->session->up_seid); + up_peer_remote_node_id_str(a->session->up_peer), a->session->up_seid); OSMO_STRBUF_PRINTF(sb, " PDR-access:%d", a->pdr_access); OSMO_STRBUF_PRINTF(sb, " PDR-core:%d", a->pdr_core); return sb.chars_needed; diff --git a/src/osmo-upf/up_peer.c b/src/osmo-upf/up_peer.c index 08f7d12..86e2305 100644 --- a/src/osmo-upf/up_peer.c +++ b/src/osmo-upf/up_peer.c @@ -98,24 +98,31 @@ return 0; }
-char *up_peer_remote_addr_str(struct up_peer *peer) +char *up_peer_remote_node_id_str(struct up_peer *peer) { - struct osmo_sockaddr remote_addr = peer->remote_addr; + struct osmo_pfcp_ie_node_id node_id = peer->remote_node_id;
- /* Zero the port, it is not interesting information. The port for PFCP is defined fixed, and there is no use - * printing it in the logs */ - osmo_sockaddr_set_port(&remote_addr.u.sa, 0); + switch (node_id.type) { + case OSMO_PFCP_NODE_ID_T_IPV4: + case OSMO_PFCP_NODE_ID_T_IPV6: + /* Zero the port, it is not interesting information. The port for PFCP is defined fixed, and there is no use + * printing it in the logs */ + osmo_sockaddr_set_port(&node_id.ip.u.sa, 0); + break; + default: + break; + }
- return osmo_sockaddr_to_str_c(OTC_SELECT, &remote_addr); + return osmo_pfcp_ie_node_id_to_str_c(OTC_SELECT, &node_id); }
static void up_peer_update_id(struct up_peer *peer) { - osmo_fsm_inst_update_id_f_sanitize(peer->fi, '-', "%s", up_peer_remote_addr_str(peer)); + osmo_fsm_inst_update_id_f_sanitize(peer->fi, '-', "%s", up_peer_remote_node_id_str(peer)); LOGPFSML(peer->fi, LOGL_DEBUG, "Updated id\n"); }
-static struct up_peer *up_peer_add(struct up_endpoint *up_endpoint, const struct osmo_sockaddr *remote_addr) +static struct up_peer *up_peer_add(struct up_endpoint *up_endpoint, const struct osmo_pfcp_ie_node_id *remote_node_id) { struct up_peer *peer;
@@ -129,7 +136,7 @@ *peer = (struct up_peer) { .fi = fi, .up_endpoint = up_endpoint, - .remote_addr = *remote_addr, + .remote_node_id = *remote_node_id, .heartbeat_fi = NULL /* FIXME */, .use_count = { .talloc_object = peer, @@ -150,7 +157,7 @@ return peer; }
-struct up_peer *up_peer_find(struct up_endpoint *up_endpoint, const struct osmo_sockaddr *remote_addr) +struct up_peer *up_peer_find_by_addr(struct up_endpoint *up_endpoint, const struct osmo_sockaddr *remote_addr) { struct up_peer *peer; llist_for_each_entry(peer, &up_endpoint->peers, entry) { @@ -161,12 +168,23 @@ return NULL; }
-struct up_peer *up_peer_find_or_add(struct up_endpoint *up_endpoint, const struct osmo_sockaddr *remote_addr) +struct up_peer *up_peer_find_by_node_id(struct up_endpoint *up_endpoint, const struct osmo_pfcp_ie_node_id *remote_node_id) { - struct up_peer *peer = up_peer_find(up_endpoint, remote_addr); + struct up_peer *peer; + llist_for_each_entry(peer, &up_endpoint->peers, entry) { + if (osmo_pfcp_ie_node_id_cmp(&peer->remote_node_id, remote_node_id)) + continue; + return peer; + } + return NULL; +} + +struct up_peer *up_peer_find_by_node_id_or_add(struct up_endpoint *up_endpoint, const struct osmo_pfcp_ie_node_id *remote_node_id) +{ + struct up_peer *peer = up_peer_find_by_node_id(up_endpoint, remote_node_id); if (peer) return peer; - return up_peer_add(up_endpoint, remote_addr); + return up_peer_add(up_endpoint, remote_node_id); }
static int up_peer_fsm_timer_cb(struct osmo_fsm_inst *fi) @@ -262,8 +280,7 @@ if (peer->remote_recovery_timestamp != m->ies.assoc_setup_req.recovery_time_stamp) { LOGPFSML(fi, LOGL_NOTICE, "another Association Setup Request, with different Recovery Timestamp." " Clearing sessions, sending ACK.\n"); - up_peer_clear_sessions(peer); - } else { + up_peer_clear_sessions(peer); } else { LOGPFSML(fi, LOGL_NOTICE, "another Association Setup Request, with same Recovery Timestamp." " Keeping sessions, sending ACK.\n"); } @@ -272,8 +289,8 @@ cause = OSMO_PFCP_CAUSE_REQUEST_REJECTED; } else { /* Successfully transitioned to ST_ASSOCIATED */ + peer->remote_addr = m->remote_addr; peer->remote_recovery_timestamp = m->ies.assoc_setup_req.recovery_time_stamp; - peer->remote_node_id = m->ies.assoc_setup_req.node_id; if (m->ies.assoc_setup_req.cp_function_features_present) peer->peer_cp_features = m->ies.assoc_setup_req.cp_function_features; } diff --git a/src/osmo-upf/up_session.c b/src/osmo-upf/up_session.c index b96fd49..7e4fe86 100644 --- a/src/osmo-upf/up_session.c +++ b/src/osmo-upf/up_session.c @@ -978,7 +978,7 @@ static void up_session_update_id(struct up_session *session) { osmo_fsm_inst_update_id_f_sanitize(session->fi, '-', "%s-0x%" PRIx64, - up_peer_remote_addr_str(session->up_peer), + up_peer_remote_node_id_str(session->up_peer), session->up_seid); LOGPFSML(session->fi, LOGL_DEBUG, "Updated id\n"); } @@ -1519,7 +1519,7 @@ return sb.chars_needed; } OSMO_STRBUF_PRINTF(sb, "peer:%s SEID-r:0x%"PRIx64" SEID-l:0x%"PRIx64" state:%s", - up_peer_remote_addr_str(session->up_peer), + up_peer_remote_node_id_str(session->up_peer), session->cp_f_seid.seid, session->up_seid, osmo_fsm_inst_state_name(session->fi)); return sb.chars_needed; diff --git a/tests/unique_ids/unique_ids_test.c b/tests/unique_ids/unique_ids_test.c index 1a9b2b3..3b4a1dc 100644 --- a/tests/unique_ids/unique_ids_test.c +++ b/tests/unique_ids/unique_ids_test.c @@ -105,9 +105,29 @@ return &osa; }
-static struct up_peer *have_peer(const char *remote_addr, uint16_t port) +static struct osmo_pfcp_ie_node_id *str2node_id(enum osmo_pfcp_node_id_type type, const char *addr) { - return up_peer_find_or_add(g_upf->pfcp.ep, str2addr(remote_addr, port)); + static struct osmo_pfcp_ie_node_id node_id; + + node_id.type = type; + switch (node_id.type) { + case OSMO_PFCP_NODE_ID_T_IPV4: + case OSMO_PFCP_NODE_ID_T_IPV6: + node_id.ip = *str2addr(addr, 0); + break; + case OSMO_PFCP_NODE_ID_T_FQDN: + OSMO_STRLCPY_ARRAY(node_id.fqdn, addr); + break; + default: + OSMO_ASSERT(0); + break; + } + return &node_id; +} + +static struct up_peer *have_peer(enum osmo_pfcp_node_id_type type, const char *addr) +{ + return up_peer_find_by_node_id_or_add(g_upf->pfcp.ep, str2node_id(type, addr)); }
static struct osmo_pfcp_msg *new_pfcp_msg_for_osmo_upf_rx(struct up_peer *from_peer, enum osmo_pfcp_message_type msg_type) @@ -313,7 +333,7 @@ setup(__func__);
log("PFCP Associate peer\n"); - peer = have_peer("1.2.3.4", 1234); + peer = have_peer(OSMO_PFCP_NODE_ID_T_IPV4, "1.2.3.4"); peer_assoc(peer); dump_state();
diff --git a/tests/unique_ids/unique_ids_test.err b/tests/unique_ids/unique_ids_test.err index 7ac7e59..2ce2008 100644 --- a/tests/unique_ids/unique_ids_test.err +++ b/tests/unique_ids/unique_ids_test.err @@ -23,41 +23,41 @@
PFCP Associate peer DPEER DEBUG up_peer{NOT_ASSOCIATED}: Allocated -DPEER DEBUG up_peer(1-2-3-4){NOT_ASSOCIATED}: Updated id -DPEER DEBUG up_peer(1-2-3-4){NOT_ASSOCIATED}: Received Event UP_PEER_EV_RX_ASSOC_SETUP_REQ -DPEER DEBUG up_peer(1-2-3-4){NOT_ASSOCIATED}: State change to ASSOCIATED (no timeout) -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 1 (msg-tx) +DPEER DEBUG up_peer(v4:1-2-3-4){NOT_ASSOCIATED}: Updated id +DPEER DEBUG up_peer(v4:1-2-3-4){NOT_ASSOCIATED}: Received Event UP_PEER_EV_RX_ASSOC_SETUP_REQ +DPEER DEBUG up_peer(v4:1-2-3-4){NOT_ASSOCIATED}: State change to ASSOCIATED (no timeout) +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 1 (msg-tx)
[test override] PFCP tx: PFCPv1 ASSOC_SETUP_RESP hdr={seq=0} ies={ 'Node ID'=v4:unsupported family 0 'Cause'=Request accepted (success) 'Recovery Time Stamp'=2208988800 'UP Function Features'=FTUP+BUNDL+RTTL }
-DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO -DPEER NOTICE up_peer(1-2-3-4){ASSOCIATED}: Peer associated, Node-Id=v4:unsupported family 0. Local UP features: [FTUP+BUNDL+RTTL]; Peer CP features: [-] +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DPEER NOTICE up_peer(v4:1-2-3-4){ASSOCIATED}: Peer associated, Node-Id=v4:1.2.3.4. Local UP features: [FTUP+BUNDL+RTTL]; Peer CP features: [-]
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED
set up tunmap, which assigns first UP-SEID 0x1, local-TEID 0x1 and 0x2, chain_ids 1 and 2 -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ -DSESSION DEBUG up_session(1-2-3-4){INIT}: Allocated -DSESSION DEBUG up_session(1-2-3-4){INIT}: is child of up_peer(1-2-3-4) -DSESSION INFO up_session(1-2-3-4){INIT}: Allocated new UP-SEID: 0x1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Updated id -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) -DREF INFO up_session(1-2-3-4-0x1){INIT}: + msg-rx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DREF DEBUG up_session(1-2-3-4-0x1){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x1,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: New PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x100,v4:5.6.7.8} -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x2,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: New PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x101,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Active PDR set: PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x101,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x100,v4:5.6.7.8} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: GTP actions: 0 previously active; want active: 1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: Allocated +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: is child of up_peer(v4:1-2-3-4) +DSESSION INFO up_session(v4:1-2-3-4){INIT}: Allocated new UP-SEID: 0x1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Updated id +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) +DREF INFO up_session(v4:1-2-3-4-0x1){INIT}: + msg-rx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DREF DEBUG up_session(v4:1-2-3-4-0x1){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x1,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: New PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x100,v4:5.6.7.8} +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x2,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: New PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x101,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Active PDR set: PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x101,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x100,v4:5.6.7.8} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: GTP actions: 0 previously active; want active: 1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:847 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:847 (flush count: 1 avg rules per flush: 1)
@@ -77,24 +77,24 @@
DNFT DEBUG ran nft ruleset, 847 chars: "add chain inet osmo-upf tunmap-pre-1;\nadd rule inet osmo-upf tunmap-pre-1 ip daddr set 13.14.15.16 meta mark set 1 counter accept;\nadd chain inet osmo-upf tunmap-post-1;\nadd rule inet osmo-upf tunmap-post-1 ip saddr set 1.1.1.1 udp sport set 2152 @ih,32,32..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--1-> <-2--core +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--1-> <-2--core
[test override] PFCP tx: PFCPv1 SESSION_EST_RESP hdr={seq=0 SEID=0x100} ies={ 'Node ID'=v4:unsupported family 0 'Cause'=Request accepted (success) 'F-SEID'=0x1,v4:1.1.1.1 'Created PDR'={ { 'PDR ID'=1 'F-TEID'=TEID-0x1,v4:1.1.1.1 }, { 'PDR ID'=2 'F-TEID'=TEID-0x2,v4:1.1.1.1 } } }
osmo-upf created session 0x1
-DREF DEBUG up_session(1-2-3-4-0x1){INIT}: - msg-tx: now used by 1 (msg-rx) -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: State change to ESTABLISHED (no timeout) -DSESSION INFO up_session(1-2-3-4-0x1){ESTABLISHED}: Session established: peer:1.2.3.4 SEID-r:0x100 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 -DREF INFO up_session(1-2-3-4-0x1){ESTABLISHED}: - msg-rx: now used by 0 (-) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DREF DEBUG up_session(v4:1-2-3-4-0x1){INIT}: - msg-tx: now used by 1 (msg-rx) +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: State change to ESTABLISHED (no timeout) +DSESSION INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Session established: peer:v4:1.2.3.4 SEID-r:0x100 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 +DREF INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: - msg-rx: now used by 0 (-) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED | session[ESTABLISHED]: UP-SEID 0x1; chain_id access=1 core=2; local TEID access=0x2 core=0x1
assert(s1->up_seid == 1) @@ -107,25 +107,25 @@
simulate wrapping of IDs back to 1 set up second tunmap, should use distinct IDs -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ -DSESSION DEBUG up_session(1-2-3-4){INIT}: Allocated -DSESSION DEBUG up_session(1-2-3-4){INIT}: is child of up_peer(1-2-3-4) -DSESSION INFO up_session(1-2-3-4){INIT}: Allocated new UP-SEID: 0x2 -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: Updated id -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) -DREF INFO up_session(1-2-3-4-0x2){INIT}: + msg-rx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DREF DEBUG up_session(1-2-3-4-0x2){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DSESSION INFO up_session(1-2-3-4-0x2){INIT}: Allocated new local F-TEID TEID-0x3,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x2){INIT}: New PDR-1{src:Core TEID-0x3,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x102,v4:5.6.7.8} -DSESSION INFO up_session(1-2-3-4-0x2){INIT}: Allocated new local F-TEID TEID-0x4,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x2){INIT}: New PDR-2{src:Access TEID-0x4,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x103,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: Active PDR set: PDR-2{src:Access TEID-0x4,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x103,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x3,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x102,v4:5.6.7.8} -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: GTP actions: 0 previously active; want active: 1 -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: Allocated +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: is child of up_peer(v4:1-2-3-4) +DSESSION INFO up_session(v4:1-2-3-4){INIT}: Allocated new UP-SEID: 0x2 +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: Updated id +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) +DREF INFO up_session(v4:1-2-3-4-0x2){INIT}: + msg-rx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DREF DEBUG up_session(v4:1-2-3-4-0x2){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DSESSION INFO up_session(v4:1-2-3-4-0x2){INIT}: Allocated new local F-TEID TEID-0x3,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x2){INIT}: New PDR-1{src:Core TEID-0x3,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x102,v4:5.6.7.8} +DSESSION INFO up_session(v4:1-2-3-4-0x2){INIT}: Allocated new local F-TEID TEID-0x4,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x2){INIT}: New PDR-2{src:Access TEID-0x4,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x103,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: Active PDR set: PDR-2{src:Access TEID-0x4,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x103,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x3,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x102,v4:5.6.7.8} +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: GTP actions: 0 previously active; want active: 1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:847 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:847 (flush count: 2 avg rules per flush: 1)
@@ -145,24 +145,24 @@
DNFT DEBUG ran nft ruleset, 847 chars: "add chain inet osmo-upf tunmap-pre-3;\nadd rule inet osmo-upf tunmap-pre-3 ip daddr set 13.14.15.16 meta mark set 3 counter accept;\nadd chain inet osmo-upf tunmap-post-3;\nadd rule inet osmo-upf tunmap-post-3 ip saddr set 1.1.1.1 udp sport set 2152 @ih,32,32..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--3-> <-4--core +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--3-> <-4--core
[test override] PFCP tx: PFCPv1 SESSION_EST_RESP hdr={seq=0 SEID=0x101} ies={ 'Node ID'=v4:unsupported family 0 'Cause'=Request accepted (success) 'F-SEID'=0x2,v4:1.1.1.1 'Created PDR'={ { 'PDR ID'=1 'F-TEID'=TEID-0x3,v4:1.1.1.1 }, { 'PDR ID'=2 'F-TEID'=TEID-0x4,v4:1.1.1.1 } } }
osmo-upf created session 0x2
-DREF DEBUG up_session(1-2-3-4-0x2){INIT}: - msg-tx: now used by 1 (msg-rx) -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x2){INIT}: State change to ESTABLISHED (no timeout) -DSESSION INFO up_session(1-2-3-4-0x2){ESTABLISHED}: Session established: peer:1.2.3.4 SEID-r:0x101 SEID-l:0x2 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 -DREF INFO up_session(1-2-3-4-0x2){ESTABLISHED}: - msg-rx: now used by 0 (-) -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DREF DEBUG up_session(v4:1-2-3-4-0x2){INIT}: - msg-tx: now used by 1 (msg-rx) +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){INIT}: State change to ESTABLISHED (no timeout) +DSESSION INFO up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Session established: peer:v4:1.2.3.4 SEID-r:0x101 SEID-l:0x2 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 +DREF INFO up_session(v4:1-2-3-4-0x2){ESTABLISHED}: - msg-rx: now used by 0 (-) +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED | session[ESTABLISHED]: UP-SEID 0x1; chain_id access=1 core=2; local TEID access=0x2 core=0x1 | session[ESTABLISHED]: UP-SEID 0x2; chain_id access=3 core=4; local TEID access=0x4 core=0x3
@@ -174,20 +174,20 @@ assert(a->tunmap.access.chain_id == 3) assert(a->tunmap.core.chain_id == 4)
-drop first tunmap (up_session(1-2-3-4-0x1)) +drop first tunmap (up_session(v4:1-2-3-4-0x1)) assert(session) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_RX_SESSION_DEL_REQ -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 1 (msg-tx) -DREF INFO up_session(1-2-3-4-0x1){ESTABLISHED}: + msg-tx: now used by 1 (msg-tx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_RX_SESSION_DEL_REQ +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 1 (msg-tx) +DREF INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: + msg-tx: now used by 1 (msg-tx)
[test override] PFCP tx: PFCPv1 SESSION_DEL_RESP hdr={seq=0 SEID=0x100} ies={ 'Cause'=Request accepted (success) }
-DREF INFO up_session(1-2-3-4-0x1){ESTABLISHED}: - msg-tx: now used by 0 (-) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO -DSESSION INFO up_session(1-2-3-4-0x1){ESTABLISHED}: Session releasing: peer:1.2.3.4 SEID-r:0x100 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 +DREF INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: - msg-tx: now used by 0 (-) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DSESSION INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Session releasing: peer:v4:1.2.3.4 SEID-r:0x100 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:381 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:381 (flush count: 3 avg rules per flush: 1)
@@ -203,43 +203,43 @@
DNFT DEBUG ran nft ruleset, 381 chars: "delete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x2 };\ndelete element inet osmo-upf tunmap-post { 1 };\ndelete chain inet osmo-upf tunmap-pre-1;\ndelete chain inet osmo-upf tunmap-post-1;\ndelete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x1 };\ndelete ..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--1-> <-2--core -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: State change to WAIT_USE_COUNT (no timeout) -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: GTP actions: 0 previously active; want active: 0 -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: Terminating (cause = OSMO_FSM_TERM_REGULAR) -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: Removing from parent up_peer(1-2-3-4) -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: GTP actions: 0 previously active; want active: 0 -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: Freeing instance -DSESSION DEBUG up_session(1-2-3-4-0x1){WAIT_USE_COUNT}: Deallocated -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_SESSION_TERM +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x100 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x101 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--1-> <-2--core +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: State change to WAIT_USE_COUNT (no timeout) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: GTP actions: 0 previously active; want active: 0 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: Removing from parent up_peer(v4:1-2-3-4) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: GTP actions: 0 previously active; want active: 0 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: Freeing instance +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){WAIT_USE_COUNT}: Deallocated +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_SESSION_TERM
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED | session[ESTABLISHED]: UP-SEID 0x2; chain_id access=3 core=4; local TEID access=0x4 core=0x3
assert(up_session_find_by_up_seid(peer, s1_up_seid) == NULL)
again wrap all ID state back to 1 set up third tunmap, should now re-use same IDs as the first session -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ -DSESSION DEBUG up_session(1-2-3-4){INIT}: Allocated -DSESSION DEBUG up_session(1-2-3-4){INIT}: is child of up_peer(1-2-3-4) -DSESSION INFO up_session(1-2-3-4){INIT}: Allocated new UP-SEID: 0x1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Updated id -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) -DREF INFO up_session(1-2-3-4-0x1){INIT}: + msg-rx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DREF DEBUG up_session(1-2-3-4-0x1){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x1,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: New PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x104,v4:5.6.7.8} -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x2,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x1){INIT}: New PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x105,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Active PDR set: PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x105,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x104,v4:5.6.7.8} -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: GTP actions: 0 previously active; want active: 1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: Allocated +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: is child of up_peer(v4:1-2-3-4) +DSESSION INFO up_session(v4:1-2-3-4){INIT}: Allocated new UP-SEID: 0x1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Updated id +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) +DREF INFO up_session(v4:1-2-3-4-0x1){INIT}: + msg-rx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DREF DEBUG up_session(v4:1-2-3-4-0x1){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x1,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: New PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x104,v4:5.6.7.8} +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: Allocated new local F-TEID TEID-0x2,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x1){INIT}: New PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x105,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Active PDR set: PDR-2{src:Access TEID-0x2,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x105,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x1,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x104,v4:5.6.7.8} +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: GTP actions: 0 previously active; want active: 1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:847 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:847 (flush count: 4 avg rules per flush: 1)
@@ -259,24 +259,24 @@
DNFT DEBUG ran nft ruleset, 847 chars: "add chain inet osmo-upf tunmap-pre-1;\nadd rule inet osmo-upf tunmap-pre-1 ip daddr set 13.14.15.16 meta mark set 1 counter accept;\nadd chain inet osmo-upf tunmap-post-1;\nadd rule inet osmo-upf tunmap-post-1 ip saddr set 1.1.1.1 udp sport set 2152 @ih,32,32..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--1-> <-2--core +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--1-> <-2--core
[test override] PFCP tx: PFCPv1 SESSION_EST_RESP hdr={seq=0 SEID=0x102} ies={ 'Node ID'=v4:unsupported family 0 'Cause'=Request accepted (success) 'F-SEID'=0x1,v4:1.1.1.1 'Created PDR'={ { 'PDR ID'=1 'F-TEID'=TEID-0x1,v4:1.1.1.1 }, { 'PDR ID'=2 'F-TEID'=TEID-0x2,v4:1.1.1.1 } } }
osmo-upf created session 0x1
-DREF DEBUG up_session(1-2-3-4-0x1){INIT}: - msg-tx: now used by 1 (msg-rx) -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x1){INIT}: State change to ESTABLISHED (no timeout) -DSESSION INFO up_session(1-2-3-4-0x1){ESTABLISHED}: Session established: peer:1.2.3.4 SEID-r:0x102 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 -DREF INFO up_session(1-2-3-4-0x1){ESTABLISHED}: - msg-rx: now used by 0 (-) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DREF DEBUG up_session(v4:1-2-3-4-0x1){INIT}: - msg-tx: now used by 1 (msg-rx) +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){INIT}: State change to ESTABLISHED (no timeout) +DSESSION INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Session established: peer:v4:1.2.3.4 SEID-r:0x102 SEID-l:0x1 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 +DREF INFO up_session(v4:1-2-3-4-0x1){ESTABLISHED}: - msg-rx: now used by 0 (-) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED | session[ESTABLISHED]: UP-SEID 0x1; chain_id access=1 core=2; local TEID access=0x2 core=0x1 | session[ESTABLISHED]: UP-SEID 0x2; chain_id access=3 core=4; local TEID access=0x4 core=0x3
@@ -289,25 +289,25 @@ assert(a->tunmap.core.chain_id == 2)
set up 4th tunmap; chain_id state would use 3 and 4, but they are in use, so should assign 5 and 6 -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ -DSESSION DEBUG up_session(1-2-3-4){INIT}: Allocated -DSESSION DEBUG up_session(1-2-3-4){INIT}: is child of up_peer(1-2-3-4) -DSESSION INFO up_session(1-2-3-4){INIT}: Allocated new UP-SEID: 0x3 -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: Updated id -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) -DREF INFO up_session(1-2-3-4-0x3){INIT}: + msg-rx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DREF DEBUG up_session(1-2-3-4-0x3){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) -DSESSION INFO up_session(1-2-3-4-0x3){INIT}: Allocated new local F-TEID TEID-0x5,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x3){INIT}: New PDR-1{src:Core TEID-0x5,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x106,v4:5.6.7.8} -DSESSION INFO up_session(1-2-3-4-0x3){INIT}: Allocated new local F-TEID TEID-0x6,v4:1.1.1.1 -DSESSION INFO up_session(1-2-3-4-0x3){INIT}: New PDR-2{src:Access TEID-0x6,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x107,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: Active PDR set: PDR-2{src:Access TEID-0x6,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x107,v4:13.14.15.16} -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x5,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x106,v4:5.6.7.8} -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: GTP actions: 0 previously active; want active: 1 -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_RX_SESSION_EST_REQ +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: Allocated +DSESSION DEBUG up_session(v4:1-2-3-4){INIT}: is child of up_peer(v4:1-2-3-4) +DSESSION INFO up_session(v4:1-2-3-4){INIT}: Allocated new UP-SEID: 0x3 +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: Updated id +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-rx: now used by 1 (msg-rx) +DREF INFO up_session(v4:1-2-3-4-0x3){INIT}: + msg-rx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: Received Event UP_SESSION_EV_RX_SESSION_EST_REQ +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DREF DEBUG up_session(v4:1-2-3-4-0x3){INIT}: + msg-tx: now used by 2 (msg-rx,msg-tx) +DSESSION INFO up_session(v4:1-2-3-4-0x3){INIT}: Allocated new local F-TEID TEID-0x5,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x3){INIT}: New PDR-1{src:Core TEID-0x5,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x106,v4:5.6.7.8} +DSESSION INFO up_session(v4:1-2-3-4-0x3){INIT}: Allocated new local F-TEID TEID-0x6,v4:1.1.1.1 +DSESSION INFO up_session(v4:1-2-3-4-0x3){INIT}: New PDR-2{src:Access TEID-0x6,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x107,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: Active PDR set: PDR-2{src:Access TEID-0x6,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-2{FORW dst:Core,GTP_U_UDP_IPV4,TEID:0x107,v4:13.14.15.16} +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: Active PDR set: + PDR-1{src:Core TEID-0x5,v4:1.1.1.1 decaps-GTP_U_UDP_IPV4} --> FAR-1{FORW dst:Access,GTP_U_UDP_IPV4,TEID:0x106,v4:5.6.7.8} +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: GTP actions: 0 previously active; want active: 1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: want: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: enabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:847 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:847 (flush count: 5 avg rules per flush: 1)
@@ -327,24 +327,24 @@
DNFT DEBUG ran nft ruleset, 847 chars: "add chain inet osmo-upf tunmap-pre-5;\nadd rule inet osmo-upf tunmap-pre-5 ip daddr set 13.14.15.16 meta mark set 5 counter accept;\nadd chain inet osmo-upf tunmap-post-5;\nadd rule inet osmo-upf tunmap-post-5 ip saddr set 1.1.1.1 udp sport set 2152 @ih,32,32..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--5-> <-6--core +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1: Enabled tunmap, nft chain IDs: access--5-> <-6--core
[test override] PFCP tx: PFCPv1 SESSION_EST_RESP hdr={seq=0 SEID=0x103} ies={ 'Node ID'=v4:unsupported family 0 'Cause'=Request accepted (success) 'F-SEID'=0x3,v4:1.1.1.1 'Created PDR'={ { 'PDR ID'=1 'F-TEID'=TEID-0x5,v4:1.1.1.1 }, { 'PDR ID'=2 'F-TEID'=TEID-0x6,v4:1.1.1.1 } } }
osmo-upf created session 0x3
-DREF DEBUG up_session(1-2-3-4-0x3){INIT}: - msg-tx: now used by 1 (msg-rx) -DREF DEBUG up_peer(1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) -DSESSION DEBUG up_session(1-2-3-4-0x3){INIT}: State change to ESTABLISHED (no timeout) -DSESSION INFO up_session(1-2-3-4-0x3){ESTABLISHED}: Session established: peer:1.2.3.4 SEID-r:0x103 SEID-l:0x3 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 -DREF INFO up_session(1-2-3-4-0x3){ESTABLISHED}: - msg-rx: now used by 0 (-) -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO -DREF INFO up_peer(1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO +DREF DEBUG up_session(v4:1-2-3-4-0x3){INIT}: - msg-tx: now used by 1 (msg-rx) +DREF DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-tx: now used by 1 (msg-rx) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){INIT}: State change to ESTABLISHED (no timeout) +DSESSION INFO up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Session established: peer:v4:1.2.3.4 SEID-r:0x103 SEID-l:0x3 state:ESTABLISHED PDR-active:2/2 FAR-active:2/2 GTP-active:1 +DREF INFO up_session(v4:1-2-3-4-0x3){ESTABLISHED}: - msg-rx: now used by 0 (-) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Received Event UP_SESSION_EV_USE_COUNT_ZERO +DREF INFO up_peer(v4:1-2-3-4){ASSOCIATED}: - msg-rx: now used by 0 (-) +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Received Event UP_PEER_EV_USE_COUNT_ZERO
state: - | peer up_peer(1-2-3-4) ASSOCIATED + | peer up_peer(v4:1-2-3-4) ASSOCIATED | session[ESTABLISHED]: UP-SEID 0x3; chain_id access=5 core=6; local TEID access=0x6 core=0x5 | session[ESTABLISHED]: UP-SEID 0x1; chain_id access=1 core=2; local TEID access=0x2 core=0x1 | session[ESTABLISHED]: UP-SEID 0x2; chain_id access=3 core=4; local TEID access=0x4 core=0x3 @@ -357,12 +357,12 @@ assert(a->tunmap.access.chain_id == 5) assert(a->tunmap.core.chain_id == 6)
-DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: Removing from parent up_peer(1-2-3-4) -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Removing from parent up_peer(v4:1-2-3-4) +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:381 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:381 (flush count: 6 avg rules per flush: 1)
@@ -378,14 +378,14 @@
DNFT DEBUG ran nft ruleset, 381 chars: "delete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x6 };\ndelete element inet osmo-upf tunmap-post { 5 };\ndelete chain inet osmo-upf tunmap-pre-5;\ndelete chain inet osmo-upf tunmap-post-5;\ndelete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x5 };\ndelete ..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--5-> <-6--core -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: Freeing instance -DSESSION DEBUG up_session(1-2-3-4-0x3){ESTABLISHED}: Deallocated -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Removing from parent up_peer(1-2-3-4) -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x106 GTP-access-l:1.1.1.1 TEID-access-l:0x6 GTP-core-r:13.14.15.16 TEID-core-r:0x107 GTP-core-l:1.1.1.1 TEID-core-l:0x5 PFCP-peer:v4:1.2.3.4 SEID-l:0x3 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--5-> <-6--core +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Freeing instance +DSESSION DEBUG up_session(v4:1-2-3-4-0x3){ESTABLISHED}: Deallocated +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Removing from parent up_peer(v4:1-2-3-4) +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:381 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:381 (flush count: 7 avg rules per flush: 1)
@@ -401,14 +401,14 @@
DNFT DEBUG ran nft ruleset, 381 chars: "delete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x2 };\ndelete element inet osmo-upf tunmap-post { 1 };\ndelete chain inet osmo-upf tunmap-pre-1;\ndelete chain inet osmo-upf tunmap-post-1;\ndelete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x1 };\ndelete ..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--1-> <-2--core -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Freeing instance -DSESSION DEBUG up_session(1-2-3-4-0x1){ESTABLISHED}: Deallocated -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: Removing from parent up_peer(1-2-3-4) -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x104 GTP-access-l:1.1.1.1 TEID-access-l:0x2 GTP-core-r:13.14.15.16 TEID-core-r:0x105 GTP-core-l:1.1.1.1 TEID-core-l:0x1 PFCP-peer:v4:1.2.3.4 SEID-l:0x1 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--1-> <-2--core +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Freeing instance +DSESSION DEBUG up_session(v4:1-2-3-4-0x1){ESTABLISHED}: Deallocated +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_PARENT) +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Removing from parent up_peer(v4:1-2-3-4) +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: GTP actions: 1 previously active; want active: 0 +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: active: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: disabling: GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1 DNFT INFO Added NFT ruleset to queue: n:1 strlen:381 DNFT INFO Flushing NFT ruleset queue: reached max nr of rules: n:1 strlen:381 (flush count: 8 avg rules per flush: 1)
@@ -424,12 +424,12 @@
DNFT DEBUG ran nft ruleset, 381 chars: "delete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x4 };\ndelete element inet osmo-upf tunmap-post { 3 };\ndelete chain inet osmo-upf tunmap-pre-3;\ndelete chain inet osmo-upf tunmap-post-3;\ndelete element inet osmo-upf tunmap-pre { 1.1.1.1 . 0x3 };\ndelete ..." -DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--3-> <-4--core -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: Freeing instance -DSESSION DEBUG up_session(1-2-3-4-0x2){ESTABLISHED}: Deallocated -DPEER NOTICE up_peer(1-2-3-4){ASSOCIATED}: Peer removed -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Freeing instance -DPEER DEBUG up_peer(1-2-3-4){ASSOCIATED}: Deallocated +DGTP INFO GTP:tunmap GTP-access-r:5.6.7.8 TEID-access-r:0x102 GTP-access-l:1.1.1.1 TEID-access-l:0x4 GTP-core-r:13.14.15.16 TEID-core-r:0x103 GTP-core-l:1.1.1.1 TEID-core-l:0x3 PFCP-peer:v4:1.2.3.4 SEID-l:0x2 PDR-access:2 PDR-core:1: Disabled tunmap, nft chain IDs: access--3-> <-4--core +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Freeing instance +DSESSION DEBUG up_session(v4:1-2-3-4-0x2){ESTABLISHED}: Deallocated +DPEER NOTICE up_peer(v4:1-2-3-4){ASSOCIATED}: Peer removed +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Freeing instance +DPEER DEBUG up_peer(v4:1-2-3-4){ASSOCIATED}: Deallocated [test override] nft_ctx_free() assert(ctx == fake_nft_ctx)