aboutsummaryrefslogtreecommitdiffstats
path: root/TODO-RELEASE
AgeCommit message (Collapse)AuthorFilesLines
2023-02-20Move libosmogsm TS 44.060 declarations under include/osmocom/gsm/Pau Espin Pedrol1-0/+1
Currently there's a big mess where include dir osmocom/gprs/ is used by both libosmogsm and libosmogb. Most of the header files under osmocom/gprs/ are actually all the headers of libosmogb (there's no osmocom/gb/ dir). But a couple files are actually RLC/MAC (TS 44.060) related are are also stored in there. Those files have no relation/use in Gb, and are actually interused with GSM (eg System Information 13 Rest Octets). Hence, it makes sense to have the RLC/MAC related parts inside osmocom/gsm/ as they should be in libosmogsm (and they actually are, see gprs_rlc.h function implemented in src/gsm/gsm48_rest_octets.c). The fact that some libosmogsm headers were placed in osmocom/gprs instead of osmocom/gsm already created some issues, like libosmocore.spec.in putting "%_includedir/%name/osmocom/gprs/" under libosmogb, which is wrong. As a first step to fix the mess, we move the 2 RLC/MAC headers currently under osmocom/gprs/{gprs_rlc,protocol/gsm_04_60}.h under a single header gsm/protocol/gsm_44_060.h The two old headers are left existing for backward compatibility and now simply include the new libosmogsm header, plus a warning asking users to switch to the new header so we can eventually get rid of them. This means libosmogb depends on libosmogsm, which is fine and was already the case beforehand (libosmogb using functions like gsm48_encode_ra() and linking against it in src/gb/Makefile.am). Change-Id: I70cc21bf25a7081070738abacb409ed19094c3b2
2023-02-07Bump version: 1.7.0.119-b31a-dirty → 1.8.01.8.0osmith/1.8.1Pau Espin Pedrol1-5/+0
Change-Id: I5e953cedc041371a9c192f58348b673a787f542e
2023-01-25Introduce tundev APIPau Espin Pedrol1-0/+1
The data structre is held private so that it can be easily extended in the future. Change-Id: I6f8324da9ba49b9249682e2ec5b45297f18dd8c2
2023-01-25Introduce netdev APIPau Espin Pedrol1-0/+1
This module provides several operations on network devices (interfaces), like monitoring changes, setting addresses, routes, link state, etc. It also supports managing network interfaces on several different netns concurrently. These functionalitites will be used by the tun module included in a follow-up patch. Change-Id: I7a00c0445a89e088676a4897061b65196d9197f1
2023-01-24Introduce netns APIPau Espin Pedrol1-0/+1
Write a new API and implementation to manage network namespace related operations. This will be used by the upcoming tundev module. Change-Id: I0f2fba2fa42250a07211a7b7f479498f27c529da
2023-01-17socket.h: Introduce API osmo_sockaddr_netmask_to_prefixlen()Pau Espin Pedrol1-1/+1
Implementation is imported from osmo-ggsn.git 97f60e3dca581797007524e0006ca9fafad59713 in46a_netmasklen() and adapter to work with an osmo_sockaddr. This will be used by osmocom-bb's "modem" app. Change-Id: I75e75e251c6776801fffdde745aebedf21c68799
2022-10-16logging.h: Allocate DLM2PA and DLM2UA for libosmo-sigtranHarald Welte1-1/+2
Change-Id: I106b7586bfe8ee03c052b6f8b33da4c466e05abd
2022-10-04socket: Introduce API osmo_sockaddr_is_anyPau Espin Pedrol1-0/+1
Change-Id: I2810a889fc14052d0e0be6a2b500ad4e5088ffa9
2022-06-28Bump version: 1.6.0.132-0239-dirty → 1.7.01.7.0Pau Espin Pedrol1-6/+0
Change-Id: Idb0d20aa4336a69cb100e140fb1fa9e7ac25b984
2022-06-09cbsp: Add enum and value string for CausePau Espin Pedrol1-0/+1
Change-Id: I35592bb4fff2e7b442d0e0cd537b66687862baf2
2022-05-25iuup: Rework API to support RFCI IDs != RFCI indexPau Espin Pedrol1-0/+1
The initially merged IuUP API and implementation assumed that RFCI with ID was always in the position of its ID inside the list of RFCIs. This was the case for messages sent by ip.access nano3g as well as our own osmocom implementation. However it was noticed that other nodes from other vendors actually use other order, as allowed by the IuUP message format. Hence, we need to break the assumption and provide explicit ID information in the list. NOTICE: This commit breaks API and ABI compatibility with older versions of libosmogsm, but not with any previous release of libosmocore since the API is only available in master so far (it was added in 9fe1f9fb0b3197cdecaa55017d3afd7355e59c36). Similary, it's only user (osmo-mgw) only uses the API in master, so there's no API breakage with older releases. Related: SYS#5969 Change-Id: Ib21cee2e30bf83dff4e167f79541796007af9845
2022-04-26gsm: Introduce helper rach_tx_integer_raw2val()Pau Espin Pedrol1-0/+1
Change-Id: I6ef085ee92b2064cb46fa5ec3ae98a0ca59ad599
2022-03-30bssgp_bvc_fsm: Add a hook to notify when a reset was acknowledgedDaniel Willmann1-0/+1
There are cases where we want to be notified of a successful BVC reset, e.g. for a signalling because we can then start resetting the PtP-BVCs. With this hook it's now possible to do that. Change-Id: If240dd13f0f674693018c93390386b2c8afb97af Related: SYS#5908
2022-02-28BSSAP: HO Request Ack: add missing Codec List (BSS Supported)Neels Hofmeyr1-0/+1
Related: SYS#5839 Related: I3c0576505a3ceb3cd5cc31dc69c5bc4a86a4ea08 (osmo-bsc) Change-Id: Iab0a7b4d81592157fc111d1adb9e9f4cb53a94e9
2022-02-16gsm: [ABI BREAK] Support CellId SAI, change CellId CGI-PS id numberPau Espin Pedrol1-0/+1
Those are available in 3GPP TS 48.008 version 16.0.0 Release 16, section 3.2.2.17 Cell Identifier. It can be seen that we have a collision between the osmocom non-standard format and the SAI standard one. This is because CGI-PS is not really a TS 48.008 Cell Identifier, but only specified in TS 48.018 and has no ID number assigned. The CGI-PS was added there because the whole osmo-bsc neighbour configuration works with CellIds to manage neighbours, so it felt natural to extend the APIs to also provide means to use CGI-PS format (TS 48.018 even refers 48.008 existance and mentions there's no explicit ID). At the time this Cell Identifier was added, the firstly available number (11) was taken, which was of course a really bad idea since newer versions of the spec can at some point use it, which is the case if one checks for instance TS 48.008 Release 16 SAI Cell Id. There no perfect way to fix this bad decision at the time, but the CGI-PS is only used in osmo-bsc and only for RIM related purposes, so by changing the ID of CELL_IDENT_WHOLE_GLOBAL_PS, we only break RIM under some specific CIs being used, and when an osmo-bsc is built against older libosmocore and then used at runtime against a newer libosmocore (which should be rare). Hence, the downside is acceptable, and by moving the new ID number to be ouside of the spec proto TS 48.008 range (4 bits), we make sure we don't have the same problem again in the future. Related: SYS#5838 Fixes: ca33a71ca8eeaee98b1b53d5394b147a4ff0b429 Change-Id: Id25e563febdb7640174540136225f399515a0089
2021-11-16Bump version: 1.5.1.282-ab5e-dirty → 1.6.01.6.0Pau Espin Pedrol1-14/+0
Change-Id: Ia3ac0a36b9e898996f596c6d2787e03cd59bfc11
2021-09-30refactor stat_item: report only changed valuesNeels Hofmeyr1-0/+1
Change the functionality of skipping unchanged values: instead of looking up whether new values have been set on a stat item, rather remember the last reported value and skip reporting identical values. stats_test.c shows that previously, a stat item reported a value of 10 again, even though the previous report had already sent a value of 10. That's just because the value 10 was explicitly set again, internally. From a perspective of preserving all data points, it could make sense to send consecutive identical values. But since we already collapse all data points per reporting period into a max, that is pointless. Related: SYS#5542 Change-Id: I8f4cf34dfed17e0879716fa2cbeee137c158978b
2021-09-30refactor stat_item: get rid of FIFO and "skipped" errorNeels Hofmeyr1-1/+5
Intead of attempting to store all distinct values of a reporting period, just store min, max, last as well as a sum and N of each reporting period. This gets rid of error messages like DLSTATS ERROR stat_item.c:285 num_bts:oml_connected: 44 stats values skipped while at the same time more accurately reporting the max value for each reporting period. (So far stats_item only reports the max value; keep that part unchanged, as shown in stats_test.c.) With the other so far unused values (min, sum), we are ready to also report the minimum value as well as an average value per reporting period in the future, if/when our stats reporter allows for it. Store the complete record of the previous reporting period. So far we only compare the 'max' value, but like this we are ready to also see changes in min, last and average value between reporting periods. This patch breaks API by removing: - struct members osmo_stats_item.stats_next_id, .last_offs and .values[] - struct osmo_stats_item_value - osmo_stat_item_get_next() - osmo_stat_item_discard() - osmo_stat_item_discard_all() and by making struct osmo_stats_item opaque. In libosmocore, we do have a policy of never breaking API. But since the above should never be accessed by users of the osmo_stats_item API -- or if they are, would no longer yield useful results, we decided to make an exception in this case. The alternative would be to introduce a new osmo_stats_item2 API and maintaining an unused legacy osmo_stats_item forever, but we decided that the effort is not worth it. There are no known users of the removed items. Related: SYS#5542 Change-Id: I137992a5479fc39bbceb6c6c2af9c227bd33b39b
2021-08-20stats: send real last value if no new values comeOliver Smith1-0/+1
Background: * Individual values can be added to osmo_stat_item.values at any time. * Stats are reported at a fixed interval (see vty 'stats interval'), e.g. every 10 seconds. * In order to report a new stat value, we use the maximum of all osmo_stat_item.values added since the last report. * By default, we do not send new stat values if they did not change (see vty 'config-stats' -> 'flush-period' default of 0). Fix the following bug: * If 'flush-period' is 0, and no new osmo_stat_item.values are coming in, the last value that gets reported is not necessarily the last entry in osmo_stat_item.values. * For attached reporters (statsd), it could then be that the given stat stays at the wrong value for a long stretch of time (think of several hours/days/forever). Explanation of how the test shows that it is fixed: * stats get reported (value is irrelevant) * osmo_stat_item gets a new value: 20 * osmo_stat_item gets a new value: 10 * stats get reported (value: 20, the maximum of both new values) * osmo_stat_item gets no new values * stats get reported (value: 10, this is new because of the bug fix, the real last value in osmo_stat_item, different from the 20 sent earlier, without the fix it would not send anything here and the last sent value would be 20) * osmo_stat_item gets no new values * stats get reported (nothing gets sent, since the real last value was already sent and 'flush-period' is 0) Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe
2021-06-08kdf: add key derivation functionsEric1-0/+1
generic sha code from git://w1.fi/hostap.git commit 5ea93947ca67ba83529798b806a15b247cdb2e93 which also happens to be the source of our milenage code. Related: SYS#5324 Change-Id: Ibf2e49edada944d91ceba62bd0d6b6ce69261fcd
2021-06-05stat,rate_ctr: Allow setting group name and use it at report timePau Espin Pedrol1-0/+1
This patch adds a new field "name" to the rate_ctr and osmo_stat_item_group structs, together with an API to set it. This new field allows for easy identification of specific group instances when several of them exists, rather than using a sometimes random/increasing index value. If set, this name (string) is used instead of the index by the stats reporter. The name, if set, is also printed during "show stats" VTY commands. It's up to the user or application to set up unique or meaningful names to fullfill one's needs. WARNING: this commit breaks ABI and possibly creates unexpected behavior when run with non-rebuilt apps which use the modified structs directly to get the coutners, or if use the static inline API rate_ctr_inc2(). Existing users of these structs should migrate to use new APIs introduced in follow-up commits instead of accessing the field directly. Related: SYS#5456 Change-Id: I0dc510783dd9ae8436dae8005a7b3330e80d36f3
2021-06-01sim: Add osim_card_{reset,close}() APIHarald Welte1-0/+1
This is required to reset and close a card under software control after opening it with osim_card_open() Change-Id: Ie9ec66db4d54fdb1331f4ae05ca3ca4274912e9d
2021-05-18vty: Introduce API vty_read_config_filepPau Espin Pedrol1-0/+1
This new API doesn't use host_config_set(), and allows passing a FILE* from any source, not only a filesystem path. Related: SYS#5369 Change-Id: I720ac04386261628c0798a1bfcaa91e2490a86c3
2021-04-28fix default_timeout type of osmo_tdef_fsm_inst_state_chg default_timeoutNeels Hofmeyr1-0/+1
The api doc indicates the possibility to pass -1, and calling osmo_tdef_get() actually casts the arg to a signed long. To end the confusion, change default_timeout from unsigned long to long. Change-Id: I51b9172603984839448346c9836e43c8c802fcf8
2021-04-25sim: Obtain card ATR when opening the cardHarald Welte1-0/+1
Change-Id: I42e387535c40f371b06f384af0ca5dc1e42ed00e
2021-04-21gsm0808: Introduce gsm0808_old_bss_to_new_bss_info_att_tlvdefPau Espin Pedrol1-1/+1
Introduce TLV attribute definition for "Old BSS to New BSS Information" container. Related: SYS#5337 Change-Id: I0e55e947b6fef6dad0cf1a6c16b781bef4cc76c5
2021-04-19gsm: Support Sending Last EUTRAN PLMN Id in Handover RequiredPau Espin Pedrol1-0/+1
Related: SYS#5337 Change-Id: I6280ce1abc283f1491bc6f391b2dd952df33a16b
2021-03-05TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next releaseHarald Welte1-0/+1
We've used up all but one "library reserved" VTY nodes at this point, and we should definitely add some more reserved nodes in the next libosmovty ABI version / release. Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf
2021-02-23Bump version: 1.4.0.535-e387-dirty → 1.5.01.5.0Pau Espin Pedrol1-7/+0
Change-Id: I3bc0826c0000be4d76235ed6b5be86d216ea2e4d
2021-01-22gsm: Introduce osmo_{rai,cgi_ps}_cmp() APIsPau Espin Pedrol1-0/+1
Similar to what we already have for other data types, such as osmo_lai_cmp or osmo_cgi_cmp. Change-Id: I00e329bc5be8674b30267dec238e7656ddfc21db
2021-01-06ctrl: Allow handling CTRL get/set replies in user defined codePau Espin Pedrol1-0/+1
Prior to this patch, it was not possible to gather SET/GET reply information when implementing a CTRL client using libosmocontrol. This is specially important when using the GET command, since one wants to receive the queried value. CTRL traps can also be handled this way by extending this patch in the future if needed. Change-Id: Id3c4631cd32c13e78e11b6e8194b8c16307ec4f1
2021-01-03gsm_08_58: add flexible array member to 'struct ipac_preproc_ave_cfg'Vadim Yanitskiy1-0/+1
Some averaging methods may have additional parameters, so let's make it easier to access them for the API user. Change-Id: I2f4ed56837dd479dbbd10c0a7df0ed7565d3946a Related: SYS#4918
2020-12-17GPRS Cell Options (SI13): Add REL-4 CCN_ACTIVE bitPau Espin Pedrol1-0/+1
This is required in order to tell MS that osmo-pcu now supports Network Assisted Cell Change (NACC). Related: SYS#4909 Change-Id: I2aaa8c1107c977f711c2d7530034f57e36e3a237
2020-09-20vty: add program specific attributes to VTY commandsVadim Yanitskiy1-0/+2
Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937
2020-08-26gsm0808: add gsm0808_create_sapi_reject_cause()Vadim Yanitskiy1-0/+1
This is basically a successor of gsm0808_create_sapi_reject(), but instead of hard-coding GSM0808_CAUSE_BSS_NOT_EQUIPPED, it allows the caller to specify a cause value to be used. The old function is now deprecated and should not be used. Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b Related: OS#4728
2020-08-13Bump version: 1.3.0.173-51974 → 1.4.01.4.0Harald Welte1-10/+0
Change-Id: I4fc6dd4f727c8ff5a64865bbb87e1d9feb7c5174
2020-07-17stat_item: Add function to reset stat items and groupsDaniel Willmann1-0/+1
Change-Id: I80fc0ea8865ec4efdcd4c982e69d863275fd9919 Related: SYS#4877
2020-07-17rate_ctr: Add functions to reset rate counter (groups)Daniel Willmann1-0/+1
Change-Id: If2f806d044cd0fb6929dac44ef8f8a15941ffe9b Related: SYS#4877
2020-06-26gprs_bssgp: Add bssgp_tx_bvc_reset2()Harald Welte1-0/+1
If a BVC-RESET is sent from SGSN, there must not be a cell ID IE included. See "Note 1" of TS 48.018 Section 10.4.12. Change-Id: I11d4e70d510265b9c09dffccdab10b3f0816715a
2020-06-21gsm0808: Add gsm0808_create_common_id()Harald Welte1-0/+1
This function encodes a GSM 08.08 / 48.008 "Common ID" message. Change-Id: I353adc1aa72377f7d4b3336d2ff47791fb73d62c Related: OS#2969
2020-06-08lapd/lapdm: print user-defined string name instead of (dl=%p)Harald Welte1-0/+1
At the moment we print the pointer address to identify the log lines belonging to a specific connection. Since pointer addresses are difficult to work with, a human readable ID should be printed instead. e.g. "This is LAPD instance for SAPI3 on bts0/trx1/ts5/lchan3" Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Closes: OS#1938
2020-06-08NS: replace use of gprs_nsvc_create() with gprs_nsvc_crate2()Harald Welte1-0/+1
Change-Id: I2b10e1707b0976b685d1c14016481d5565888150
2020-05-31bts_features: introduce osmo_bts_unset_feature()Vadim Yanitskiy1-0/+1
This function may be useful in a case when most of the BTS models do support some feature, but just a couple models do not. It's much easier to unset that feature 2/10 times than set it 8/10 times individually for each BTS model. Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Related: I431c8ab9478cbc40179903edc21043623d805da1
2020-05-05sim: When decoding SW, take application specific SW into accountHarald Welte1-0/+1
So far we only looked at SW definitions of the card profile. However, if we have a currently selected application, we also must check that application for SW definitions. This breaks ABI and API all over the place, but as there are no known users beyond osmo-sim-test, this is acceptable. Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1
2020-03-21sim: add osim_file_desc_find_aid()Harald Welte1-1/+2
Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f
2020-01-07l1sap: add measurement related struct membersPhilipp Maier1-0/+1
In order to dissolve info_meas_ind_param in ph_data_param and ph_tch_param we need to add the measurement related struct members to ph_data_param and ph_tch_param as well so that those indications can also carry measurement data. Change-Id: I2c34b02d329f9df190c5035c396403ca0a4f9c42 Related: OS#2977
2020-01-02Bump version: 1.2.0.108-c6a8-dirty → 1.3.01.3.0Pau Espin Pedrol1-8/+0
Change-Id: I5698bfe45467a8b0e44549105aaf27b8da500de8
2019-11-24osmo_sockaddr_str: deprecate osmo_sockaddr_str_*_32n()Neels Hofmeyr1-0/+4
Follow up for patch I3cf150cc0cc06dd36039fbde091bc71b01697322 osmo_sockaddr_str_{from,to}_32n actually use host byte order. Deprecate these and introduce a more accurately named version ending in h. Change-Id: Ic7fc279bf3c741811cfc002538e28e8f8560e338
2019-11-09GPRS/BSSGP: introduce bssgp_bvc_ctx_free()Vadim Yanitskiy1-0/+1
So far we had a function to allocate a new bssgp_bvc_ctx, but not the opposite one. Let's finally introduce it, so it will be used at least in OsmoPCU. Please note that the new symbol has 'bssgp_' prefix, not 'btsctx_'. Change-Id: Ia78979379dbdccd6e4628c16f00d0c06d9212172
2019-11-03gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass()Pau Espin Pedrol1-0/+1
Related: OS#4244 Change-Id: I32e9cc1c2397b44f0d48db2acdf782a821365b63