lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
November
October
September
August
July
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
List overview
Download
gerrit-log
November 2025
----- 2025 -----
November 2025
October 2025
September 2025
August 2025
July 2025
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
852 discussions
Start a n
N
ew thread
[M] Change in osmo-hnbgw[master]: hnb: Allow setting Iuh tx-queue-max-length per HNB
by laforge
17 Nov '25
17 Nov '25
Attention is currently required from: fixeria, pespin. laforge has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
) Change subject: hnb: Allow setting Iuh tx-queue-max-length per HNB ...................................................................... Patch Set 1: (1 comment) File src/osmo-hnbgw/hnb.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444/comment/a1de2000_116319d2?u…
: PS1, Line 219: >= why would we permit a queue length == 0? Shouldn't it be > 0? -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Ibf69a5a2e6ff8d6829320efe793c6368aa542102 Gerrit-Change-Number: 41444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 14:02:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1
0
0
0
[S] Change in osmo-hnbgw[master]: Move iuh fields in iuh substruct
by laforge
17 Nov '25
17 Nov '25
Attention is currently required from: pespin. laforge has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41441?usp=email
) Change subject: Move iuh fields in iuh substruct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41441?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: If6954929def24d48661bc132070440513b01289e Gerrit-Change-Number: 41441 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 14:01:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1
0
0
0
[S] Change in osmo-hnbgw[master]: iuh: Allow setting tx-queue-max-length for all HNBs
by laforge
17 Nov '25
17 Nov '25
Attention is currently required from: pespin. laforge has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41436?usp=email
) Change subject: iuh: Allow setting tx-queue-max-length for all HNBs ...................................................................... Patch Set 2: (1 comment) File src/osmo-hnbgw/hnbgw_vty.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41436/comment/70984548_d8258143?u…
: PS2, Line 327: tramist sp: transmit -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41436?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: I8bc9e8bae7a4815dc2f2bc9e15401e01948d1748 Gerrit-Change-Number: 41436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 14:01:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1
0
0
0
[XS] Change in osmo-hnbgw[master]: Remove unused field iuh_cs_mux_port
by laforge
17 Nov '25
17 Nov '25
Attention is currently required from: fixeria, pespin. laforge has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41437?usp=email
) Change subject: Remove unused field iuh_cs_mux_port ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41437?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Id7afe002c427c27168160f375444c61cb8cc401e Gerrit-Change-Number: 41437 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 14:00:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1
0
0
0
[M] Change in osmo-hnbgw[master]: vty: Log Iuh SCTP assoc & rem-addr socket information
by pespin
17 Nov '25
17 Nov '25
Attention is currently required from: fixeria, laforge, osmith. pespin has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41447?usp=email
) Change subject: vty: Log Iuh SCTP assoc & rem-addr socket information ...................................................................... Patch Set 1: (1 comment) Patchset: PS1: Sample with 1 dummy socat conn connected to osmo-hnbgw: # show hnb HNB "" MCC 000 MNC 00 LAC 0 RAC 0 SAC 0 CID 0 Iuh: r=(192.168.1.140|192.168.1.133):40291<->l=192.168.1.140:29169 SCTP-ASSOC: State SCTP_ESTABLISHED InStreams 10 OutStreams 10 RWND 106496 UNACK 0 PEND 0 FRAG 65484 PrimaryAddr 192.168.1.140:40291 RemAddr 192.168.1.140:40291 State SCTP_ACTIVE CWND 262128 SRTT 0 RTO 1000 MTU 65532 RemAddr 192.168.1.133:40291 State SCTP_ACTIVE CWND 262128 SRTT 0 RTO 1000 MTU 65532 HNBAP: SCTP-stream 0 RUA: SCTP-stream 0 1 HNB connected -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41447?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Iad2101ed16ab660f291442c4cab8b72bff560169 Gerrit-Change-Number: 41447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 13:52:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1
0
0
0
[XS] Change in osmo-hnbgw[master]: vty: Improve 'show hnb' param input
by pespin
17 Nov '25
17 Nov '25
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41446?usp=email
) Change subject: vty: Improve 'show hnb' param input ...................................................................... vty: Improve 'show hnb' param input Make it more logic to what user expects, specially wrt to other existing commands in the osmocom world. Change-Id: If329d57f701b0c53a61c89aae8b7ea421f728566 --- M src/osmo-hnbgw/hnbgw_vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/46/41446/1 diff --git a/src/osmo-hnbgw/hnbgw_vty.c b/src/osmo-hnbgw/hnbgw_vty.c index 9f1121b..3574f4e 100644 --- a/src/osmo-hnbgw/hnbgw_vty.c +++ b/src/osmo-hnbgw/hnbgw_vty.c @@ -222,8 +222,8 @@ #define SHOW_HNB_STR SHOW_STR "Display information about HNB\n" -DEFUN(show_hnb, show_hnb_cmd, "show hnb all", - SHOW_HNB_STR "All HNB\n") +DEFUN(show_hnb, show_hnb_cmd, "show hnb", + SHOW_HNB_STR) { struct hnb_context *hnb; unsigned int count = 0; @@ -243,8 +243,8 @@ return CMD_SUCCESS; } -DEFUN(show_one_hnb, show_one_hnb_cmd, "show hnb NAME ", - SHOW_HNB_STR "HNB name\n") +DEFUN(show_one_hnb, show_one_hnb_cmd, "show hnb name NAME", + SHOW_HNB_STR "HNB name\n" "HNB name\n") { struct hnb_context *hnb; const char *identity_info = argv[0]; -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41446?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: If329d57f701b0c53a61c89aae8b7ea421f728566 Gerrit-Change-Number: 41446 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1
0
0
0
[M] Change in osmo-hnbgw[master]: vty: Log Iuh SCTP assoc & rem-addr socket information
by pespin
17 Nov '25
17 Nov '25
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41447?usp=email
) Change subject: vty: Log Iuh SCTP assoc & rem-addr socket information ...................................................................... vty: Log Iuh SCTP assoc & rem-addr socket information This allows checking status of the sockets towards HNB. Related: SYS#7693 Change-Id: Iad2101ed16ab660f291442c4cab8b72bff560169 --- M src/osmo-hnbgw/hnbgw_vty.c 1 file changed, 107 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/47/41447/1 diff --git a/src/osmo-hnbgw/hnbgw_vty.c b/src/osmo-hnbgw/hnbgw_vty.c index 3574f4e..f92061b 100644 --- a/src/osmo-hnbgw/hnbgw_vty.c +++ b/src/osmo-hnbgw/hnbgw_vty.c @@ -22,6 +22,8 @@ #include "config.h" #include <string.h> +#include <netinet/in.h> +#include <netinet/sctp.h> #include <osmocom/core/socket.h> #include <osmocom/vty/command.h> @@ -29,6 +31,14 @@ #include <osmocom/gsm/gsm23236.h> +#include <osmocom/netif/stream.h> +#include <osmocom/netif/sctp.h> + +#include <osmocom/sigtran/protocol/sua.h> +#include <osmocom/sigtran/sccp_helpers.h> + +#include <osmocom/mgcp_client/mgcp_client.h> + #include <osmocom/hnbgw/vty.h> #include <osmocom/hnbgw/hnb.h> @@ -38,11 +48,6 @@ #include <osmocom/hnbgw/context_map.h> #include <osmocom/hnbgw/tdefs.h> #include <osmocom/hnbgw/nft_kpi.h> -#include <osmocom/sigtran/protocol/sua.h> -#include <osmocom/sigtran/sccp_helpers.h> -#include <osmocom/netif/stream.h> - -#include <osmocom/mgcp_client/mgcp_client.h> static struct cmd_node hnbgw_node = { HNBGW_NODE, @@ -191,20 +196,110 @@ vty_out(vty, VTY_NEWLINE); } -static void vty_dump_hnb_info(struct vty *vty, struct hnb_context *hnb) +static void vty_dump_one_remaddr_sctp(struct vty *vty, int fd) +{ + struct sctp_paddrinfo pinfo[OSMO_SOCK_MAX_ADDRS]; + struct osmo_sockaddr osa = {}; + size_t pinfo_cnt = ARRAY_SIZE(pinfo); + bool more_needed; + int rc; + unsigned int i; + + rc = osmo_sock_sctp_get_peer_addr_info(fd, &pinfo[0], &pinfo_cnt); + if (rc < 0) { + char buf_err[128]; + strerror_r(errno, buf_err, sizeof(buf_err)); + vty_out(vty, "%% getsockopt(SCTP_GET_PEER_ADDR_INFO) failed: %s%s", buf_err, VTY_NEWLINE); + return; + } + + more_needed = pinfo_cnt > ARRAY_SIZE(pinfo); + if (pinfo_cnt > ARRAY_SIZE(pinfo)) + pinfo_cnt = ARRAY_SIZE(pinfo); + + for (i = 0; i < pinfo_cnt; i++) { + osa.u.sas = pinfo[i].spinfo_address; + vty_out(vty, " RemAddr %-46s State SCTP_%-18s CWND %-8u SRTT %-8u RTO %-8u MTU %-8u%s", + osmo_sockaddr_to_str(&osa), + osmo_sctp_spinfo_state_str(pinfo[i].spinfo_state), + pinfo[i].spinfo_cwnd, pinfo[i].spinfo_srtt, + pinfo[i].spinfo_rto, pinfo[i].spinfo_mtu, + VTY_NEWLINE); + } + + if (more_needed) + vty_out(vty, "%% more address buffers needed!%s", VTY_NEWLINE); +} + +static void vty_dump_one_assoc_status_sctp(struct vty *vty, int fd) +{ + struct osmo_sockaddr osa = {}; + struct sctp_status st; + socklen_t len; + int rc; + + memset(&st, 0, sizeof(st)); + len = sizeof(st); + rc = getsockopt(fd, IPPROTO_SCTP, SCTP_STATUS, &st, &len); + if (rc < 0) { + char buf_err[128]; + strerror_r(errno, buf_err, sizeof(buf_err)); + vty_out(vty, "%% getsockopt(SCTP_STATUS) failed: %s%s", buf_err, VTY_NEWLINE); + return; + } + + osa.u.sas = st.sstat_primary.spinfo_address; + vty_out(vty, " SCTP-ASSOC: State SCTP_%-18s InStreams %-9u OutStreams %-10u RWND %-8u UNACK %-9u PEND %-7u FRAG %-9u PrimaryAddr %-46s%s", + osmo_sctp_sstat_state_str(st.sstat_state), + st.sstat_instrms, st.sstat_outstrms, + st.sstat_rwnd, st.sstat_unackdata, st.sstat_penddata, + st.sstat_fragmentation_point, + osmo_sockaddr_to_str(&osa), + VTY_NEWLINE); + + vty_dump_one_remaddr_sctp(vty, fd); +} + +static void vty_dump_hnb_info__iuh_fd(struct vty *vty, const struct hnb_context *hnb) +{ + int fd; + unsigned long long sec; + + vty_out(vty, " Iuh: %s%s", + hnb->conn ? osmo_stream_srv_get_sockname(hnb->conn) : "(no addr)", VTY_NEWLINE); + if (!hnb->conn) + return; + + sec = hnb_get_updowntime(hnb); + if (sec) { + vty_out(vty, " Uptime: %llu days %llu hours %llu min. %llu sec.%s", + OSMO_SEC2DAY(sec), OSMO_SEC2HRS(sec), OSMO_SEC2MIN(sec), sec % 60, VTY_NEWLINE); + } + + fd = osmo_stream_srv_get_fd(hnb->conn); + if (fd < 0) + return; + + vty_dump_one_assoc_status_sctp(vty, fd); + + + vty_out(vty, " HNBAP: SCTP-stream %u%s", hnb->hnbap_stream, VTY_NEWLINE); + vty_out(vty, " RUA: SCTP-stream %u%s", hnb->rua_stream, VTY_NEWLINE); +} + +static void vty_dump_hnb_info(struct vty *vty, const struct hnb_context *hnb) { struct hnbgw_context_map *map; unsigned int map_count[2] = {}; unsigned int state_count[2][MAP_S_NUM_STATES + 1] = {}; - unsigned long long sec; vty_out(vty, "HNB "); - vty_out(vty, "%s", hnb->conn ? osmo_stream_srv_get_sockname(hnb->conn) : "(no addr)"); vty_out(vty, " \"%s\"%s", hnb->identity_info, VTY_NEWLINE); - vty_out(vty, " MCC %s MNC %s LAC %u RAC %u SAC %u CID %u SCTP-stream:HNBAP=%u,RUA=%u%s", - osmo_mcc_name(hnb->id.plmn.mcc), osmo_mnc_name(hnb->id.plmn.mnc, hnb->id.plmn.mnc_3_digits), - hnb->id.lac, hnb->id.rac, hnb->id.sac, hnb->id.cid, - hnb->hnbap_stream, hnb->rua_stream, VTY_NEWLINE); + vty_out(vty, " MCC %s MNC %s LAC %u RAC %u SAC %u CID %u%s", + osmo_mcc_name(hnb->id.plmn.mcc), + osmo_mnc_name(hnb->id.plmn.mnc, hnb->id.plmn.mnc_3_digits), + hnb->id.lac, hnb->id.rac, hnb->id.sac, hnb->id.cid, VTY_NEWLINE); + vty_dump_hnb_info__iuh_fd(vty, hnb); llist_for_each_entry(map, &hnb->map_list, hnb_list) { map_count[map->is_ps ? 1 : 0]++; @@ -212,12 +307,6 @@ } vty_dump_hnb_info__map_states(vty, "IuCS", map_count[0], state_count[0]); vty_dump_hnb_info__map_states(vty, "IuPS", map_count[1], state_count[1]); - - sec = hnb_get_updowntime(hnb); - if (sec) { - vty_out(vty, " Iuh Uptime: %llu days %llu hours %llu min. %llu sec.%s", - OSMO_SEC2DAY(sec), OSMO_SEC2HRS(sec), OSMO_SEC2MIN(sec), sec % 60, VTY_NEWLINE); - } } #define SHOW_HNB_STR SHOW_STR "Display information about HNB\n" -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41447?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Iad2101ed16ab660f291442c4cab8b72bff560169 Gerrit-Change-Number: 41447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1
0
0
0
[XS] Change in libosmo-netif[master]: netif/sctp.h: Add missing dep netinet/sctp.h
by pespin
17 Nov '25
17 Nov '25
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-netif/+/41445?usp=email
) Change subject: netif/sctp.h: Add missing dep netinet/sctp.h ...................................................................... netif/sctp.h: Add missing dep netinet/sctp.h Change-Id: Icac109aad6dc5a694309c1aedfe4622b04c44c9c --- M include/osmocom/netif/sctp.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/45/41445/1 diff --git a/include/osmocom/netif/sctp.h b/include/osmocom/netif/sctp.h index 9dcb6dd..e7787f1 100644 --- a/include/osmocom/netif/sctp.h +++ b/include/osmocom/netif/sctp.h @@ -1,6 +1,7 @@ #pragma once #include <osmocom/core/utils.h> +#include <netinet/sctp.h> /* Relevant SCTP RFCs: * rfc9260 (obsoletes rfc4960): SCTP protocol -- To view, visit
https://gerrit.osmocom.org/c/libosmo-netif/+/41445?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Icac109aad6dc5a694309c1aedfe4622b04c44c9c Gerrit-Change-Number: 41445 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1
0
0
0
[M] Change in osmo-hnbgw[master]: hnb: Allow setting Iuh tx-queue-max-length per HNB
by osmith
17 Nov '25
17 Nov '25
Attention is currently required from: fixeria, pespin. osmith has posted comments on this change by pespin. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
) Change subject: hnb: Allow setting Iuh tx-queue-max-length per HNB ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Ibf69a5a2e6ff8d6829320efe793c6368aa542102 Gerrit-Change-Number: 41444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 17 Nov 2025 11:57:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1
0
0
0
[M] Change in osmo-hnbgw[master]: hnb: Allow setting Iuh tx-queue-max-length per HNB
by pespin
17 Nov '25
17 Nov '25
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
) Change subject: hnb: Allow setting Iuh tx-queue-max-length per HNB ...................................................................... hnb: Allow setting Iuh tx-queue-max-length per HNB Related: SYS#7693 Change-Id: Ibf69a5a2e6ff8d6829320efe793c6368aa542102 --- M include/osmocom/hnbgw/hnb.h M include/osmocom/hnbgw/hnb_persistent.h M src/osmo-hnbgw/hnb.c M src/osmo-hnbgw/hnb_persistent.c M src/osmo-hnbgw/hnbgw_vty.c M tests/osmo-hnbgw.vty 6 files changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/44/41444/1 diff --git a/include/osmocom/hnbgw/hnb.h b/include/osmocom/hnbgw/hnb.h index 9c210e6..caa566a 100644 --- a/include/osmocom/hnbgw/hnb.h +++ b/include/osmocom/hnbgw/hnb.h @@ -72,5 +72,7 @@ void hnb_context_release(struct hnb_context *ctx); void hnb_context_release_ue_state(struct hnb_context *ctx); +void hnb_context_apply_tx_queue_max_length(struct hnb_context *ctx); + unsigned long long hnb_get_updowntime(const struct hnb_context *ctx); void hnb_store_rab_durations(struct hnb_context *hnb); diff --git a/include/osmocom/hnbgw/hnb_persistent.h b/include/osmocom/hnbgw/hnb_persistent.h index 07c017b..08db9c4 100644 --- a/include/osmocom/hnbgw/hnb_persistent.h +++ b/include/osmocom/hnbgw/hnb_persistent.h @@ -157,6 +157,10 @@ struct rate_ctr_group *ctrs; struct osmo_stat_item_group *statg; + struct { + int iuh_tx_queue_max_length; /* -1: Use hnbgw default */ + } config; + /* State that the main thread needs in order to know what was requested from the nft worker threads and what * still needs to be requested. */ struct { diff --git a/src/osmo-hnbgw/hnb.c b/src/osmo-hnbgw/hnb.c index bd6b02c..2ea5ce3 100644 --- a/src/osmo-hnbgw/hnb.c +++ b/src/osmo-hnbgw/hnb.c @@ -115,6 +115,7 @@ } osmo_stream_srv_set_read_cb(ctx->conn, hnb_read_cb); osmo_stream_srv_set_closed_cb(ctx->conn, hnb_closed_cb); + hnb_context_apply_tx_queue_max_length(ctx); llist_add_tail(&ctx->list, &g_hnbgw->hnb_list); return ctx; @@ -206,6 +207,22 @@ return hnbp_get_updowntime(ctx->persistent); } +void hnb_context_apply_tx_queue_max_length(struct hnb_context *ctx) +{ + unsigned int v; + const struct hnb_persistent *hnbp = ctx->persistent; + + if (!ctx->conn) + return; + + if (hnbp && + hnbp->config.iuh_tx_queue_max_length >= 0) + v = hnbp->config.iuh_tx_queue_max_length >= 0; + else /* Use global HNBGW default */ + v = g_hnbgw->config.iuh.tx_queue_max_length; + osmo_stream_srv_set_tx_queue_max_length(ctx->conn, v); +} + /*********************************************************************** * SCTP Socket / stream handling ***********************************************************************/ diff --git a/src/osmo-hnbgw/hnb_persistent.c b/src/osmo-hnbgw/hnb_persistent.c index 015e7c6..63c0c6a 100644 --- a/src/osmo-hnbgw/hnb_persistent.c +++ b/src/osmo-hnbgw/hnb_persistent.c @@ -275,6 +275,8 @@ goto out_free_ctrs; osmo_stat_item_group_set_name(hnbp->statg, hnbp->id_str); + hnbp->config.iuh_tx_queue_max_length = -1; /* global HNBGW default */ + llist_add(&hnbp->list, &g_hnbgw->hnb_persistent_list); hash_add(g_hnbgw->hnb_persistent_by_id, &hnbp->node_by_id, umts_cell_id_hash(&hnbp->id)); diff --git a/src/osmo-hnbgw/hnbgw_vty.c b/src/osmo-hnbgw/hnbgw_vty.c index da1f3fa..9f1121b 100644 --- a/src/osmo-hnbgw/hnbgw_vty.c +++ b/src/osmo-hnbgw/hnbgw_vty.c @@ -326,10 +326,17 @@ "Maximum transmit queue length, in msgbs\n" "Amount of msgbs which can be queued at maximum in the tramist queue\n") { + struct hnb_context *hnb; + g_hnbgw->config.iuh.tx_queue_max_length = atoi(argv[0]); if (g_hnbgw->iuh) osmo_stream_srv_link_set_tx_queue_max_length(g_hnbgw->iuh, g_hnbgw->config.iuh.tx_queue_max_length); + + /* Apply new default to HNBs which don't hace a specific value set. */ + llist_for_each_entry(hnb, &g_hnbgw->hnb_list, list) + hnb_context_apply_tx_queue_max_length(hnb); + return CMD_SUCCESS; } @@ -877,6 +884,18 @@ return CMD_SUCCESS; } +DEFUN(cfg_hnb_tx_queue_max_length, cfg_hnb_tx_queue_max_length_cmd, + "tx-queue-max-length <-1-65535>", + "Maximum transmit queue length, in msgbs\n" + "Amount of msgbs which can be queued at maximum in the tramist queue (-1: Use hnbgw default)\n") +{ + struct hnb_persistent *hnbp = vty->index; + hnbp->config.iuh_tx_queue_max_length = atoi(argv[0]); + if (hnbp->ctx) + hnb_context_apply_tx_queue_max_length(hnbp->ctx); + return CMD_SUCCESS; +} + #define NFT_KPI_STR "Retrieve traffic counters from nftables\n" DEFUN(cfg_hnbgw_nft_kpi, cfg_hnbgw_nft_kpi_cmd, @@ -1000,6 +1019,8 @@ static void write_one_hnbp(struct vty *vty, const struct hnb_persistent *hnbp) { vty_out(vty, " hnb %s%s", hnbp->id_str, VTY_NEWLINE); + if (hnbp->config.iuh_tx_queue_max_length >= 0) + vty_out(vty, " tx-queue-max-length %u%s", hnbp->config.iuh_tx_queue_max_length, VTY_NEWLINE); } static int config_write_hnbgw(struct vty *vty) @@ -1165,6 +1186,7 @@ install_element(HNBGW_NODE, &cfg_hnbgw_hnb_cmd); install_element(HNBGW_NODE, &cfg_hnbgw_no_hnb_cmd); install_node(&hnb_node, NULL); + install_element(HNB_NODE, &cfg_hnb_tx_queue_max_length_cmd); install_element(HNBGW_NODE, &cfg_hnbgw_nft_kpi_cmd); install_element(HNBGW_NODE, &cfg_hnbgw_no_nft_kpi_cmd); diff --git a/tests/osmo-hnbgw.vty b/tests/osmo-hnbgw.vty index c3e1f11..e10cb27 100644 --- a/tests/osmo-hnbgw.vty +++ b/tests/osmo-hnbgw.vty @@ -103,6 +103,27 @@ ... OsmoHNBGW(config-hnbgw-iuh)# exit +OsmoHNBGW(config-hnbgw)# hnb 23-42-L1-R2-S3-C4 +OsmoHNBGW(config-hnbgw-hnb)# list +... + tx-queue-max-length <-1-65535> +... +OsmoHNBGW(config-hnbgw-hnb)# show running-config +... +hnbgw +... + hnb 023-42-L1-R2-S3-C4 +... +OsmoHNBGW(config-hnbgw-hnb)# tx-queue-max-length 3000 +OsmoHNBGW(config-hnbgw-hnb)# show running-config +... +hnbgw +... + hnb 023-42-L1-R2-S3-C4 + tx-queue-max-length 3000 +... +OsmoHNBGW(config-hnbgw-hnb)# exit + OsmoHNBGW(config-hnbgw)# nft-kpi? nft-kpi Retrieve traffic counters from nftables OsmoHNBGW(config-hnbgw)# nft-kpi ? -- To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/41444?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange Gerrit-Project: osmo-hnbgw Gerrit-Branch: master Gerrit-Change-Id: Ibf69a5a2e6ff8d6829320efe793c6368aa542102 Gerrit-Change-Number: 41444 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1
0
0
0
← Newer
1
...
21
22
23
24
25
26
27
...
86
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Results per page:
10
25
50
100
200