neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/28755 )
Change subject: apply refactoring of osmo_pfcp_endpoint API
......................................................................
Patch Set 3: Code-Review+2
(1 comment)
Patchset:
PS3:
fast tracking this because osmo-upf.git now fails to build without this patch.
if any CR, i'll apply afterwards of course
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/28755
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I01deb3f347435c9fa1c49e9a0c5ef70742444ad4
Gerrit-Change-Number: 28755
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 28 Jul 2022 13:03:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: neels.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/28755
to look at the new patch set (#3).
Change subject: apply refactoring of osmo_pfcp_endpoint API
......................................................................
apply refactoring of osmo_pfcp_endpoint API
libosmo-pfcp If80c35c6a942bf9593781b5a6bc28ba37323ce5e changes the
osmo_pfcp_endpoint API, apply the necessary changes here.
Related: SYS#5599
Depends: If80c35c6a942bf9593781b5a6bc28ba37323ce5e (libosmo-pfcp)
Change-Id: I01deb3f347435c9fa1c49e9a0c5ef70742444ad4
---
M src/osmo-pfcp-tool/osmo_pfcp_tool_main.c
M src/osmo-pfcp-tool/pfcp_tool_vty.c
M src/osmo-upf/up_endpoint.c
M src/osmo-upf/up_peer.c
M src/osmo-upf/up_session.c
5 files changed, 44 insertions(+), 35 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/55/28755/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/28755
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I01deb3f347435c9fa1c49e9a0c5ef70742444ad4
Gerrit-Change-Number: 28755
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset
neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/28812 )
Change subject: pfcp_endpoint: fix final PFCP retrans resp_cb
......................................................................
pfcp_endpoint: fix final PFCP retrans resp_cb
After the final retransmission of a sent request, still keep the message
in the queue for its expiry period, so that a later response is matched
to the request.
The osmo_pfcp_msg.resp_cb() depends on the sent message to remain in the
queue until it times out. That was not the case in an earlier stage of
libosmo-pfcp development.
I noticed this during ttcn3 testing, where osmo-hnbgw continuously
resends PFCP Association Setup Requests, and fails to associate if ttcn3
happens to respond to the final retransmission of a request.
Related: SYS#5599
Change-Id: Iaca396891921f7057015ce6e1e4528b955757809
---
M src/libosmo-pfcp/pfcp_endpoint.c
1 file changed, 10 insertions(+), 9 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/libosmo-pfcp/pfcp_endpoint.c b/src/libosmo-pfcp/pfcp_endpoint.c
index 0ee3a9a..68d0a21 100644
--- a/src/libosmo-pfcp/pfcp_endpoint.c
+++ b/src/libosmo-pfcp/pfcp_endpoint.c
@@ -181,18 +181,19 @@
struct osmo_pfcp_msg *m = qe->m;
int rc;
- /* re-transmit */
- if (qe->n1_remaining)
- qe->n1_remaining--;
- OSMO_LOG_PFCP_MSG(m, LOGL_INFO, "re-sending (%u attempts remaining)\n", qe->n1_remaining);
-
- rc = osmo_pfcp_endpoint_tx_data_no_logging(endpoint, m);
- /* If encoding failed, it cannot ever succeed. Drop the queue entry. */
- if (rc)
- return false;
/* if no more attempts remaining, drop from queue */
if (!qe->n1_remaining)
return false;
+
+ /* re-transmit */
+ qe->n1_remaining--;
+ OSMO_LOG_PFCP_MSG(m, LOGL_INFO, "re-sending (%u attempts remaining after this)\n", qe->n1_remaining);
+
+ rc = osmo_pfcp_endpoint_tx_data_no_logging(endpoint, m);
+ /* If encoding failed, it cannot ever succeed. Drop the queue entry. (Error logging already taken care of in
+ * osmo_pfcp_endpoint_tx_data_no_logging().) */
+ if (rc)
+ return false;
/* re-schedule timer, keep in queue */
osmo_timer_schedule(&qe->t1, t1_ms/1000, (t1_ms % 1000) * 1000);
return true;
1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-pfcp/+/28812
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-pfcp
Gerrit-Branch: master
Gerrit-Change-Id: Iaca396891921f7057015ce6e1e4528b955757809
Gerrit-Change-Number: 28812
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/28754 )
Change subject: apply code review: refactor pfcp_endpoint API
......................................................................
apply code review: refactor pfcp_endpoint API
Code review requested that the API should use functions instead of
direct access to a struct.
I have moved all user provided config to a separate struct
osmo_pfcp_endpoint_cfg, to be passed to osmo_pfcp_endpoint_create().
Halfway through those changes, I am not so certain whether that is what
reviewers had in mind. It makes sense from the point of view to keep nr
of arguments passed to osmo_pfcp_endpoint_create() small, and to allow
changing the user provided config without requiring a new
osmo_pfcp_endpoint_create2() API function. Though that again has ABI
compat problems, and makes no sense from the point of view that all
access should be done via API functions.
Personally I don't really agree with this change, which is probably the
reason why this patch ended up this way.
Related: SYS#5599
Change-Id: If80c35c6a942bf9593781b5a6bc28ba37323ce5e
---
M include/osmocom/pfcp/pfcp_endpoint.h
M src/libosmo-pfcp/pfcp_cp_peer.c
M src/libosmo-pfcp/pfcp_endpoint.c
3 files changed, 116 insertions(+), 55 deletions(-)
Approvals:
neels: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/include/osmocom/pfcp/pfcp_endpoint.h b/include/osmocom/pfcp/pfcp_endpoint.h
index acc878e..d0ed113 100644
--- a/include/osmocom/pfcp/pfcp_endpoint.h
+++ b/include/osmocom/pfcp/pfcp_endpoint.h
@@ -32,13 +32,15 @@
struct osmo_pfcp_endpoint;
struct osmo_fsm_inst;
-#define OSMO_PFCP_TIMER_HEARTBEAT_REQ -19
-#define OSMO_PFCP_TIMER_HEARTBEAT_RESP -20
-#define OSMO_PFCP_TIMER_GRACEFUL_REL -21
-#define OSMO_PFCP_TIMER_T1 -22
-#define OSMO_PFCP_TIMER_N1 -23
-#define OSMO_PFCP_TIMER_KEEP_RESP -24
-#define OSMO_PFCP_TIMER_ASSOC_RETRY -26
+enum osmo_pfcp_timers {
+ OSMO_PFCP_TIMER_HEARTBEAT_REQ = -19,
+ OSMO_PFCP_TIMER_HEARTBEAT_RESP = -20,
+ OSMO_PFCP_TIMER_GRACEFUL_REL = -21,
+ OSMO_PFCP_TIMER_T1 = -22,
+ OSMO_PFCP_TIMER_N1 = -23,
+ OSMO_PFCP_TIMER_KEEP_RESP = -24,
+ OSMO_PFCP_TIMER_ASSOC_RETRY = -26,
+};
extern struct osmo_tdef osmo_pfcp_tdefs[];
@@ -51,51 +53,41 @@
struct osmo_pfcp_msg *req);
/* Send/receive PFCP messages to/from remote PFCP endpoints. */
-struct osmo_pfcp_endpoint {
- struct {
- /* Local address */
- struct osmo_sockaddr local_addr;
- /* Local PFCP Node ID, as sent in outgoing messages' Node ID IE */
- struct osmo_pfcp_ie_node_id local_node_id;
+struct osmo_pfcp_endpoint;
- /* Timer definitions to use, if any. See t1_ms, keep_resp_ms. Use osmo_pfcp_tdefs by default. It is
- * convenient to add osmo_pfcp_tdefs as one of your program's osmo_tdef_group entries and call
- * osmo_tdef_vty_init() to expose PFCP timers on the VTY. */
- const struct osmo_tdef *tdefs;
- } cfg;
+struct osmo_pfcp_endpoint_cfg {
+ /* Local address */
+ struct osmo_sockaddr local_addr;
+ /* Local PFCP Node ID, as sent in outgoing messages' Node ID IE */
+ struct osmo_pfcp_ie_node_id local_node_id;
- /* PFCP socket */
- struct osmo_fd pfcp_fd;
+ /* If non-NULL, this function is called just after decoding and before handling the osmo_pfcp_msg passed as
+ * argument m.
+ * The caller (you) usually implements this to set m->ctx.peer_fi and m->ctx.session_fi as appropriate,
+ * so that these are used for logging context during message handling. The caller may also use m->ctx.peer_fi
+ * and m->ctx.session_fi pointers to reduce lookup iterations in e.g. rx_msg(). */
+ osmo_pfcp_endpoint_cb set_msg_ctx_cb;
- /* The time at which this endpoint last restarted, as seconds since unix epoch. */
- uint32_t recovery_time_stamp;
+ /* Callback to receive a single incoming PFCP message from a remote peer, already decoded. See also the doc for
+ * osmo_pfcp_endpoint_cb. */
+ osmo_pfcp_endpoint_cb rx_msg_cb;
- /* State for determining the next sequence number for transmitting a request message */
- uint32_t seq_nr_state;
-
- /* This function is called just after decoding and before handling the message.
- * This function may set ctx.peer_fi and ctx.session_fi, used for logging context during message decoding.
- * The caller may also use these fi pointers to reduce lookup iterations in rx_msg().
- */
- osmo_pfcp_endpoint_cb set_msg_ctx;
-
- /* Callback to receive single incoming PFCP messages from a remote peer, already decoded. */
- osmo_pfcp_endpoint_cb rx_msg;
+ /* Custom timer definitions to use, if any. Relevant timers are: OSMO_PFCP_TIMER_N1, OSMO_PFCP_TIMER_T1,
+ * OSMO_PFCP_TIMER_KEEP_RESP. These are used for the PFCP message retransmission queue.
+ * If passed NULL, use the timer definitions from the global osmo_pfcp_tdefs.
+ * To expose retransmission timers on the VTY configuration, it is convenient to add osmo_pfcp_tdefs as one of
+ * your program's osmo_tdef_group entries and call osmo_tdef_vty_init(). */
+ const struct osmo_tdef *tdefs;
/* application-private data */
void *priv;
- /* All transmitted PFCP Request messages, list of osmo_pfcp_queue_entry.
- * For a transmitted Request message, wait for a matching Response from a remote peer; if none arrives,
- * retransmit (see n1 and t1_ms). */
- struct llist_head sent_requests;
- /* All transmitted PFCP Response messages, list of osmo_pfcp_queue_entry.
- * For a transmitted Response message, keep it in the queue for a fixed amount of time. If the peer retransmits
- * the original Request, do not dispatch the Request, but respond with the queued message directly. */
- struct llist_head sent_responses;
+ /* Always false in this API version. When adding new members to this struct in the future, they shall be added
+ * after this 'more_items' flag, and such members shall be accessed only when more_items == true. */
+ bool more_items;
};
-struct osmo_pfcp_endpoint *osmo_pfcp_endpoint_create(void *ctx, void *priv);
+struct osmo_pfcp_endpoint *osmo_pfcp_endpoint_create(void *ctx, const struct osmo_pfcp_endpoint_cfg *cfg);
int osmo_pfcp_endpoint_bind(struct osmo_pfcp_endpoint *ep);
void osmo_pfcp_endpoint_close(struct osmo_pfcp_endpoint *ep);
void osmo_pfcp_endpoint_free(struct osmo_pfcp_endpoint **ep);
@@ -105,3 +97,11 @@
int osmo_pfcp_endpoint_tx_heartbeat_req(struct osmo_pfcp_endpoint *ep, const struct osmo_sockaddr *remote_addr);
void osmo_pfcp_endpoint_invalidate_ctx(struct osmo_pfcp_endpoint *ep, struct osmo_fsm_inst *deleted_fi);
+
+const struct osmo_pfcp_endpoint_cfg *osmo_pfcp_endpoint_get_cfg(const struct osmo_pfcp_endpoint *ep);
+void *osmo_pfcp_endpoint_get_priv(const struct osmo_pfcp_endpoint *ep);
+uint32_t osmo_pfcp_endpoint_get_recovery_timestamp(const struct osmo_pfcp_endpoint *ep);
+const struct osmo_sockaddr *osmo_pfcp_endpoint_get_local_addr(const struct osmo_pfcp_endpoint *ep);
+void osmo_pfcp_endpoint_set_seq_nr_state(struct osmo_pfcp_endpoint *ep, uint32_t seq_nr_state);
+
+bool osmo_pfcp_endpoint_retrans_queue_is_busy(const struct osmo_pfcp_endpoint *ep);
diff --git a/src/libosmo-pfcp/pfcp_cp_peer.c b/src/libosmo-pfcp/pfcp_cp_peer.c
index e1dd9ac..959206a 100644
--- a/src/libosmo-pfcp/pfcp_cp_peer.c
+++ b/src/libosmo-pfcp/pfcp_cp_peer.c
@@ -161,7 +161,7 @@
struct osmo_pfcp_msg *m;
m = osmo_pfcp_cp_peer_new_req(cp_peer, OSMO_PFCP_MSGT_ASSOC_SETUP_REQ);
- m->ies.assoc_setup_req.recovery_time_stamp = cp_peer->ep->recovery_time_stamp;
+ m->ies.assoc_setup_req.recovery_time_stamp = osmo_pfcp_endpoint_get_recovery_timestamp(cp_peer->ep);
m->ies.assoc_setup_req.cp_function_features_present = true;
osmo_pfcp_bits_set(m->ies.assoc_setup_req.cp_function_features.bits, OSMO_PFCP_CP_FEAT_BUNDL, true);
diff --git a/src/libosmo-pfcp/pfcp_endpoint.c b/src/libosmo-pfcp/pfcp_endpoint.c
index 6162086..0ee3a9a 100644
--- a/src/libosmo-pfcp/pfcp_endpoint.c
+++ b/src/libosmo-pfcp/pfcp_endpoint.c
@@ -32,6 +32,29 @@
#include <osmocom/pfcp/pfcp_endpoint.h>
#include <osmocom/pfcp/pfcp_msg.h>
+/* Send/receive PFCP messages to/from remote PFCP endpoints. */
+struct osmo_pfcp_endpoint {
+ struct osmo_pfcp_endpoint_cfg cfg;
+
+ /* PFCP socket */
+ struct osmo_fd pfcp_fd;
+
+ /* The time at which this endpoint last restarted, as seconds since unix epoch. */
+ uint32_t recovery_time_stamp;
+
+ /* State for determining the next sequence number for transmitting a request message */
+ uint32_t seq_nr_state;
+
+ /* All transmitted PFCP Request messages, list of osmo_pfcp_queue_entry.
+ * For a transmitted Request message, wait for a matching Response from a remote peer; if none arrives,
+ * retransmit (see n1 and t1_ms). */
+ struct llist_head sent_requests;
+ /* All transmitted PFCP Response messages, list of osmo_pfcp_queue_entry.
+ * For a transmitted Response message, keep it in the queue for a fixed amount of time. If the peer retransmits
+ * the original Request, do not dispatch the Request, but respond with the queued message directly. */
+ struct llist_head sent_responses;
+};
+
/*! Entry of pfcp_endpoint message queue of PFCP messages, for re-transsions. */
struct osmo_pfcp_queue_entry {
/* entry in per-peer list of messages waiting for a response */
@@ -103,18 +126,22 @@
{}
};
-struct osmo_pfcp_endpoint *osmo_pfcp_endpoint_create(void *ctx, void *priv)
+/* Allocate a PFCP endpoint. Copy cfg's content to the allocated endpoint struct. Set the recovery_time_stamp to the
+ * current time. */
+struct osmo_pfcp_endpoint *osmo_pfcp_endpoint_create(void *ctx, const struct osmo_pfcp_endpoint_cfg *cfg)
{
struct osmo_pfcp_endpoint *ep = talloc_zero(ctx, struct osmo_pfcp_endpoint);
uint32_t unix_time;
if (!ep)
return NULL;
+ ep->cfg = *cfg;
+ if (!ep->cfg.tdefs)
+ ep->cfg.tdefs = osmo_pfcp_tdefs;
+
INIT_LLIST_HEAD(&ep->sent_requests);
INIT_LLIST_HEAD(&ep->sent_responses);
- ep->cfg.tdefs = osmo_pfcp_tdefs;
- ep->priv = priv;
ep->pfcp_fd.fd = -1;
/* time() returns seconds since 1970 (UNIX epoch), but the recovery_time_stamp is coded in the NTP format, which is
@@ -343,8 +370,8 @@
/* Populate message context to point at peer and session, if applicable.
* With that context applied, log message rx. */
- if (ep->set_msg_ctx)
- ep->set_msg_ctx(ep, m, NULL);
+ if (ep->cfg.set_msg_ctx_cb)
+ ep->cfg.set_msg_ctx_cb(ep, m, NULL);
OSMO_LOG_PFCP_MSG(m, LOGL_INFO, "received retransmission of earlier request\n");
/* Also log on the earlier PFCP msg that it is resent */
@@ -362,8 +389,8 @@
/* Populate message context to point at peer and session, if applicable.
* With that context applied, log message rx. */
- if (ep->set_msg_ctx)
- ep->set_msg_ctx(ep, m, req);
+ if (ep->cfg.set_msg_ctx_cb)
+ ep->cfg.set_msg_ctx_cb(ep, m, req);
OSMO_LOG_PFCP_MSG(m, LOGL_INFO, "received\n");
if (req && req->ctx.resp_cb) {
@@ -373,12 +400,12 @@
if (rc != 1) {
dispatch_rx = false;
OSMO_LOG_PFCP_MSG(m, LOGL_DEBUG,
- "response handled by m->resp_cb(), not dispatching to rx_msg()\n");
+ "response handled by m->resp_cb(), not dispatching to rx_msg_cb()\n");
}
}
if (dispatch_rx)
- ep->rx_msg(ep, m, req);
+ ep->cfg.rx_msg_cb(ep, m, req);
if (req)
osmo_pfcp_queue_del(prev_msg);
}
@@ -402,7 +429,7 @@
return -EIO;
msgb_put(msg, rc);
- OSMO_ASSERT(ep->rx_msg);
+ OSMO_ASSERT(ep->cfg.rx_msg_cb);
/* This may be a bundle of PFCP messages. Parse and receive each message received, by shifting l4h
* through the message bundle. */
@@ -436,8 +463,8 @@
/* close the existing socket, if any */
osmo_pfcp_endpoint_close(ep);
- if (!ep->rx_msg) {
- LOGP(DLPFCP, LOGL_ERROR, "missing rx_msg cb at osmo_pfcp_endpoint\n");
+ if (!ep->cfg.rx_msg_cb) {
+ LOGP(DLPFCP, LOGL_ERROR, "missing cfg.rx_msg_cb at osmo_pfcp_endpoint\n");
return -EINVAL;
}
@@ -483,3 +510,37 @@
llist_for_each_entry(qe, &ep->sent_responses, entry)
osmo_pfcp_msg_invalidate_ctx(qe->m, deleted_fi);
}
+
+/* Return the cfg for an endpoint, guaranteed to return non-NULL for a valid ep. */
+const struct osmo_pfcp_endpoint_cfg *osmo_pfcp_endpoint_get_cfg(const struct osmo_pfcp_endpoint *ep)
+{
+ return &ep->cfg;
+}
+
+/* Shorthand for &osmo_pfcp_endpoint_get_cfg(ep)->priv */
+void *osmo_pfcp_endpoint_get_priv(const struct osmo_pfcp_endpoint *ep)
+{
+ return ep->cfg.priv;
+}
+
+uint32_t osmo_pfcp_endpoint_get_recovery_timestamp(const struct osmo_pfcp_endpoint *ep)
+{
+ return ep->recovery_time_stamp;
+}
+
+/* Shorthand for &osmo_pfcp_endpoint_get_cfg(ep)->local_addr */
+const struct osmo_sockaddr *osmo_pfcp_endpoint_get_local_addr(const struct osmo_pfcp_endpoint *ep)
+{
+ return &ep->cfg.local_addr;
+}
+
+void osmo_pfcp_endpoint_set_seq_nr_state(struct osmo_pfcp_endpoint *ep, uint32_t seq_nr_state)
+{
+ ep->seq_nr_state = seq_nr_state;
+}
+
+/* Return true when the retransmission queues contain any PFCP messages, false when the queues are empty. */
+bool osmo_pfcp_endpoint_retrans_queue_is_busy(const struct osmo_pfcp_endpoint *ep)
+{
+ return !(llist_empty(&ep->sent_requests) && llist_empty(&ep->sent_responses));
+}
--
To view, visit https://gerrit.osmocom.org/c/libosmo-pfcp/+/28754
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-pfcp
Gerrit-Branch: master
Gerrit-Change-Id: If80c35c6a942bf9593781b5a6bc28ba37323ce5e
Gerrit-Change-Number: 28754
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: neels, laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/28816 )
Change subject: add ps_rab_ass FSM to map GTP via UPF
......................................................................
Patch Set 2:
(1 comment)
File include/osmocom/hnbgw/hnbgw.h:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/28816/comment/6f1e3d4a_970dc740
PS2, Line 193: /* Return true when the user configured GTP mapping to be enabled, by configuring a PFCP link to a UPF.
> I'm not following you, pau. […]
I we should not allow running osmo-hnbgw without proxying GTP through it (in detail, through its associated UPF).
I am referring to the problem described for the need of a GTP-u proxy in the SGSN in OS#5154 and SYS#5389, SYS#5435. You also referenced a need for it in osmo-hnbgw in the decription of the task this commit is about (OS#5153).
I think the main issue in this case would be what's described in SYS#5435 case "B]": "SGSN sending to nano3G GGSN's TEI which is changing after UpdatePDPCtxResp" but this time applied to HNBGW and hNodeB.
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/28816
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ic9bc30f322c4c6c6e82462d1da50cb15b336c63a
Gerrit-Change-Number: 28816
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Thu, 28 Jul 2022 12:25:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: neels, pespin.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28818 )
Change subject: hnbgw: test PS RAB GTP mapping
......................................................................
Patch Set 3:
(3 comments)
File hnbgw/HNBGW_Tests.ttcn:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28818/comment/dda6e1b9_d561…
PS1, Line 285: pfcp_remote_ip := "127.0.0.2",
> technically the ttcn3 virt UPF should respond back to whichever IP sends PFCP requests, i think i le […]
agreed (mp_...)
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28818/comment/1e555f67_e5d5…
PS1, Line 1308: f_sleep(2.0);
> i guess i wanted to "simulate" that the RAB remains in use for a bit of time. […]
Ack
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28818/comment/59adaacb_383d…
PS1, Line 1308: f_sleep(2.0);
> i guess i wanted to "simulate" that the RAB remains in use for a bit of time. […]
Ack
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28818
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I93c4689ddc016eb4eb25f8cbdd0142936c6f972b
Gerrit-Change-Number: 28818
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 28 Jul 2022 11:56:59 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: neels.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/28755
to look at the new patch set (#2).
Change subject: apply refactoring of osmo_pfcp_endpoint API
......................................................................
apply refactoring of osmo_pfcp_endpoint API
libosmo-pfcp If80c35c6a942bf9593781b5a6bc28ba37323ce5e changes the
osmo_pfcp_endpoint API, apply the necessary changes here.
Related: SYS#5599
Depends: If80c35c6a942bf9593781b5a6bc28ba37323ce5e (libosmo-pfcp)
Change-Id: I01deb3f347435c9fa1c49e9a0c5ef70742444ad4
---
M src/osmo-pfcp-tool/osmo_pfcp_tool_main.c
M src/osmo-pfcp-tool/pfcp_tool_vty.c
M src/osmo-upf/up_endpoint.c
M src/osmo-upf/up_peer.c
M src/osmo-upf/up_session.c
5 files changed, 44 insertions(+), 34 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/55/28755/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/28755
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I01deb3f347435c9fa1c49e9a0c5ef70742444ad4
Gerrit-Change-Number: 28755
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset