pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-hnodeb/+/28242 )
Change subject: hnb: move llsk fields inside substruct
......................................................................
hnb: move llsk fields inside substruct
More fields will be added, let's better organize them this way.
Change-Id: Idfe644a7c2eccd94b602816a86e38b56264141af
---
M include/osmocom/hnodeb/hnodeb.h
M src/osmo-hnodeb/gtp.c
M src/osmo-hnodeb/hnb.c
M src/osmo-hnodeb/llsk.c
M src/osmo-hnodeb/llsk_audio.c
M src/osmo-hnodeb/llsk_gtp.c
M src/osmo-hnodeb/llsk_iuh.c
M src/osmo-hnodeb/main.c
M src/osmo-hnodeb/rua.c
M src/osmo-hnodeb/vty.c
10 files changed, 46 insertions(+), 44 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/include/osmocom/hnodeb/hnodeb.h b/include/osmocom/hnodeb/hnodeb.h
index 924e1ac..5503020 100644
--- a/include/osmocom/hnodeb/hnodeb.h
+++ b/include/osmocom/hnodeb/hnodeb.h
@@ -88,10 +88,12 @@
} iuh;
/* Lower Layer UD socket */
- struct osmo_prim_srv_link *llsk_link;
- struct osmo_prim_srv *llsk;
- uint8_t llsk_valid_sapi_mask;
- struct osmo_timer_list llsk_defer_configure_ind_timer;
+ struct {
+ struct osmo_prim_srv_link *link;
+ struct osmo_prim_srv *srv;
+ uint8_t valid_sapi_mask;
+ struct osmo_timer_list defer_configure_ind_timer;
+ } llsk;
struct {
unsigned int jitter_buf_ms;
diff --git a/src/osmo-hnodeb/gtp.c b/src/osmo-hnodeb/gtp.c
index ef12cf6..58b28fe 100644
--- a/src/osmo-hnodeb/gtp.c
+++ b/src/osmo-hnodeb/gtp.c
@@ -189,7 +189,7 @@
LOGUE(ue, DGTP, LOGL_DEBUG, "Tx GTP-CONN_DATA.ind len=%u\n",
msgb_l3len(msg));
gtp_prim = hnb_gtp_makeprim_conn_data_ind(conn->id, msgb_l3(msg), msgb_l3len(msg));
- if ((rc = osmo_prim_srv_send(hnb->llsk, gtp_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, gtp_prim->hdr.msg)) < 0) {
LOGUE(ue, DGTP, LOGL_ERROR, "Failed Tx GTP-CONN_DATA.ind len=%u\n",
msgb_l3len(msg));
}
diff --git a/src/osmo-hnodeb/hnb.c b/src/osmo-hnodeb/hnb.c
index 18f39b4..1d03826 100644
--- a/src/osmo-hnodeb/hnb.c
+++ b/src/osmo-hnodeb/hnb.c
@@ -88,9 +88,9 @@
}
hnb_iuh_free(hnb);
- osmo_timer_del(&hnb->llsk_defer_configure_ind_timer);
- osmo_prim_srv_link_free(hnb->llsk_link);
- hnb->llsk_link = NULL;
+ osmo_timer_del(&hnb->llsk.defer_configure_ind_timer);
+ osmo_prim_srv_link_free(hnb->llsk.link);
+ hnb->llsk.link = NULL;
hnb_gtp_unbind(hnb);
diff --git a/src/osmo-hnodeb/llsk.c b/src/osmo-hnodeb/llsk.c
index 76d4c4a..89e8364 100644
--- a/src/osmo-hnodeb/llsk.c
+++ b/src/osmo-hnodeb/llsk.c
@@ -86,13 +86,13 @@
{
struct hnb *hnb = (struct hnb *)osmo_prim_srv_get_priv(srv);
- if (hnb->llsk) {
+ if (hnb->llsk.srv) {
LOGP(DLLSK, LOGL_ERROR, "New connection opened while one is already active,
dropping it\n");
osmo_prim_srv_close(srv);
return 0;
}
LOGP(DLLSK, LOGL_NOTICE, "LLSK conn is UP\n");
- hnb->llsk = srv;
+ hnb->llsk.srv = srv;
return 0;
}
@@ -100,37 +100,37 @@
{
struct hnb *hnb = (struct hnb *)osmo_prim_srv_get_priv(srv);
- if (!hnb->llsk) {
+ if (!hnb->llsk.srv) {
LOGP(DLLSK, LOGL_ERROR, "closed_cb received but we have no active llsk
conn!\n");
return 0;
}
/* If a later conn different than active one is dropped (because we closed it): */
- if (hnb->llsk != srv)
+ if (hnb->llsk.srv != srv)
return 0;
LOGP(DLLSK, LOGL_NOTICE, "LLSK conn is DOWN\n");
- hnb->llsk = NULL;
- hnb->llsk_valid_sapi_mask = 0x0;
- osmo_timer_del(&hnb->llsk_defer_configure_ind_timer);
+ hnb->llsk.srv = NULL;
+ hnb->llsk.valid_sapi_mask = 0x0;
+ osmo_timer_del(&hnb->llsk.defer_configure_ind_timer);
hnb_shutdown(hnb, "LLSK conn dropped", false);
return 0;
}
bool hnb_llsk_connected(const struct hnb *hnb)
{
- return !!hnb->llsk;
+ return !!hnb->llsk.srv;
}
bool hnb_llsk_can_be_configured(struct hnb *hnb)
{
if (!hnb->registered)
return false;
- if (!hnb->llsk)
+ if (!hnb->llsk.srv)
return false;
- if (hnb->llsk_valid_sapi_mask & (1 << HNB_PRIM_SAPI_IUH) &&
- hnb->llsk_valid_sapi_mask & (1 << HNB_PRIM_SAPI_AUDIO) &&
- hnb->llsk_valid_sapi_mask & (1 << HNB_PRIM_SAPI_GTP))
+ if (hnb->llsk.valid_sapi_mask & (1 << HNB_PRIM_SAPI_IUH) &&
+ hnb->llsk.valid_sapi_mask & (1 << HNB_PRIM_SAPI_AUDIO) &&
+ hnb->llsk.valid_sapi_mask & (1 << HNB_PRIM_SAPI_GTP))
return true;
return false;
}
@@ -144,13 +144,13 @@
static int llsk_rx_sapi_version_cb(struct osmo_prim_srv *prim_srv, uint32_t sapi,
uint16_t rem_version)
{
struct hnb *hnb = (struct hnb *)osmo_prim_srv_get_priv(prim_srv);
- if (sapi > sizeof(hnb->llsk_valid_sapi_mask)*8 - 1)
+ if (sapi > sizeof(hnb->llsk.valid_sapi_mask)*8 - 1)
return -1;
- hnb->llsk_valid_sapi_mask |= (1 << sapi);
+ hnb->llsk.valid_sapi_mask |= (1 << sapi);
/* Defer CONFIGURE.req after we have confirmed the versions */
if (hnb_llsk_can_be_configured(hnb))
- osmo_timer_schedule(&hnb->llsk_defer_configure_ind_timer, 0, 0);
+ osmo_timer_schedule(&hnb->llsk.defer_configure_ind_timer, 0, 0);
return rem_version;
}
@@ -177,14 +177,14 @@
int hnb_llsk_alloc(struct hnb *hnb)
{
- hnb->llsk_link = osmo_prim_srv_link_alloc(hnb);
- osmo_prim_srv_link_set_priv(hnb->llsk_link, hnb);
- osmo_prim_srv_link_set_log_category(hnb->llsk_link, DLLSK);
- osmo_prim_srv_link_set_addr(hnb->llsk_link, HNB_PRIM_UD_SOCK_DEFAULT);
- osmo_prim_srv_link_set_opened_conn_cb(hnb->llsk_link, llsk_opened_cb);
- osmo_prim_srv_link_set_closed_conn_cb(hnb->llsk_link, llsk_closed_cb);
- osmo_prim_srv_link_set_rx_sapi_version_cb(hnb->llsk_link, llsk_rx_sapi_version_cb);
- osmo_prim_srv_link_set_rx_cb(hnb->llsk_link, llsk_rx_cb);
- osmo_timer_setup(&hnb->llsk_defer_configure_ind_timer,
llsk_defer_configure_ind_timer_cb, hnb);
+ hnb->llsk.link = osmo_prim_srv_link_alloc(hnb);
+ osmo_prim_srv_link_set_priv(hnb->llsk.link, hnb);
+ osmo_prim_srv_link_set_log_category(hnb->llsk.link, DLLSK);
+ osmo_prim_srv_link_set_addr(hnb->llsk.link, HNB_PRIM_UD_SOCK_DEFAULT);
+ osmo_prim_srv_link_set_opened_conn_cb(hnb->llsk.link, llsk_opened_cb);
+ osmo_prim_srv_link_set_closed_conn_cb(hnb->llsk.link, llsk_closed_cb);
+ osmo_prim_srv_link_set_rx_sapi_version_cb(hnb->llsk.link, llsk_rx_sapi_version_cb);
+ osmo_prim_srv_link_set_rx_cb(hnb->llsk.link, llsk_rx_cb);
+ osmo_timer_setup(&hnb->llsk.defer_configure_ind_timer,
llsk_defer_configure_ind_timer_cb, hnb);
return 0;
}
diff --git a/src/osmo-hnodeb/llsk_audio.c b/src/osmo-hnodeb/llsk_audio.c
index da54d28..a9fe858 100644
--- a/src/osmo-hnodeb/llsk_audio.c
+++ b/src/osmo-hnodeb/llsk_audio.c
@@ -129,7 +129,7 @@
LOGUE(conn->ue, DLLSK, LOGL_DEBUG, "Tx AUDIO-CONN_DATA.ind conn_id=%u fn=%u
fqc=%u rfci=%u data_len=%u\n",
conn->id, frame_nr, fqc, rfci, len);
audio_prim = hnb_audio_makeprim_conn_data_ind(conn->id, frame_nr, fqc, rfci, payload,
len);
- if ((rc = osmo_prim_srv_send(conn->ue->hnb->llsk, audio_prim->hdr.msg)) <
0)
+ if ((rc = osmo_prim_srv_send(conn->ue->hnb->llsk.srv, audio_prim->hdr.msg))
< 0)
LOGUE(conn->ue, DLLSK, LOGL_ERROR, "Failed sending
AUDIO-CONN_DATA.ind\n");
return rc;
}
@@ -141,7 +141,7 @@
LOGP(DLLSK, LOGL_ERROR, "Tx AUDIO-CONN_ESTABLISH.cnf: ctx=%u
error_code=%u\n",
context_id, error_code);
audio_prim = hnb_audio_makeprim_conn_establish_cnf(context_id, 0, error_code, 0,
HNB_PRIM_ADDR_TYPE_UNSPEC, NULL);
- if ((rc = osmo_prim_srv_send(hnb->llsk, audio_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, audio_prim->hdr.msg)) < 0) {
LOGP(DLLSK, LOGL_ERROR, "Failed sending AUDIO-CONN_ESTABLISH.cnf context_id=%u
error_code=%u\n",
context_id, error_code);
}
@@ -210,7 +210,7 @@
rem_addrstr, osmo_sockaddr_to_str(&conn->loc_addr));
audio_prim = hnb_audio_makeprim_conn_establish_cnf(ce_req->context_id, conn->id,
0, loc_port,
ce_req->remote_rtp_address_type, &loc_uaddr);
- if ((rc = osmo_prim_srv_send(hnb->llsk, audio_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, audio_prim->hdr.msg)) < 0) {
LOGUE(ue, DLLSK, LOGL_ERROR, "Failed sending AUDIO-CONN_ESTABLISH.cnf
error_code=0\n");
goto release_sock;
}
diff --git a/src/osmo-hnodeb/llsk_gtp.c b/src/osmo-hnodeb/llsk_gtp.c
index 775df50..9882ecf 100644
--- a/src/osmo-hnodeb/llsk_gtp.c
+++ b/src/osmo-hnodeb/llsk_gtp.c
@@ -120,7 +120,7 @@
LOGP(DLLSK, LOGL_ERROR, "Tx GTP-CONN_ESTABLISH.cnf: ctx=%u error_code=%u\n",
context_id, error_code);
gtp_prim = hnb_gtp_makeprim_conn_establish_cnf(context_id, 0, error_code, 0,
HNB_PRIM_ADDR_TYPE_UNSPEC, NULL);
- if ((rc = osmo_prim_srv_send(hnb->llsk, gtp_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, gtp_prim->hdr.msg)) < 0) {
LOGP(DLLSK, LOGL_ERROR, "Failed sending GTP-CONN_ESTABLISH.cnf context_id=%u
error_code=%u\n",
context_id, error_code);
}
@@ -191,7 +191,7 @@
rem_addrstr, ce_req->remote_tei, osmo_sockaddr_to_str(&conn->loc_addr),
conn->loc_tei);
gtp_prim = hnb_gtp_makeprim_conn_establish_cnf(ce_req->context_id, conn->id, 0,
conn->loc_tei,
ce_req->remote_gtpu_address_type, &loc_uaddr);
- if ((rc = osmo_prim_srv_send(hnb->llsk, gtp_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, gtp_prim->hdr.msg)) < 0) {
LOGUE(ue, DLLSK, LOGL_ERROR, "Failed sending GTP-CONN_ESTABLISH.cnf
error_code=0\n");
goto release_sock;
}
diff --git a/src/osmo-hnodeb/llsk_iuh.c b/src/osmo-hnodeb/llsk_iuh.c
index 00c399a..3cb9077 100644
--- a/src/osmo-hnodeb/llsk_iuh.c
+++ b/src/osmo-hnodeb/llsk_iuh.c
@@ -117,7 +117,7 @@
iuh_prim = hnb_iuh_makeprim_configure_ind(hnb->plmn.mcc, hnb->plmn.mnc,
hnb->cell_identity, hnb->lac,
hnb->rac, hnb->sac, hnb->rnc_id);
- if ((rc = osmo_prim_srv_send(hnb->llsk, iuh_prim->hdr.msg)) < 0)
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, iuh_prim->hdr.msg)) < 0)
LOGP(DLLSK, LOGL_ERROR, "Failed sending IUH-CONFIGURE.ind\n");
return rc;
}
diff --git a/src/osmo-hnodeb/main.c b/src/osmo-hnodeb/main.c
index 5d35c18..304ad1c 100644
--- a/src/osmo-hnodeb/main.c
+++ b/src/osmo-hnodeb/main.c
@@ -275,7 +275,7 @@
}
/* Start listening on lower layer unix domain socket: */
- rc = osmo_prim_srv_link_open(g_hnb->llsk_link);
+ rc = osmo_prim_srv_link_open(g_hnb->llsk.link);
if (rc < 0) {
perror("Error opening lower layer socket");
exit(1);
diff --git a/src/osmo-hnodeb/rua.c b/src/osmo-hnodeb/rua.c
index 5b225de..e109ae0 100644
--- a/src/osmo-hnodeb/rua.c
+++ b/src/osmo-hnodeb/rua.c
@@ -77,7 +77,7 @@
LOGP(DLLSK, LOGL_INFO, "Tx IUH-CONN_ESTABLISH.cnf context_id=%u is_ps=%u\n",
context_id, is_ps);
iuh_prim = hnb_iuh_makeprim_conn_establish_cnf(context_id, is_ps, 0);
- if ((rc = osmo_prim_srv_send(hnb->llsk, iuh_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, iuh_prim->hdr.msg)) < 0) {
LOGP(DRUA, LOGL_ERROR, "Failed sending IUH-CONN_ESTABLISH.cnf context_id=%u
is_ps=%u\n",
context_id, is_ps);
goto free_ret;
@@ -87,7 +87,7 @@
LOGP(DLLSK, LOGL_DEBUG, "Tx IUH-CONN_DATA.ind context_id=%u is_ps=%u
ranap_len=%zu\n",
context_id, is_ps, ranap_buf_len);
iuh_prim = hnb_iuh_makeprim_conn_data_ind(context_id, is_ps, ranap_buf, ranap_buf_len);
- if ((rc = osmo_prim_srv_send(hnb->llsk, iuh_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, iuh_prim->hdr.msg)) < 0) {
LOGP(DRUA, LOGL_ERROR, "Failed sending IUH-CONN_DATA.ind context_id=%u is_ps=%u
ranap_len=%zu\n",
context_id, is_ps, ranap_buf_len);
goto free_ret;
@@ -118,7 +118,7 @@
LOGP(DLLSK, LOGL_DEBUG, "Tx IUH-UNITDATA.ind ranap_len=%zu\n",
ranap_buf_len);
iuh_prim = hnb_iuh_makeprim_unitdata_ind(ranap_buf, ranap_buf_len);
- if ((rc = osmo_prim_srv_send(hnb->llsk, iuh_prim->hdr.msg)) < 0) {
+ if ((rc = osmo_prim_srv_send(hnb->llsk.srv, iuh_prim->hdr.msg)) < 0) {
LOGP(DRUA, LOGL_ERROR, "Failed sending IUH-CONN_DATA.ind ranap_len=%zu\n",
ranap_buf_len);
goto free_ret;
diff --git a/src/osmo-hnodeb/vty.c b/src/osmo-hnodeb/vty.c
index e84e330..f06e4cc 100644
--- a/src/osmo-hnodeb/vty.c
+++ b/src/osmo-hnodeb/vty.c
@@ -279,7 +279,7 @@
"Configure the Lower Layer Unix Domain Socket path\n"
"UNIX socket path\n")
{
- osmo_prim_srv_link_set_addr(g_hnb->llsk_link, argv[0]);
+ osmo_prim_srv_link_set_addr(g_hnb->llsk.link, argv[0]);
/* FIXME: re-open the interface? */
return CMD_SUCCESS;
@@ -332,7 +332,7 @@
vty_out(vty, " remote-ip %s%s", g_hnb->iuh.remote_addr, VTY_NEWLINE);
vty_out(vty, " remote-port %u%s", g_hnb->iuh.remote_port, VTY_NEWLINE);
vty_out(vty, " ll-socket%s", VTY_NEWLINE);
- vty_out(vty, " path %s%s", osmo_prim_srv_link_get_addr(g_hnb->llsk_link),
VTY_NEWLINE);
+ vty_out(vty, " path %s%s", osmo_prim_srv_link_get_addr(g_hnb->llsk.link),
VTY_NEWLINE);
vty_out(vty, " gtp%s", VTY_NEWLINE);
vty_out(vty, " local-ip %s%s", g_hnb->gtp.cfg_local_addr, VTY_NEWLINE);
return CMD_SUCCESS;
--
To view, visit
https://gerrit.osmocom.org/c/osmo-hnodeb/+/28242
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnodeb
Gerrit-Branch: master
Gerrit-Change-Id: Idfe644a7c2eccd94b602816a86e38b56264141af
Gerrit-Change-Number: 28242
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged