aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-01-04src/common/rsl.c: log CRCX ACK lchan Tx completeosmith/abis-loadtest-202403osmith/abis-loadtest-202301Oliver Smith1-1/+12
We are trying to figure out if a network interface is blocking. Add another log message after the Tx is complete, so we see how long it takes. Change-Id: Iccea9acb7f1b8e4337f0d0808da4548301e4f30a
2023-01-03vty: Fix typo in write-config: osmux / local-portPau Espin Pedrol1-1/+1
The VTY command is "local-port", but write-config would write "port" instead, which would fail when re-reading the config file. Realted: SYS#6237 Change-Id: Id08530b626b0e69c3b3bb9d8bb9e16080a73e74d
2023-01-02osmo-bts: Transition to use of 'telnet_init_default'arehbein4-5/+4
Related: OS#5809 Change-Id: I2da7d7bf2b07b6736ab09a11ec37afc12f5ec075
2022-12-22ctrl: take both address and port from vty configMax3-7/+4
Change-Id: Ieca05004255c40287e6427560c2636b39529cf07
2022-12-21shutdown_fsm: Add power_ramp_force() to jump straight to the tgt powerDaniel Willmann6-10/+24
Both power_ramp_start() and power_ramp_force() are now small macros around _power_ramp_start() The new behavior is: * ramp down power when stopping bts through Ctrl-C * the other shutdown causes skip power ramping This will cause the bts to reconnect faster when the oml link is dropped and power ramping is enabled. Change-Id: Ida1d7bbf094958b9142af306dbf84206729a609e Related: SYS#6237
2022-12-21oc2gbts_mgr_calib: fix build against gpsd >= 3.20Oliver Smith1-0/+5
Fixes: OS#5832 Related: https://gitlab.com/gpsd/gpsd/-/blob/release-3.20/gps.h#L63 Change-Id: I6dc8ce303e5cb0fb412857a7f2c925e8cfe9b1e0
2022-12-19OML: NSVC[1] MO should have the same initial state as NVSC[0]Alexander Couzens1-1/+1
There is no reason why they should have different initial states. Keep it consistent with the other MOs. Change-Id: I9fd744ec79da9fc26d3ebe9857b2b0bbd5fcd1ff
2022-12-17Revert "shutdown_fsm: Only ramp down power when stopping bts through Ctrl-C"daniel4-9/+8
This reverts commit c96d34f8281a307f9e4cf6fd00adc6eba377012c. Reason for revert: This breaks ramping up power since the power ramp logic still assumes the output is full power. Change-Id: I47a16a4b3ba02d74473569c0f4350a41fc12a464
2022-12-15shutdown_fsm: Only ramp down power when stopping bts through Ctrl-CDaniel Willmann4-8/+9
For the other shutdown causes power ramping doesn't make sense. Instead shutdown quickly so we can reconnect faster Change-Id: I71c46478b8f3b236dba3e959fc75e58c0409517f Related: SYS#6237
2022-12-14pcuif_proto: use define constant to specify nax number of trxPhilipp Maier1-1/+2
The array of trx in gsm_pcu_if_info_ind can hold trx 8 items. Lets use a define constant to specify the size of that array. Change-Id: I5fdd5b9e59865fabd0340650ecb347d52208ebe9
2022-12-08l1sap: remove unused pointer variablePhilipp Maier1-2/+1
The pointer variable l1sap is only used to determine the size of the related struct but for nothing else. We can use the struct name in sizeof also directly and get rid of it. Change-Id: I93abdce1dec60d53ddceb1fce6e9e7451ba6283a
2022-12-08sched_lchan_tchf: replace numeric constant with define constantPhilipp Maier1-1/+1
An RFC 5993 HR GSM payload is 15 bytes long. That is GSM_HR_BYTES + 1 Change-Id: I7008ba7e50562e9366fd9ecc97e2e22fad4aa641
2022-11-21osmux: Use new osmux_xfrm_input API to set name on each linkPau Espin Pedrol1-0/+4
Change-Id: Iaea980a2e11282add12f9af585500d90f0462279 Depends: libosmo-netif.git Change-Id 8bb688e4827f345416c2a4526ced956a07fcc60b
2022-11-15osmux: Rotate over available Osmux CID when allocating a new onePau Espin Pedrol1-8/+28
Before this patch, the free CID with the smallest number was always selected to be used. This caused more or less the same subset of CIDs to be used all the time, while the CIDs with bigger numbers were mostly unused. Let's distribute the use so that all CIDs are used roughly the same. This has the advantage, among others, that the same CID will not be re-used immediatelly after being freed if a new call is established. It is useful to leave the CIDs unused for some time since the other end peer may know of the call being tear down with some delay. Hence if a new call is established immediately after the CID was released, the same CID would be allocated and passed at the peer, which would then detect that the old call (in its view still active) would already make use of that remote CID. Related: SYS#6161 Change-Id: I72803fb172accbabfc81923572890f8ecb06cefd
2022-11-11update outdated vty copyright statementHarald Welte1-1/+2
Change-Id: Ia12a012c229f883286e96a90132adcc5e8c0c5da
2022-11-06Update realtime scheduling priority in service fileMax5-5/+5
Related: OS#5687 Change-Id: I64a8c1e9c5b4ca7b51956d195964124d3a8ef768
2022-11-01osmo-bts-trx: drop ul_amr_fn_is_cmi() / dl_amr_fn_is_cmi()Vadim Yanitskiy3-350/+1
The scheduler is now using the lookup tables instead of these functions. The only part using them is the AMR unit test. Change-Id: I1a9c80dd12252e7befe9c9bc8e8f7ee8648b5465
2022-11-01osmo-bts-trx: use lookup tables for checking AMR CMI/CMR on DownlinkVadim Yanitskiy2-3/+30
Change-Id: I75ecf5369f31c8b8e9519d2b580355fa80c24196
2022-10-31pcuif_proto: cosmetic: add constant PCU_IF_NUM_NSVC and replace magic numbersPhilipp Maier1-5/+7
The number of NSVCs is fixed but lets not use magic numbers to define the sizes of the arrays that hold the config values. In osmo-pcu there is already a define constant, so lets use a define here as well. Change-Id: If7fa44abb86c18900110d7ee81fe6140c8c4635b
2022-10-29osmux: Fix null ptr dereference sending UL data before the remote is configuredPau Espin Pedrol1-0/+6
Related: SYS#6161 Change-Id: I5d7971c0ed9b22d35d8965af54031a43c6388762
2022-10-13osmo-bts-trx: respond to tx-attenuation config in real time.Keith1-6/+10
Some osmo-bts varieties have a method to make an immediate change to TX power from the vty. In osmo-bts-trx there does not seem to be any way, so lets start the power ramp loop when the parameter osmotrx tx-attenution is changed on a running TRX. Change-Id: I1fa5e8130202fb509593db4132863b762b0f40b7
2022-10-12rsl: use unsigned intPhilipp Maier2-3/+3
The parameter l3_len in rsl_tx_meas_res() is defined as int, even though it can't be negative. Lets use unsigned int for l3_len. Change-Id: I99068a36e74a557000f406154dce32300615086c
2022-10-12l1sap: do not call msgb_l2hlen without checkingPhilipp Maier1-2/+2
We request the length using msgb_l2len() in two locations where whe cannot be sure that l2h is populated. Lets check this first. Change-Id: Ie13d0724f183ff240714dcdbd24e5a21b4276bfe Related: OS#5645
2022-10-11measurement: do not call msgb_l3len without checkingPhilipp Maier1-1/+5
The function lchan_meas_handle_sacch() calls msgb_l3len without checking if l3h is even populated. Lets add a check to be sure. Change-Id: Ie5a9fe1ba880e68edb74f5f4ca559ac191330d4f
2022-10-04osmo-bts-trx: handle MTS 0b0110 indicating an Access BurstVadim Yanitskiy3-1/+11
The PCU may poll the MS requesting an ACKnowledgment message to be sent in form of four Access Bursts instead of Normal Bursts. The BTS has no prior knowledge of the Uplink burst type, so a new MTS value was specified in order to prevent the BTS from trying to decode Access Bursts as a PDTCH block. This patch implements parsing of the new MTS value 0b0110. Signalling RACH.ind to the PCU is to be implemented. Change-Id: I0fbb63006797e6be386d1f76ed97fff098c036fc Related: OS#4006, SYS#4794
2022-10-04osmo-bts-trx: rx_rach_fn(): properly detect handover RACHVadim Yanitskiy1-1/+1
Checking if (bi->chan != TRXC_RACH) is not enough to detect HANDOVER ACCESS. Receiving this message is only possible on CS channels. Change-Id: Ice1674fd4fed8c54d605ff19d568f6e46b4c5783
2022-10-04osmux: Close osmux socket when bts is freedPau Espin Pedrol1-3/+9
Related: SYS#5987 Change-Id: Ibd3faa33b28d45048c340b177f13d5685f41a784
2022-10-03osmux: Skip lchans in lookup which still have no remote associatedPau Espin Pedrol1-0/+2
Lchans which are marked as non-connected have not yet received information about its remote peer, hence they may not have some fields available yet. Let's skip them to avoid accessing such fields (lchan->abis_ip.osmux.in). Related: SYS#5987 Change-Id: Id53822c4a0486b0090df2db3d185e047d14fc90a
2022-10-03osmux: nullify osmux.rtpst after freeing itPau Espin Pedrol1-1/+3
Change-Id: I806cbe42cfc8fe59134ae842f3d7398acb1a1848
2022-10-03osmux: Lower log level when osmux batch received for unknown CIDPau Espin Pedrol1-1/+1
This is actually quite common, since our peer may be sending some osmux packets to us a while after we have closed the conn on our side, specially if latency is high in the network (eg satellite links). Related: SYS#598 Change-Id: I102047685b9b9f4cba43970945f955c4fe9c4c95
2022-10-03osmux: Log remote address upon rx of osmux pktPau Espin Pedrol1-2/+4
Related: SYS#5987 Change-Id: I391bc02a16eae1602680cb96128252f262852e14
2022-10-03osmux: Match remote address in osmux_lchan_find()Pau Espin Pedrol1-2/+7
Related: SYS#5987 Depends: libosmo-netif.git I95433b18802f73fa70e758f4aa02128eee940d88 Change-Id: I6813686b55fc3a74f1676a7965186e1e5fa00481
2022-09-29osmux: Drop logging of osmux internal countersPau Espin Pedrol1-7/+0
This way we have no more access to internal osmux structures. If those counters are needed in the future they can be counted by osmo-bts by means of adding rate counters to the caller of osmux_xfrm_input() and deliver_cb. Change-Id: Ib952437ea3aa2770c96bddb667491e7675a6a06e
2022-09-29Allocate struct osmux_in_handle through new libosmo-netif APIsPau Espin Pedrol2-13/+8
Depends: libosmo-netif.git I752ab031f935f04731bb1a354333f1682a1aa5bd Change-Id: I132a7c03213cb20dfe118616c8cfd7032b075507
2022-09-26pcu_sock: fix sourcecode formattingPhilipp Maier2-2/+2
Change-Id: Ib88173363fc11ad44a5bdbcd85ea8ca075db7997
2022-09-22vty: Print Osmux CID on lchans using OsmuxPau Espin Pedrol1-6/+12
Related: SYS#5987 Change-Id: Ide6edefda828e9ce04fbb60cf547857f322d5f40
2022-09-22vty: Fix SPEECH_MODE printed with hex prefix but dec valuePau Espin Pedrol1-1/+1
Change-Id: I597ff582f47b00d895611eae8a810fe3ebfe8339
2022-09-20lchan: Reset Abis RTP/Osmux config during lchan releasePau Espin Pedrol1-0/+2
Otherwise some shared variables used by both Osmux and RTP was left set, like connect_ip and connect_port, and next time the lchan was selected, those were already configured even if they didn't come in IPAC CRCX. This is specially bad if the channel was reused to set up an Osmux call, since the osmux code path relied on those fields being properly reset until set by IPAC CRCX. Change-Id: I414bd0bc801451357bb45b89197a95e51b7c97f1
2022-09-20osmux: Log sendto() errorPau Espin Pedrol1-1/+8
Change-Id: I195ebe0fdb05195a7f3b1390630e83084b5dea3a
2022-09-16abis: Avoid TCP/IPA RSL sockets continue conn establishment while shutting downPau Espin Pedrol2-0/+9
when something fails in osmo-bts during startup and it goes into SHUTDOWN state, it is desirable to close new RSL links (sockets) which are in progress to connect, while it waits for a while to complete shutdown (power ramping down, etc.). This way we don't end up with new interactions and new state against a BSC if we are shutting down. The new libosmo-abis API is used since the higher layer struct e1inp_sign_link assigned to each struct gsm_bts_trx is not provided to the osmo-bts code layer by libosmo-abis API until the TCP+IPA handshake in the socket becomes fully established (sign_link_up() callback). Depends: libosmo-abis.git Ia6418321f3b6f1f7274efd414625a4b10a09a362 Change-Id: I599d074f51f490b43c9a89b105d1823391926947
2022-09-16Document realtime options in .service unitsMax5-5/+15
It's not immediately obvious what numeric values mean for CPU scheduling policy. Let's document this and add doc reference. Related: OS#4107 Change-Id: Ib047762a336851e6205d77c83068a99d8a868e8b
2022-09-14Don't manually create pid fileMax3-23/+0
Previously osmo-bts created /var/run/osmo-bts.pid which isn't used by anything and makes it hard to run as non-root user. Let's get rid of this pre-systemd relic. Related: OS#4107 Change-Id: I86bcaedbc8cb1297476ad741eaa45585fea3c380
2022-09-13Introduce Osmux supportPau Espin Pedrol21-44/+893
Related: SYS#5987 Requires: libosmo-netif.git Change-Id I632654221826340423e1e97b0f8ed9a2baf6c6c3 Change-Id: Ib80be434c06d07b3611bd18ae25dff8b14a7aad9
2022-09-12oc2g: Makefile.am Fix typo in LIBOSMONETIF_LIBSPau Espin Pedrol1-1/+1
Change-Id: I6d316ffaff0ad7881b694f4d6427434bb9a0684c
2022-09-12tests/*/Makefile.am: Add missing libosmo-netif cflagsPau Espin Pedrol2-0/+4
Change-Id: I7a2a846c2d68a4d6d77c4be62969238069d6cf95
2022-09-12tests/*/Makefile.am: Fix typo in LIBOSMONETIF_CFLAGSPau Espin Pedrol7-7/+7
Change-Id: I29d52bdacdebc0495d11425399e796fa7aef3ac4
2022-09-09Set working directory in systemd service fileMax8-0/+16
By default systemd will execute service with root directory (or home directory for user instance) which might result in attempts to create files in unexpected place. Let's set it to 'osmocom' subdir of state directory (/var/lib for system instance) instead. Related: OS#4821 Change-Id: I4b7bcd441e5da81c4c5267715675041171a1ce1e
2022-09-07Clarify RTP AMR header offset in TCH enc/decPau Espin Pedrol2-12/+18
This helps understand the origin/purpose of those 2 bytes and what's contained in them. Related: SYS#5987 Change-Id: I607fdf6d627242e010fba35be1b9b0ffde820d08
2022-09-06Depend on libosmo-netifPau Espin Pedrol26-0/+44
This library will be used soon when adding Osmux support to osmo-bts. Furthermore, it nice to have it available to make use of other general interfaces to create connections, primitives, RTP and AMR related functionalities, etc. Related: SYS#5987 Change-Id: I49db4de715065c083e1249cbeae6298d6868e229
2022-09-01cosmetic: Fix formatting of if-else block bracketsPau Espin Pedrol2-4/+6
Change-Id: Ifec6674ba04109f6b8a039679caff08f060d83d9