Projects
osmocom:nightly
osmo-hnbgw
Log In
Username
Password
Error getting diff: tar:
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 694
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.dsc
Deleted
@@ -1,21 +0,0 @@ -Format: 3.0 (native) -Source: osmo-hnbgw -Binary: osmo-hnbgw, osmo-hnbgw-dbg, osmo-hnbgw-doc -Architecture: any all -Version: 1.5.0.59.de99.202405142026 -Maintainer: Osmocom team <openbsc@lists.osmocom.org> -Homepage: https://projects.osmocom.org/projects/osmo-hnbgw -Standards-Version: 3.9.8 -Vcs-Browser: https://gitea.osmocom.org/cellular-infrastructure/osmo-hnbgw -Vcs-Git: https://gitea.osmocom.org/cellular-infrastructure/osmo-hnbgw -Build-Depends: debhelper (>= 10), dh-autoreconf, autotools-dev, autoconf, automake, libtool, pkg-config, python3-minimal, libtalloc-dev, libasn1c-dev (>= 0.9.30), libsctp-dev, libosmocore-dev (>= 1.9.0), libosmo-sigtran-dev (>= 1.8.0), libosmo-abis-dev (>= 1.5.0), libosmo-netif-dev (>= 1.4.0), libosmo-mgcp-client-dev (>= 1.12.0), libosmo-hnbap-dev (>= 1.5.0), libosmo-ranap-dev (>= 1.5.0), libosmo-rua-dev (>= 1.5.0), libosmo-pfcp-dev (>= 0.3.0), osmo-gsm-manuals-dev (>= 1.5.0) -Package-List: - osmo-hnbgw deb net extra arch=any - osmo-hnbgw-dbg deb debug extra arch=any - osmo-hnbgw-doc deb doc optional arch=all -Checksums-Sha1: - 1e0b20dfc5fc3ccbb0babc3576bb7bf26539763d 107260 osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz -Checksums-Sha256: - 158f2756334923393717b649f9c81c9c610608f580fadabf65f55d8b2f95d5d0 107260 osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz -Files: - 9b5ff1250f49c0bc9990789bec986f44 107260 osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz
View file
osmo-hnbgw_1.5.0.61.a597.202405152026.dsc
Added
@@ -0,0 +1,21 @@ +Format: 3.0 (native) +Source: osmo-hnbgw +Binary: osmo-hnbgw, osmo-hnbgw-dbg, osmo-hnbgw-doc +Architecture: any all +Version: 1.5.0.61.a597.202405152026 +Maintainer: Osmocom team <openbsc@lists.osmocom.org> +Homepage: https://projects.osmocom.org/projects/osmo-hnbgw +Standards-Version: 3.9.8 +Vcs-Browser: https://gitea.osmocom.org/cellular-infrastructure/osmo-hnbgw +Vcs-Git: https://gitea.osmocom.org/cellular-infrastructure/osmo-hnbgw +Build-Depends: debhelper (>= 10), dh-autoreconf, autotools-dev, autoconf, automake, libtool, pkg-config, python3-minimal, libtalloc-dev, libasn1c-dev (>= 0.9.30), libsctp-dev, libosmocore-dev (>= 1.9.0), libosmo-sigtran-dev (>= 1.8.0), libosmo-abis-dev (>= 1.5.0), libosmo-netif-dev (>= 1.4.0), libosmo-mgcp-client-dev (>= 1.12.0), libosmo-hnbap-dev (>= 1.5.0), libosmo-ranap-dev (>= 1.5.0), libosmo-rua-dev (>= 1.5.0), libosmo-pfcp-dev (>= 0.3.0), osmo-gsm-manuals-dev (>= 1.5.0) +Package-List: + osmo-hnbgw deb net extra arch=any + osmo-hnbgw-dbg deb debug extra arch=any + osmo-hnbgw-doc deb doc optional arch=all +Checksums-Sha1: + 04b50860b9fd7258800fc85b3d69b6675bd5c61e 108028 osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz +Checksums-Sha256: + f640b31ae9643a41fe8ff7a77de320b44169edbe83a460bce5abd6331622a36d 108028 osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz +Files: + dc3d17065b5333bd8c818a749dd44543 108028 osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/.tarball-version -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.5.0.59-de99.202405142026 +1.5.0.61-a597.202405152026
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/TODO-RELEASE -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/TODO-RELEASE
Changed
@@ -11,3 +11,4 @@ MGW MGCP CRCX osmo-hnbgw used to CRCX in loopback mode, to trigger a legacy IuUP hack. CRCX is no longer in loopback mode now, so older osmo-mgw may fail to respond to IuUP Initialization. +osmo-iuh >1.5.1 decoding of more RANAP procedures in ranap_common required for DTAP rate_counters
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/debian/changelog -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-hnbgw (1.5.0.59.de99.202405142026) unstable; urgency=medium +osmo-hnbgw (1.5.0.61.a597.202405152026) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Tue, 14 May 2024 20:26:48 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Wed, 15 May 2024 20:26:48 +0000 osmo-hnbgw (1.5.0) unstable; urgency=medium
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/debian/control -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/debian/control
Changed
@@ -31,7 +31,7 @@ Package: osmo-hnbgw Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202405142026), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202405152026), ${misc:Depends}, ${shlibs:Depends} Recommends: osmo-mgw Description: OsmoHNBGW: Osmocom Home Node B Gateway @@ -39,14 +39,14 @@ Section: debug Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202405142026), osmo-hnbgw (= ${binary:Version}), ${misc:Depends} +Depends: osmocom-nightly (= 202405152026), osmo-hnbgw (= ${binary:Version}), ${misc:Depends} Description: OsmoHNBGW: Osmocom Home Node B Gateway Package: osmo-hnbgw-doc Architecture: all Section: doc Priority: optional -Depends: osmocom-nightly (= 202405142026), ${misc:Depends} +Depends: osmocom-nightly (= 202405152026), ${misc:Depends} Description: ${misc:Package} PDF documentation Various manuals: user manual, VTY reference manual and/or protocol/interface manuals.
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/debian/postinst -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/debian/postinst
Changed
@@ -16,12 +16,20 @@ fi # Fix permissions of previous (root-owned) install (OS#4107) - chown osmocom:osmocom /etc/osmocom/osmo-hnbgw.cfg - chmod 0660 /etc/osmocom/osmo-hnbgw.cfg - chown root:osmocom /etc/osmocom - chmod 2775 /etc/osmocom - mkdir -p /var/lib/osmocom - chown -R osmocom:osmocom /var/lib/osmocom + if dpkg --compare-versions "$2" le "1.6.0"; then + if -e /etc/osmocom/osmo-hnbgw.cfg ; then + chown -v osmocom:osmocom /etc/osmocom/osmo-hnbgw.cfg + chmod -v 0660 /etc/osmocom/osmo-hnbgw.cfg + fi + + if -d /etc/osmocom ; then + chown -v root:osmocom /etc/osmocom + chmod -v 2775 /etc/osmocom + fi + + mkdir -p /var/lib/osmocom + chown -R -v osmocom:osmocom /var/lib/osmocom + fi ;; esac
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/include/osmocom/hnbgw/hnbgw.h -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/include/osmocom/hnbgw/hnbgw.h
Changed
@@ -136,6 +136,18 @@ HNB_CTR_CS_PAGING_ATTEMPTED, HNB_CTR_RAB_ACTIVE_MILLISECONDS_TOTAL, + + HNB_CTR_DTAP_CS_LU_REQ, + HNB_CTR_DTAP_CS_LU_ACC, + HNB_CTR_DTAP_CS_LU_REJ, + + HNB_CTR_DTAP_PS_ATT_REQ, + HNB_CTR_DTAP_PS_ATT_ACK, + HNB_CTR_DTAP_PS_ATT_REJ, + + HNB_CTR_DTAP_PS_RAU_REQ, + HNB_CTR_DTAP_PS_RAU_ACK, + HNB_CTR_DTAP_PS_RAU_REJ, }; enum hnb_stat {
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/include/osmocom/hnbgw/kpi.h -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/include/osmocom/hnbgw/kpi.h
Changed
@@ -6,3 +6,6 @@ void kpi_ranap_process_ul(struct hnbgw_context_map *map, ranap_message *ranap); void kpi_ranap_process_dl(struct hnbgw_context_map *map, ranap_message *ranap); + +void kpi_dtap_process_ul(struct hnbgw_context_map *map, const uint8_t *buf, unsigned int len, uint8_t sapi); +void kpi_dtap_process_dl(struct hnbgw_context_map *map, const uint8_t *buf, unsigned int len, uint8_t sapi);
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/src/osmo-hnbgw/Makefile.am -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/src/osmo-hnbgw/Makefile.am
Changed
@@ -44,6 +44,7 @@ cnlink.c \ ranap_rab_ass.c \ mgw_fsm.c \ + kpi_dtap.c \ kpi_ranap.c \ tdefs.c \ $(NULL)
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/src/osmo-hnbgw/context_map_rua.c -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/src/osmo-hnbgw/context_map_rua.c
Changed
@@ -220,10 +220,9 @@ switch (event) { case MAP_RUA_EV_RX_CONNECT: + /* not needed for RAB assignment scanning, but for KPI scanning */ + handle_rx_rua(fi, ranap_msg); map_rua_fsm_state_chg(MAP_RUA_ST_CONNECTED); - /* The Connect will never be a RAB Assignment response, so no need for handle_rx_rua() (which decodes - * the RANAP message to detect a RAB Assignment response). Just forward to SCCP as is. */ - map_sccp_dispatch(map, MAP_SCCP_EV_TX_DATA_REQUEST, ranap_msg); return; case MAP_RUA_EV_RX_DISCONNECT:
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/src/osmo-hnbgw/hnbgw.c -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/src/osmo-hnbgw/hnbgw.c
Changed
@@ -464,6 +464,18 @@ HNB_CTR_RAB_ACTIVE_MILLISECONDS_TOTAL = { "rab:cs:active_milliseconds:total", "Cumulative number of milliseconds of CS RAB activity" }, + + HNB_CTR_DTAP_CS_LU_REQ = { "dtap:cs:location_update:req", "CS Location Update Requests" }, + HNB_CTR_DTAP_CS_LU_ACC = { "dtap:cs:location_update:accept", "CS Location Update Accepts" }, + HNB_CTR_DTAP_CS_LU_REJ = { "dtap:cs:location_update:reject", "CS Location Update Rejects" }, + + HNB_CTR_DTAP_PS_ATT_REQ = { "dtap:ps:attach:req", "PS Attach Requests" }, + HNB_CTR_DTAP_PS_ATT_ACK = { "dtap:ps:attach:accept", "PS Attach Accepts" }, + HNB_CTR_DTAP_PS_ATT_REJ = { "dtap:ps:attach:reject", "PS Attach Rejects" }, + + HNB_CTR_DTAP_PS_RAU_REQ = { "dtap:ps:routing_area_update:req", "PS Routing Area Update Requests" }, + HNB_CTR_DTAP_PS_RAU_ACK = { "dtap:ps:routing_area_update:accept", "PS Routing Area Update Accepts" }, + HNB_CTR_DTAP_PS_RAU_REJ = { "dtap:ps:routing_area_update:reject", "PS Routing Area Update Rejects" }, }; const struct rate_ctr_group_desc hnb_ctrg_desc = {
View file
osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/src/osmo-hnbgw/kpi_dtap.c
Added
@@ -0,0 +1,111 @@ +/* KPI (statistics, counters) at DTAP level */ +/* (C) 2024 by Harald Welte <laforge@osmocom.org> + * All Rights Reserved + * + * SPDX-License-Identifier: AGPL-3.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "config.h" + +#include <osmocom/core/utils.h> + +#include <osmocom/ranap/ranap_common_ran.h> +#include <osmocom/gsm/protocol/gsm_04_08.h> +#include <osmocom/gsm/protocol/gsm_04_08_gprs.h> + +#include <osmocom/hnbgw/hnbgw.h> +#include <osmocom/hnbgw/context_map.h> +#include <osmocom/hnbgw/kpi.h> + +/*********************************************************************** + * DOWNLINK messages + ***********************************************************************/ + +void kpi_dtap_process_dl(struct hnbgw_context_map *map, const uint8_t *buf, unsigned int len, + uint8_t sapi) +{ + struct hnb_persistent *hnbp = map->hnb_ctx->persistent; + const struct gsm48_hdr *gh = (const struct gsm48_hdr *)buf; + if (len < sizeof(*gh)) + return; + + /* if you make use of any data beyond the fixed-size gsm48_hdr, you must make sure the underlying + * buffer length is actually long enough! */ + + if (map->is_ps) { + /* Packet Switched Domain (from SGSN) */ + switch (gsm48_hdr_msg_type(gh)) { + case GSM48_MT_GMM_ATTACH_ACK: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_ATT_ACK); + break; + case GSM48_MT_GMM_ATTACH_REJ: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_ATT_REJ); + break; + case GSM48_MT_GMM_RA_UPD_ACK: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_RAU_ACK); + break; + case GSM48_MT_GMM_RA_UPD_REJ: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_RAU_REJ); + break; + } + } else { + /* Circuit Switched Domain (from MSC) */ + switch (gsm48_hdr_msg_type(gh)) { + case GSM48_MT_MM_LOC_UPD_ACCEPT: + /* FIXME: many LU are acknwoeldged implicitly with TMSI allocation */ + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_CS_LU_ACC); + break; + case GSM48_MT_MM_LOC_UPD_REJECT: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_CS_LU_REJ); + break; + } + } +} + +/*********************************************************************** + * UPLINK messages + ***********************************************************************/ + +void kpi_dtap_process_ul(struct hnbgw_context_map *map, const uint8_t *buf, unsigned int len, + uint8_t sapi) +{ + struct hnb_persistent *hnbp = map->hnb_ctx->persistent; + const struct gsm48_hdr *gh = (const struct gsm48_hdr *)buf; + if (len < sizeof(*gh)) + return; + + /* if you make use of any data beyond the fixed-size gsm48_hdr, you must make sure the underlying + * buffer length is actually long enough! */ + + if (map->is_ps) { + /* Packet Switched Domain (to SGSN) */ + switch (gsm48_hdr_msg_type(gh)) { + case GSM48_MT_GMM_ATTACH_REQ: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_ATT_REQ); + break; + case GSM48_MT_GMM_RA_UPD_REQ: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_PS_RAU_REQ); + break; + } + } else { + /* Circuit Switched Domain (to MSC) */ + switch (gsm48_hdr_msg_type(gh)) { + case GSM48_MT_MM_LOC_UPD_REQUEST: + HNBP_CTR_INC(hnbp, HNB_CTR_DTAP_CS_LU_REQ); + break; + } + } +}
View file
osmo-hnbgw_1.5.0.59.de99.202405142026.tar.xz/src/osmo-hnbgw/kpi_ranap.c -> osmo-hnbgw_1.5.0.61.a597.202405152026.tar.xz/src/osmo-hnbgw/kpi_ranap.c
Changed
@@ -165,6 +165,18 @@ } } +static void kpi_ranap_process_dl_direct_transfer(struct hnbgw_context_map *map, ranap_message *ranap) +{ + const RANAP_DirectTransferIEs_t *dt_ies = &ranap->msg.directTransferIEs; + uint8_t sapi = 0; + + if (dt_ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAPI_PRESENT) { + if (dt_ies->sapi == RANAP_SAPI_sapi_3) + sapi = 3; + } + kpi_dtap_process_dl(map, dt_ies->nas_pdu.buf, dt_ies->nas_pdu.size, sapi); +} + void kpi_ranap_process_dl(struct hnbgw_context_map *map, ranap_message *ranap) { switch (ranap->procedureCode) { @@ -174,6 +186,9 @@ case RANAP_ProcedureCode_id_Iu_Release: kpi_ranap_process_dl_iu_rel_cmd(map, ranap); /* IU RELEASE CMD (8.5) */ break; + case RANAP_ProcedureCode_id_DirectTransfer: + kpi_ranap_process_dl_direct_transfer(map, ranap); + break; default: break; } @@ -370,6 +385,24 @@ } } +static void kpi_ranap_process_ul_initial_ue(struct hnbgw_context_map *map, ranap_message *ranap) +{ + const RANAP_InitialUE_MessageIEs_t *iue_ies = &ranap->msg.initialUE_MessageIEs; + kpi_dtap_process_ul(map, iue_ies->nas_pdu.buf, iue_ies->nas_pdu.size, 0); +} + +static void kpi_ranap_process_ul_direct_transfer(struct hnbgw_context_map *map, ranap_message *ranap) +{ + const RANAP_DirectTransferIEs_t *dt_ies = &ranap->msg.directTransferIEs; + uint8_t sapi = 0; + + if (dt_ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAPI_PRESENT) { + if (dt_ies->sapi == RANAP_SAPI_sapi_3) + sapi = 3; + } + kpi_dtap_process_ul(map, dt_ies->nas_pdu.buf, dt_ies->nas_pdu.size, sapi); +} + void kpi_ranap_process_ul(struct hnbgw_context_map *map, ranap_message *ranap) { switch (ranap->procedureCode) { @@ -382,6 +415,12 @@ * processing of the downlink Iu Release Command. It's not like the RNC/HNB has any way to * refuse the release anyway. */ break; + case RANAP_ProcedureCode_id_InitialUE_Message: + kpi_ranap_process_ul_initial_ue(map, ranap); + break; + case RANAP_ProcedureCode_id_DirectTransfer: + kpi_ranap_process_ul_direct_transfer(map, ranap); + break; default: break; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.