osmo-pcu/src
Pau Espin 5557c0af80 Support Neighbor Address Resolution over PCUIF IPA multiplex
While NACC was initially developed, it became clear there was need for
a way to interact PCU<->BSC in order resolve ARFCN+BSIC into CGI-PS
for later RIM usage.
Hence, this resolution was first (until today) implemented using an out
of bands RPC system using the CTRL interface, which required specific
config to be written and matches in osmo-pcu and osmo-bsc VTY (ip+port
of the CTRL interface to use).
However, this has several shortcomings:
* As explained above, specific configuration is required
* Since recently, we do support BSC redundancy in osmo-bts. Hence the BTS
  may switch to a BSC other than first one. If that happened, that'd mean
  the CTRL interface would still point to the initially configured one,
  which may not be the same currently serving the PCU.

During recent development of ANR related features, a similar need for
PCU<->BSC was required, but this time it was decided to extend the IPA
multiplex of the Abis OML connection to pass PCUIF messages,
transparently forwarded to each side by the BTS.
This has the advantage that connection PCU<->BTS is handled by BTS and
both sides send messages transparently.

Let's switch by default to using this new interface, while still
maintaing the old way for a while (announcing them as deprecated) to
avoid breaking existing deployments until they are upgraded to new
versions of osmo-pcu and osmo-bsc.

Related: SYS#4971
Change-Id: I6ad33c7ab10202840cf804dea9ba595978d0e920
2021-09-13 13:31:06 +02:00
..
osmo-bts-litecell15 direct_phy: Fix condition dropping rx DATA.ind payload in in 2021-03-18 14:03:35 +01:00
osmo-bts-oc2g direct_phy: Fix condition dropping rx DATA.ind payload in in 2021-03-18 14:03:35 +01:00
osmo-bts-sysmo cosmetic: sysmo: Drop unneded comment line 2021-08-31 14:53:10 +02:00
.gitignore Adding .gitignore to source directory 2012-06-27 17:45:15 +02:00
Makefile.am Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
bts.cpp Add stats: pcu.bts.N.pdch.available/occupied 2021-09-06 09:11:47 +00:00
bts.h Add stats: pcu.bts.N.pdch.available/occupied 2021-09-06 09:11:47 +00:00
bts_pch_timer.c bts: delete pch_timer list in destructor 2021-08-23 14:51:18 +02:00
bts_pch_timer.h bts: delete pch_timer list in destructor 2021-08-23 14:51:18 +02:00
coding_scheme.c Fix mcs_is_valid(): UNKNOWN value is not a valid (M)CS 2020-11-05 15:48:04 +01:00
coding_scheme.h Move dl_arq_type field from BTS to PCU 2021-01-18 11:54:53 +01:00
csn1.c csn1: Implement CSN_CALLBACK type in encoder 2021-05-28 18:42:42 +02:00
csn1.h csn1: fix: never use enumerated types in codec structures 2020-05-23 19:26:58 +07:00
cxx_linuxlist.h llist: Add missing const qualifier in llist cast method 2015-08-24 12:23:50 +02:00
decoding.cpp Get rid of lots of code only used by tests 2021-08-23 17:14:23 +02:00
decoding.h Get rid of lots of code only used by tests 2021-08-23 17:14:23 +02:00
egprs_rlc_compression.cpp Clean false positive in newer GCC version checking guard of else clause 2021-05-19 11:58:57 +02:00
egprs_rlc_compression.h egprs_rlc_compression: fix white spaces 2019-06-17 02:04:09 +02:00
encoding.cpp Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
encoding.h Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
gprs_bssgp_pcu.c Add counters: pcu.sgsn.N.rx_paging_{cs,ps} 2021-08-10 10:35:18 +00:00
gprs_bssgp_pcu.h Add counters: pcu.sgsn.N.rx_paging_{cs,ps} 2021-08-10 10:35:18 +00:00
gprs_bssgp_rim.c RIM: Refactor Rx path to decode stack in proper order 2021-05-17 14:21:21 +02:00
gprs_bssgp_rim.h Initial handling support for RIM messages 2021-01-22 16:37:12 +01:00
gprs_codel.c Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere 2020-03-16 10:31:56 +00:00
gprs_codel.h Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere 2020-03-16 10:31:56 +00:00
gprs_debug.cpp Introduce NACC support 2021-01-29 12:59:30 +01:00
gprs_debug.h Introduce NACC support 2021-01-29 12:59:30 +01:00
gprs_ms.c Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" 2021-08-23 17:14:17 +02:00
gprs_ms.h tbf: Move existing tbf_state implementation to osmo_fsm 2021-05-19 12:50:25 +02:00
gprs_ms_storage.cpp Unify BTS into a C usable structure 2021-01-19 16:28:10 +01:00
gprs_ms_storage.h Unify BTS into a C usable structure 2021-01-19 16:28:10 +01:00
gprs_pcu.c Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
gprs_pcu.h vty: Add configuration for Gb DSCP and socket priority 2021-04-29 22:13:05 +02:00
gprs_rlcmac.cpp Add counters: pcu.bts.N.pch.requests.timeout 2021-08-11 13:42:30 +02:00
gprs_rlcmac.h Remove uneeded ms param from alloc_algorithm_func_t func 2021-02-26 11:50:21 +01:00
gprs_rlcmac_meas.cpp pdch: rcv pkt meas rep: Allocate MS object early in path and use it 2020-08-24 07:50:49 +00:00
gprs_rlcmac_sched.cpp sched: Lower log level of RTS on disabled pdch 2021-08-31 16:50:35 +02:00
gprs_rlcmac_ts_alloc.cpp tbf: Use type bool for upgrade_to_multislot 2021-08-23 17:14:23 +02:00
gsm_rlcmac.c gsm_rlcmac.c: Fix arg list of 2 callbacks 2021-05-28 18:42:42 +02:00
gsm_rlcmac.h gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance 2020-08-24 10:53:08 +00:00
llc.cpp llc: use memset to fill llc dummy frame padding 2021-03-02 12:28:32 +01:00
llc.h Unify BTS into a C usable structure 2021-01-19 16:28:10 +01:00
mslot_class.c mslot_class: two more: use uint32_t to shift 1 << 31 2018-03-28 14:44:47 +02:00
mslot_class.h Simplify TS alloc: move slot check into functions 2018-02-21 12:08:40 +00:00
nacc_fsm.c Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
nacc_fsm.h Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
neigh_cache.c nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_RESOLVE_RAC_CI 2021-02-11 13:17:16 +01:00
neigh_cache.h nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_RESOLVE_RAC_CI 2021-02-11 13:17:16 +01:00
osmobts_sock.c pdch: Fix heap-use-after-free in pdch->ulc 2021-07-01 13:09:10 +02:00
pcu_l1_if.cpp Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
pcu_l1_if.h Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
pcu_main.cpp gprs_ns2: migrate to the new vty syntax 2021-01-28 19:55:14 +01:00
pcu_utils.h pdch_ulc: Support picking RRBP other than N+13 2021-03-31 17:39:50 +02:00
pcu_vty.c Support Neighbor Address Resolution over PCUIF IPA multiplex 2021-09-13 13:31:06 +02:00
pcu_vty.h vty: add attributes to VTY commands indicating when they apply 2020-10-08 07:16:31 +00:00
pcu_vty_functions.cpp Move NULL and ASSIGN tbf_state transition to tbf_fsm 2021-08-23 17:14:21 +02:00
pcu_vty_functions.h Rename 'bts_data' leftovers to 'bts' 2021-01-19 16:28:13 +01:00
pdch.cpp Add stats: pcu.bts.N.pdch.available/occupied 2021-09-06 09:11:47 +00:00
pdch.h pdch: Fix heap-use-after-free in pdch->ulc 2021-07-01 13:09:10 +02:00
pdch_ul_controller.c pdch: Log pdch_ulc reason upon rx of pkt ctrl ack 2021-06-07 18:16:55 +02:00
pdch_ul_controller.h pdch: Log pdch_ulc reason upon rx of pkt ctrl ack 2021-06-07 18:16:55 +02:00
rlc.cpp Unify BTS into a C usable structure 2021-01-19 16:28:10 +01:00
rlc.h rlc.h: Fix struct bit fields on big endian systems 2021-02-04 12:59:40 +01:00
sba.c sba: Drop unused function find_sba_rts 2021-04-22 19:46:54 +02:00
sba.h sba: Drop unused function find_sba_rts 2021-04-22 19:46:54 +02:00
tbf.cpp tbf: Move T3193 to tbf_state FSM 2021-08-23 17:14:23 +02:00
tbf.h tbf: Move T3193 to tbf_state FSM 2021-08-23 17:14:23 +02:00
tbf_dl.cpp fix typo 's/dowlink/downlink/g' 2021-08-23 17:14:23 +02:00
tbf_dl.h Simplify tbf::set_polling() 2021-08-23 17:14:23 +02:00
tbf_dl_ass_fsm.c Simplify tbf::set_polling() 2021-08-23 17:14:23 +02:00
tbf_dl_ass_fsm.h replace dl_ass_state with osmocom FSM 2021-08-23 17:14:22 +02:00
tbf_fsm.c fix typo 's/dowlink/downlink/g' 2021-08-23 17:14:23 +02:00
tbf_fsm.h tbf: Move T3193 to tbf_state FSM 2021-08-23 17:14:23 +02:00
tbf_ul.cpp Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
tbf_ul.h Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
tbf_ul_ack_fsm.c Simplify tbf::set_polling() 2021-08-23 17:14:23 +02:00
tbf_ul_ack_fsm.h Move tbf ul_ack_state to osmocom FSM 2021-08-23 17:14:23 +02:00
tbf_ul_ass_fsm.c Simplify tbf::set_polling() 2021-08-23 17:14:23 +02:00
tbf_ul_ass_fsm.h Replace ul_ass_state with osmocom FSM 2021-08-23 17:14:22 +02:00
wireshark_compat.h Move gsm_rlcmac.cpp -> .c 2020-03-30 10:08:02 +00:00