Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27557 )
Change subject: osmo-bts-trx: rx_{tchh,tchf}_fn(): use AMR CMI lookup tables
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27557
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I46def864729c8f9063af201750456771ea5558d5
Gerrit-Change-Number: 27557
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 13:09:17 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27556 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): get TDMA FN from meas history
......................................................................
Patch Set 1:
(1 comment)
File src/osmo-bts-trx/sched_lchan_tchh.c:
https://gerrit.osmocom.org/c/osmo-bts/+/27556/comment/3ee5ff46_41f0db29
PS1, Line 169: histort
> history
(nvm, this comment gets removed again in the next patch anyway)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27556
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Id9a2b7b0f1a1ad7cfbbab862faf521e135c90605
Gerrit-Change-Number: 27556
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 13:08:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27555 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): ensure complete set of bursts
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27555
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I56bebe1374eb803e3c1e9f08dda4da50a074ab0b
Gerrit-Change-Number: 27555
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 13:01:27 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27553 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): also use meas_avg for BFI
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27553
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I23f767364a018d30d04885990adf69b50b2c9738
Gerrit-Change-Number: 27553
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 12:56:08 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27552 )
Change subject: osmo-bts-trx: rx_tchh_fn(): get rid of chan_state->meas_avg_facch
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27552
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I7902b4709bc3f418174e8373f52e87bb31cdc826
Gerrit-Change-Number: 27552
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 12:49:08 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27549 )
Change subject: osmo-bts-trx: use a lookup table in trx_sched_meas_avg()
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27549
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8124dcd38e7c8408a9f3b9a574d9e3181a2eb15
Gerrit-Change-Number: 27549
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 12:38:35 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27548 )
Change subject: osmo-bts-trx: use consistent naming for 'enum sched_meas_avg_mode'
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27548
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I96a8dd08084c7c179f879fc00e75c5edcfb11caa
Gerrit-Change-Number: 27548
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Mar 2022 12:35:37 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: laforge.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27217
to look at the new patch set (#4).
Change subject: libosmo-gtlv: add generic TLV de- and encoder
......................................................................
libosmo-gtlv: add generic TLV de- and encoder
An all new TLV parser supporting:
- Any size of T and L (determined by callback function),
- "Grouped IEs", so that an IE payload is a nested IE structure,
- optional/mandatory/multi-occurence IEs,
- decoding unordered tags (or enforcing strict order).
Will be used for PFCP message decoding and encoding, a T16L16V protocol
which requires above features.
Upcoming patches add
- translating PDUs to plain C structs and vice versa
- TLV generator to reduce repetition a in protocol definition
- TLIV capability
Previously, the way we deal with TLVs causes a lot of code
re-implementation: the TL decoding is taken care of by the API, but for
encoding, we essentially re-implement each protocol and each encoded
message in the individual programs. This API is an improvement in that
we only once implement the TL coding (or just use osmo_t8l8v_cfg /
osmo_t16l16v_cfg), get symmetric de- and encoding of the TL, and only
need to deal with the value part of each IE.
The common pattern of
- store TL preliminarily,
- write V data and
- update L after V is complete
is conveniently done by osmo_gtlv_put_update_tl().
Related: SYS#5599
Change-Id: Ib0fd00d9f288ffe13b7e67701f3e47073587404a
---
M configure.ac
M include/osmocom/Makefile.am
A include/osmocom/gtlv/Makefile.am
A include/osmocom/gtlv/gtlv.h
M src/Makefile.am
A src/libosmo-gtlv/Makefile.am
A src/libosmo-gtlv/gtlv.c
M tests/Makefile.am
A tests/libosmo-gtlv/Makefile.am
A tests/libosmo-gtlv/gtlv_test.c
A tests/libosmo-gtlv/gtlv_test.ok
M tests/testsuite.at
12 files changed, 1,258 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/17/27217/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27217
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: Ib0fd00d9f288ffe13b7e67701f3e47073587404a
Gerrit-Change-Number: 27217
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: neels.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27218
to look at the new patch set (#8).
Change subject: libosmo-gtlv: add auto dec/enc to/from structs
......................................................................
libosmo-gtlv: add auto dec/enc to/from structs
Add osmo_gtlv_coding: describe the value part of a TLV (decode and
encode), describe a struct with its members, and get/put readily decoded
structs from/to a raw PDU, directly.
With osmo_gtlv_coding defined for a protocol's tags, we only deal with
encoded PDUs or fully decoded C structs, no TLV related
re-implementations clutter up the message handling code.
A usage example is given in gtlv_dec_enc_test. The first real use will be
the PFCP protocol in osmo-upf.git.
With osmo_gtlv_coding, there still is a lot of monkey work involved in
describing the decoded structs. A subsequent patch adds a generator for
osmo_gtlv_coding and message structs from tag value lists.
Related: SYS#5599
Change-Id: I65de793105882a452124ee58adb0e58469e6e796
---
M include/osmocom/gtlv/Makefile.am
A include/osmocom/gtlv/gtlv_dec_enc.h
M src/libosmo-gtlv/Makefile.am
A src/libosmo-gtlv/gtlv_dec_enc.c
M tests/libosmo-gtlv/Makefile.am
A tests/libosmo-gtlv/gtlv_dec_enc_test.c
A tests/libosmo-gtlv/gtlv_dec_enc_test.ok
M tests/testsuite.at
8 files changed, 1,288 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/18/27218/8
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27218
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I65de793105882a452124ee58adb0e58469e6e796
Gerrit-Change-Number: 27218
Gerrit-PatchSet: 8
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: neels.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27219
to look at the new patch set (#6).
Change subject: libosmo-gtlv: add C code generator for IE structs and arrays
......................................................................
libosmo-gtlv: add C code generator for IE structs and arrays
Defining a protocol of message types with lists of IEs bears a lot of
repetitive, copy-paste-error-prone writing out of data structures.
Add a third layer to libosmo-gtlv, which allows helpful code generation.
By non-repetitive data structures that briefly describe the protocol's
messages and IEs, generate possibly repetitive IE list arrays and
decoded-struct definitions automatically, avoiding grunt work errors.
I tried C macros for this at first, but it became too convoluted.
Generating C code that can be read and grepped makes things easier.
A usage example is found in tests/libosmo-gtlv/test_gtlv_gen/.
Related: SYS#5599
Change-Id: Ifb3ea54d2797ce060b95834aa117725ec2d6c4cf
---
M configure.ac
M include/osmocom/gtlv/Makefile.am
A include/osmocom/gtlv/gtlv_gen.h
M src/libosmo-gtlv/Makefile.am
A src/libosmo-gtlv/gtlv_gen.c
M tests/libosmo-gtlv/Makefile.am
A tests/libosmo-gtlv/test_gtlv_gen/Makefile.am
A tests/libosmo-gtlv/test_gtlv_gen/gen__myproto_ies_auto.c
A tests/libosmo-gtlv/test_gtlv_gen/gtlv_gen_test.c
A tests/libosmo-gtlv/test_gtlv_gen/gtlv_gen_test.ok
A tests/libosmo-gtlv/test_gtlv_gen/myproto_ies_custom.c
A tests/libosmo-gtlv/test_gtlv_gen/myproto_ies_custom.h
M tests/testsuite.at
13 files changed, 1,442 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/19/27219/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27219
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: Ifb3ea54d2797ce060b95834aa117725ec2d6c4cf
Gerrit-Change-Number: 27219
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: neels, pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27529
to look at the new patch set (#6).
Change subject: libosmo-gtlv: add TLIV capability
......................................................................
libosmo-gtlv: add TLIV capability
During code review, it was indicated that some TLV protocols that we
will likely deal with in the near future also employ an I, and instance
value of a tag. Add TLIV support.
A usage example for a manually implemented TLIV structure is found in
tests/libosmo-gtlv/gtlv_test.c.
A usage example for a generated TLIV protocol is found in
tests/libosmo-gtlv/test_tliv/.
Related: SYS#5599
Change-Id: I0a076e54dfba6038cc779cb7c8f3967d212226aa
---
M configure.ac
M include/osmocom/gtlv/gtlv.h
M include/osmocom/gtlv/gtlv_dec_enc.h
M include/osmocom/gtlv/gtlv_gen.h
M src/libosmo-gtlv/gtlv.c
M src/libosmo-gtlv/gtlv_dec_enc.c
M src/libosmo-gtlv/gtlv_gen.c
M tests/libosmo-gtlv/Makefile.am
M tests/libosmo-gtlv/gtlv_dec_enc_test.c
M tests/libosmo-gtlv/gtlv_test.c
M tests/libosmo-gtlv/gtlv_test.ok
A tests/libosmo-gtlv/test_tliv/Makefile.am
A tests/libosmo-gtlv/test_tliv/gen__myproto_ies_auto.c
A tests/libosmo-gtlv/test_tliv/myproto_ies_custom.c
A tests/libosmo-gtlv/test_tliv/myproto_ies_custom.h
A tests/libosmo-gtlv/test_tliv/tliv_test.c
A tests/libosmo-gtlv/test_tliv/tliv_test.ok
M tests/testsuite.at
18 files changed, 938 insertions(+), 172 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/29/27529/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27529
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I0a076e54dfba6038cc779cb7c8f3967d212226aa
Gerrit-Change-Number: 27529
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27221
to look at the new patch set (#7).
Change subject: libosmo-pfcp: add pfcp_proto.h pfcp_strs.h
......................................................................
libosmo-pfcp: add pfcp_proto.h pfcp_strs.h
Related: SYS#5599
Change-Id: I568b821e89007ed52eeefcdbcb6edd8052a8b5be
---
M configure.ac
M include/osmocom/Makefile.am
A include/osmocom/pfcp/Makefile.am
A include/osmocom/pfcp/pfcp_proto.h
A include/osmocom/pfcp/pfcp_strs.h
M src/Makefile.am
A src/libosmo-pfcp/Makefile.am
A src/libosmo-pfcp/pfcp_strs.c
8 files changed, 1,152 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/21/27221/7
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27221
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I568b821e89007ed52eeefcdbcb6edd8052a8b5be
Gerrit-Change-Number: 27221
Gerrit-PatchSet: 7
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27222
to look at the new patch set (#11).
Change subject: libosmo-pfcp: implement/generate TLV and IE value coding
......................................................................
libosmo-pfcp: implement/generate TLV and IE value coding
Related: SYS#5599
Change-Id: I3069045b2d42dac88d955c636230adc64a7a4aa7
---
M include/osmocom/pfcp/Makefile.am
A include/osmocom/pfcp/pfcp_ies_custom.h
M src/libosmo-pfcp/Makefile.am
A src/libosmo-pfcp/gen__pfcp_ies_auto.c
A src/libosmo-pfcp/pfcp_ies_custom.c
5 files changed, 1,565 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/22/27222/11
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27222
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I3069045b2d42dac88d955c636230adc64a7a4aa7
Gerrit-Change-Number: 27222
Gerrit-PatchSet: 11
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27559 )
Change subject: osmo-bts-trx: detect half burst filling, filter BER10k
......................................................................
osmo-bts-trx: detect half burst filling, filter BER10k
According to 3GPP TS 45.002, section A.2.2, in DTXu mode the MS may
use half burst filling, so that only half of the encoded block is
present. In this case we can still decode a valid L2 frame (partial
SID), but as expected the calulated BER would be around 50%.
Half burst filling for TCH/F can be visualized as follows:
7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+---+---+---+---+
| | | | | | | | | a | b | c | d | Partial SID (BER ~50%)
+---+---+---+---+---+---+---+---+---+---+---+---+
| | | | | a | b | c | d | e | f | g | h | SID (BER 0%)
+---+---+---+---+---+---+---+---+---+---+---+---+
| a | b | c | d | e | f | g | h | | | | | Partial SID (BER ~50%)
+---+---+---+---+---+---+---+---+---+---+---+---+
|<----------------------------->|
Burst buffer
Half burst filling for TCH/H can be visualized as follows:
7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+
| | | | | a | b | c | d | Partial SID (BER ~50%)
+---+---+---+---+---+---+---+---+
| | | a | b | c | d | | | SID (BER 0%)
+---+---+---+---+---+---+---+---+
| a | b | c | d | | | | | Partial SID (BER ~50%)
+---+---+---+---+---+---+---+---+
|<--------------------->|
Burst buffer
In both cases an empty cell corresponds to a NOPE.ind (missing burst).
We need to detect such cases and fliter out the expected BER of 50%.
This can be achieved by checking completeness of the burst buffer,
in particular by maintaining an additional sliding mask of NOPE.ind.
Change-Id: Ia46d68603292b5c5c65f5c6552494223f10ee813
Related: SYS#5853
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
3 files changed, 77 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/59/27559/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index e39315f..ff7c36f 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -101,6 +101,7 @@
sbit_t *ul_bursts_prev;/* previous burst buffer for RX (repeated SACCH) */
uint32_t ul_first_fn; /* fn of first burst */
uint8_t ul_mask; /* mask of received bursts */
+ uint16_t nope_mask; /* mask of received NOPE.ind */
/* loss detection */
uint8_t lost_frames; /* how many L2 frames were lost */
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 6a9a0f0..e1593e4 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -45,12 +45,33 @@
#include <sched_utils.h>
#include <loops.h>
+static bool is_partial_sid(const struct gsm_lchan *lchan, uint16_t nope_mask)
+{
+ /* 7 6 5 4 3 2 1 0
+ * +---+---+---+---+---+---+---+---+---+---+---+---+
+ * | | | | | | | | | a | b | c | d | Partial SID (BER ~50%)
+ * +---+---+---+---+---+---+---+---+---+---+---+---+
+ * | | | | | a | b | c | d | e | f | g | h | SID (BER 0%)
+ * +---+---+---+---+---+---+---+---+---+---+---+---+
+ * | a | b | c | d | e | f | g | h | | | | | Partial SID (BER ~50%)
+ * +---+---+---+---+---+---+---+---+---+---+---+---+
+ * |<----------------------------->|
+ * Burst buffer
+ */
+ if (!lchan->tch.dtx.ul_sid)
+ return false;
+ if ((~nope_mask & 0xff) == 0xff)
+ return false;
+ return true;
+}
+
/*! \brief a single TCH/F burst was received by the PHY, process it */
int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi)
{
struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan];
struct gsm_lchan *lchan = chan_state->lchan;
sbit_t *burst, **bursts_p = &chan_state->ul_bursts;
+ uint16_t *nope_mask = &chan_state->nope_mask;
uint8_t *mask = &chan_state->ul_mask;
uint8_t rsl_cmode = chan_state->rsl_cmode;
uint8_t tch_mode = chan_state->tch_mode;
@@ -85,11 +106,15 @@
if (bi->bid == 0) {
memcpy(*bursts_p, *bursts_p + 464, 464);
memset(*bursts_p + 464, 0, 464);
+ *nope_mask = *nope_mask << 4;
*mask = *mask << 4;
}
/* update mask */
*mask |= (1 << bi->bid);
+ /* update NOPE.ind mask */
+ if (bi->flags & TRX_BI_F_NOPE_IND)
+ *nope_mask |= (1 << bi->bid);
/* store measurements */
trx_sched_meas_push(chan_state, bi);
@@ -206,6 +231,8 @@
return -EINVAL;
}
+ ber10k = compute_ber10k(n_bits_total, n_errors);
+
/* average measurements of the last N (depends on mode) bursts */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
/* meas_avg.fn now contains TDMA frame number of the first burst */
@@ -221,12 +248,23 @@
"Received bad data (%u/%u) with invalid codec mode %d\n",
bi->fn % l1ts->mf_period, l1ts->mf_period, rc);
bfi_flag = true;
+ } else if (ber10k > 0 && is_partial_sid(lchan, *nope_mask)) {
+ /* In DTXu mode the MS may use half burst filling (see 3GPP TS 45.002,
+ * section A.2.2), so that only half of the encoded block is present.
+ * In this case we can still decode a valid L2 frame (partial SID),
+ * but as expected the calulated BER would be around 50%. */
+ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi,
+ "Half burst filling detected: mask=0x%04x, ber10k=%d (%d/%d)\n",
+ *nope_mask, ber10k, n_errors, n_bits_total);
+ /* Filter out the expected 50% of BER (+1% to be sure) */
+ if (ber10k < 5100)
+ ber10k = 0;
+ /* TODO: shall we set is_sub=1 for partial SID frames? */
}
if (rc != GSM_MACBLOCK_LEN && lchan->ecu_state)
osmo_ecu_frame_in(lchan->ecu_state, bfi_flag, tch_data, rc);
- ber10k = compute_ber10k(n_bits_total, n_errors);
if (bfi_flag)
goto bfi;
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 369e35b..36f8abb 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -45,12 +45,33 @@
#include <sched_utils.h>
#include <loops.h>
+static bool is_partial_sid(const struct gsm_lchan *lchan, uint16_t nope_mask)
+{
+ /* 7 6 5 4 3 2 1 0
+ * +---+---+---+---+---+---+---+---+
+ * | | | | | a | b | c | d | Partial SID (BER ~50%)
+ * +---+---+---+---+---+---+---+---+
+ * | | | a | b | c | d | | | SID (BER 0%)
+ * +---+---+---+---+---+---+---+---+
+ * | a | b | c | d | | | | | Partial SID (BER ~50%)
+ * +---+---+---+---+---+---+---+---+
+ * |<--------------------->|
+ * Burst buffer
+ */
+ if (!lchan->tch.dtx.ul_sid)
+ return false;
+ if ((~nope_mask & 0x3c) == 0x3c)
+ return false;
+ return true;
+}
+
/*! \brief a single TCH/H burst was received by the PHY, process it */
int rx_tchh_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi)
{
struct l1sched_chan_state *chan_state = &l1ts->chan_state[bi->chan];
struct gsm_lchan *lchan = chan_state->lchan;
sbit_t *burst, **bursts_p = &chan_state->ul_bursts;
+ uint16_t *nope_mask = &chan_state->nope_mask;
uint8_t *mask = &chan_state->ul_mask;
uint8_t rsl_cmode = chan_state->rsl_cmode;
uint8_t tch_mode = chan_state->tch_mode;
@@ -91,11 +112,15 @@
memcpy(*bursts_p, *bursts_p + 232, 232);
memcpy(*bursts_p + 232, *bursts_p + 464, 232);
memset(*bursts_p + 464, 0, 232);
+ *nope_mask = *nope_mask << 2;
*mask = *mask << 2;
}
/* update mask */
*mask |= (1 << bi->bid);
+ /* update NOPE.ind mask */
+ if (bi->flags & TRX_BI_F_NOPE_IND)
+ *nope_mask |= (1 << bi->bid);
/* store measurements */
trx_sched_meas_push(chan_state, bi);
@@ -248,6 +273,18 @@
"Received bad data (%u/%u) with invalid codec mode %d\n",
bi->fn % l1ts->mf_period, l1ts->mf_period, rc);
bfi_flag = true;
+ } else if (ber10k > 0 && is_partial_sid(lchan, *nope_mask)) {
+ /* In DTXu mode the MS may use half burst filling (see 3GPP TS 45.002,
+ * section A.2.2), so that only half of the encoded block is present.
+ * In this case we can still decode a valid L2 frame (partial SID),
+ * but as expected the calulated BER would be around 50%. */
+ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi,
+ "Half burst filling detected: mask=0x%04x, ber10k=%d (%d/%d)\n",
+ *nope_mask, ber10k, n_errors, n_bits_total);
+ /* Filter out the expected 50% of BER (+1% to be sure) */
+ if (ber10k < 5100)
+ ber10k = 0;
+ /* TODO: shall we set is_sub=1 for partial SID frames? */
}
if (rc != GSM_MACBLOCK_LEN && lchan->ecu_state)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27559
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ia46d68603292b5c5c65f5c6552494223f10ee813
Gerrit-Change-Number: 27559
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27557 )
Change subject: osmo-bts-trx: rx_{tchh,tchf}_fn(): use AMR CMI lookup tables
......................................................................
osmo-bts-trx: rx_{tchh,tchf}_fn(): use AMR CMI lookup tables
3GPP TS 45.009 defines that Codec Mode Indications shall be sent
with speech frames having specific TDMA frame numbers of their
*first* bursts, which are defined in tables 3.2.1.3-{1,2,3,4}.
Performance-wise it's batter to have these tables implemented as
arrays, rather then using the 'switch' statement. We can simplify
things even further and have TDMA frame numbers corresponding to
the *last* bursts in them. This eliminates the need of doing an
additional last-to-first mapping, so that bi->fn can be used.
Change-Id: I46def864729c8f9063af201750456771ea5558d5
---
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
M src/osmo-bts-trx/sched_utils.h
3 files changed, 20 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/27557/1
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index c8ad383..6a9a0f0 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -131,8 +131,7 @@
* the first FN 4,13,21 defines that CMR is included in frame.
* NOTE: A frame ends 7 FN after start.
*/
- fn_begin = trx_sched_lookup_fn(chan_state, 8);
- amr_is_cmr = !ul_amr_fn_is_cmi(fn_begin);
+ amr_is_cmr = !sched_tchf_ul_amr_cmi_map[bi->fn % 26];
/* The AFS_ONSET frame itself does not result into an RTP frame
* since it only contains a recognition pattern that marks the
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 1778d36..369e35b 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -165,16 +165,7 @@
break;
}
- /* Calculate the frame number where the block begins. Note that
- * we need to traverse the measurement histort back by 6 bursts,
- * not by 4 bursts. The reason for this is that the burst shift
- * buffer we use for decoding is 6 bursts wide (one SACCH block) but
- * TCH/H blocks are only 4 bursts wide. The decoder functions look
- * at the beginning of the buffer while we shift into it at the end,
- * this means that TCH/H blocks always decoded delayed by two frame
- * number positions late. */
- fn_begin = trx_sched_lookup_fn(chan_state, 6);
- fn_is_cmi = ul_amr_fn_is_cmi(fn_begin);
+ fn_is_cmi = sched_tchh_ul_amr_cmi_map[bi->fn % 26];
/* See comment in function rx_tchf_fn() */
amr = 2;
diff --git a/src/osmo-bts-trx/sched_utils.h b/src/osmo-bts-trx/sched_utils.h
index f76e49b..398083d 100644
--- a/src/osmo-bts-trx/sched_utils.h
+++ b/src/osmo-bts-trx/sched_utils.h
@@ -37,6 +37,24 @@
return 10000 * n_errors / n_bits_total;
}
+/* 3GPP TS 45.009, table 3.2.1.3-{1,3}: AMR on Uplink TCH/F */
+static const uint8_t sched_tchf_ul_amr_cmi_map[26] = {
+ [7] = 1, /* TCH/F: first=0 / last=7 */
+ [16] = 1, /* TCH/F: first=8 / last=16 */
+ [24] = 1, /* TCH/F: first=17 / last=24 */
+};
+
+/* 3GPP TS 45.009, table 3.2.1.3-{2,4}: AMR on Uplink TCH/H */
+static const uint8_t sched_tchh_ul_amr_cmi_map[26] = {
+ [6] = 1, /* TCH/H(0): first=0 / last=6 */
+ [15] = 1, /* TCH/H(0): first=8 / last=15 */
+ [23] = 1, /* TCH/H(0): first=17 / last=23 */
+
+ [7] = 1, /* TCH/H(1): first=1 / last=7 */
+ [16] = 1, /* TCH/H(1): first=9 / last=16 */
+ [24] = 1, /* TCH/H(1): first=18 / last=24 */
+};
+
/*! determine whether an uplink AMR block is CMI according to 3GPP TS 45.009.
* \param[in] fn_begin frame number of the beginning of the block.
* \returns true in case of CMI; false otherwise. */
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27557
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I46def864729c8f9063af201750456771ea5558d5
Gerrit-Change-Number: 27557
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27558 )
Change subject: trx_sched_ul_burst(): get rid of the 'switch' statement
......................................................................
trx_sched_ul_burst(): get rid of the 'switch' statement
Both TRXC_RACH and TRXC_PTCCH are handled in the rx_rach_fn(),
so we can eliminate the need of having a 'switch' statement in
the general (perfrmance critical) code path.
Change-Id: I66d8785a63215af37a77e258039549e4e6292e49
---
M src/common/scheduler.c
M src/osmo-bts-trx/sched_lchan_rach.c
2 files changed, 7 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/58/27558/1
diff --git a/src/common/scheduler.c b/src/common/scheduler.c
index b27d7ea..e6a664f 100644
--- a/src/common/scheduler.c
+++ b/src/common/scheduler.c
@@ -1546,16 +1546,9 @@
/* handle NOPE indications */
if (bi->flags & TRX_BI_F_NOPE_IND) {
- switch (bi->chan) {
- case TRXC_PTCCH:
- case TRXC_RACH:
- /* For some logical channel types NOPE.ind is valueless. */
- return 0;
- default:
- /* NOTE: Uplink burst handler must check bi->burst_len before
- * accessing bi->burst to avoid uninitialized memory access. */
- return func(l1ts, bi);
- }
+ /* NOTE: Uplink burst handler must check bi->burst_len before
+ * accessing bi->burst to avoid uninitialized memory access. */
+ return func(l1ts, bi);
}
/* decrypt */
diff --git a/src/osmo-bts-trx/sched_lchan_rach.c b/src/osmo-bts-trx/sched_lchan_rach.c
index c3abf32..5d9d0b1 100644
--- a/src/osmo-bts-trx/sched_lchan_rach.c
+++ b/src/osmo-bts-trx/sched_lchan_rach.c
@@ -112,6 +112,10 @@
uint8_t ra;
int rc;
+ /* Ignore NOPE indications, they're of no use here */
+ if (bi->flags & TRX_BI_F_NOPE_IND)
+ return 0;
+
/* TSC (Training Sequence Code) is an optional parameter of the UL burst
* indication. We need this information in order to decide whether an
* Access Burst is 11-bit encoded or not (see OS#1854). If this information
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27558
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I66d8785a63215af37a77e258039549e4e6292e49
Gerrit-Change-Number: 27558
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27554 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): shift Rx burst buffer on bid=0
......................................................................
osmo-bts-trx: rx_{tchf,tchh}_fn(): shift Rx burst buffer on bid=0
For both TCH/F and TCH/H, the receive burst buffer needs to be
periodically shifted leftwards due to the nature of block-diagonal
interleaving. Currently we do this on receipt of bid=3 for TCH/F
and bid=1 for TCH/H, right after attempting to decode the buffer.
If for some reason we return early before attempting to decode the
buffer, the content of that buffer might not be shifted and some
bursts might be overwritten. This can be easily avoided by doing
the shifting on receipt of bid=0 for both TCH/H and TCH/F.
Change-Id: I0bd69f5a8f5c665fb5f00c127bc3fe1d91167abb
---
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 6 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/54/27554/1
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index c6c5532..a689a1f 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -81,8 +81,9 @@
return -ENOMEM;
}
- /* clear burst */
+ /* shift the buffer by 4 bursts leftwards */
if (bi->bid == 0) {
+ memcpy(*bursts_p, *bursts_p + 464, 464);
memset(*bursts_p + 464, 0, 464);
*mask = 0x0;
}
@@ -205,7 +206,6 @@
tch_mode);
return -EINVAL;
}
- memcpy(*bursts_p, *bursts_p + 464, 464);
/* average measurements of the last N (depends on mode) bursts */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 3a66321..6b49974 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -87,8 +87,10 @@
return -ENOMEM;
}
- /* clear burst */
+ /* shift the buffer by 2 bursts leftwards */
if (bi->bid == 0) {
+ memcpy(*bursts_p, *bursts_p + 232, 232);
+ memcpy(*bursts_p + 232, *bursts_p + 464, 232);
memset(*bursts_p + 464, 0, 232);
*mask = 0x0;
}
@@ -122,8 +124,6 @@
/* skip decoding of the last 4 bursts of FACCH/H */
if (chan_state->ul_ongoing_facch) {
chan_state->ul_ongoing_facch = 0;
- memcpy(*bursts_p, *bursts_p + 232, 232);
- memcpy(*bursts_p + 232, *bursts_p + 464, 232);
/* we have already sent the first BFI when a FACCH/H frame
* was decoded (see below), now send the second one. */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
@@ -238,8 +238,7 @@
tch_mode);
return -EINVAL;
}
- memcpy(*bursts_p, *bursts_p + 232, 232);
- memcpy(*bursts_p + 232, *bursts_p + 464, 232);
+
ber10k = compute_ber10k(n_bits_total, n_errors);
/* average measurements of the last N (depends on mode) bursts */
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27554
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I0bd69f5a8f5c665fb5f00c127bc3fe1d91167abb
Gerrit-Change-Number: 27554
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27555 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): ensure complete set of bursts
......................................................................
osmo-bts-trx: rx_{tchf,tchh}_fn(): ensure complete set of bursts
The idea of this change is to avoid attempting to decode the burst
buffer unless it's filled up completely. This eliminates expected
decoding errors in the beginning of lchan's lifetime. Moreover
this allows us to be sure that the measurement history is complete,
so that we can abuse it to store TDMA frame numbers later.
Note that even in the absence of NOPE indications (TRXDv0 case)
we can still be sure that the burst mask has no gaps due to lost
bursts, because they are compensated by trx_sched_calc_frame_loss().
Change-Id: I56bebe1374eb803e3c1e9f08dda4da50a074ab0b
---
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 14 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/27555/1
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index a689a1f..9a168af 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -85,7 +85,7 @@
if (bi->bid == 0) {
memcpy(*bursts_p, *bursts_p + 464, 464);
memset(*bursts_p + 464, 0, 464);
- *mask = 0x0;
+ *mask = *mask << 4;
}
/* update mask */
@@ -106,13 +106,13 @@
if (bi->bid != 3)
return 0;
- /* check for complete set of bursts */
- if ((*mask & 0xf) != 0xf) {
- LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi,
- "Received incomplete frame (%u/%u)\n",
- bi->fn % l1ts->mf_period, l1ts->mf_period);
+ /* fill up the burst buffer so that we have 8 bursts in there */
+ if (OSMO_UNLIKELY((*mask & 0xff) != 0xff)) {
+ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi,
+ "UL burst buffer is not filled up: mask=0x%02x != 0xff\n",
+ *mask);
+ return 0; /* TODO: send BFI */
}
- *mask = 0x0;
/* decode
* also shift buffer by 4 bursts for interleaving */
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 6b49974..627291e 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -92,7 +92,7 @@
memcpy(*bursts_p, *bursts_p + 232, 232);
memcpy(*bursts_p + 232, *bursts_p + 464, 232);
memset(*bursts_p + 464, 0, 232);
- *mask = 0x0;
+ *mask = *mask << 2;
}
/* update mask */
@@ -113,13 +113,13 @@
if (bi->bid != 1)
return 0;
- /* check for complete set of bursts */
- if ((*mask & 0x3) != 0x3) {
- LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi,
- "Received incomplete frame (%u/%u)\n",
- bi->fn % l1ts->mf_period, l1ts->mf_period);
+ /* fill up the burst buffer so that we have 6 bursts in there */
+ if (OSMO_UNLIKELY((*mask & 0x3f) != 0x3f)) {
+ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi,
+ "UL burst buffer is not filled up: mask=0x%02x != 0x3f\n",
+ *mask);
+ return 0; /* TODO: send BFI */
}
- *mask = 0x0;
/* skip decoding of the last 4 bursts of FACCH/H */
if (chan_state->ul_ongoing_facch) {
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27555
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I56bebe1374eb803e3c1e9f08dda4da50a074ab0b
Gerrit-Change-Number: 27555
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27556 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): get TDMA FN from meas history
......................................................................
osmo-bts-trx: rx_{tchf,tchh}_fn(): get TDMA FN from meas history
Once we have an Uplink speech or FACCH frame decoded, we need to
hand it over to the upper layers indicating TDMA frame number of
the *first* burst corresponding to the beginning of a block.
Currently we use libosmogsm's gsm0502_fn_remap() API to calculate
the first TDMA frame number from the given last frame number.
This API involves iterating over the pre-calculated offset tables
for different channel and payload types, and thus imposes some
additional CPU cycles. Another downside of the current approach
is that we have to perform such lookups several times for each
decoded L2 frame, e.g. for FACCH on TCH/AHS we do it three times!
In this patch I propose an alternative approach of storing TDMA
frame numbers in the measurement history, together with the
associated samples. This way we can easily get N-th frame number
from there without performing any additional computations, other
than what we already do during the measurement processing.
Change-Id: Id9a2b7b0f1a1ad7cfbbab862faf521e135c90605
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
M src/osmo-bts-trx/scheduler_trx.c
4 files changed, 38 insertions(+), 36 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/56/27556/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index f671874..e39315f 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -80,6 +80,7 @@
/* A set of measurements belonging to one Uplink burst */
struct l1sched_meas_set {
+ uint32_t fn; /* TDMA frame number */
int16_t toa256; /* Timing of Arrival (1/256 of a symbol) */
int16_t ci_cb; /* Carrier-to-Interference (cB) */
float rssi; /* RSSI (dBm) */
@@ -325,3 +326,5 @@
void trx_sched_meas_avg(const struct l1sched_chan_state *chan_state,
struct l1sched_meas_set *avg,
enum sched_meas_avg_mode mode);
+uint32_t trx_sched_lookup_fn(const struct l1sched_chan_state *chan_state,
+ const unsigned int shift);
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 9a168af..c8ad383 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -131,7 +131,7 @@
* the first FN 4,13,21 defines that CMR is included in frame.
* NOTE: A frame ends 7 FN after start.
*/
- fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F);
+ fn_begin = trx_sched_lookup_fn(chan_state, 8);
amr_is_cmr = !ul_amr_fn_is_cmi(fn_begin);
/* The AFS_ONSET frame itself does not result into an RTP frame
@@ -209,6 +209,8 @@
/* average measurements of the last N (depends on mode) bursts */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
+ /* meas_avg.fn now contains TDMA frame number of the first burst */
+ fn_begin = meas_avg.fn;
/* Check if the frame is bad */
if (rc < 0) {
@@ -231,7 +233,6 @@
/* FACCH */
if (rc == GSM_MACBLOCK_LEN) {
- fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F);
_sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan,
tch_data + amr, GSM_MACBLOCK_LEN,
meas_avg.rssi, meas_avg.toa256,
@@ -300,7 +301,6 @@
/* TCH or BFI */
compose_l1sap:
- fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F);
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
meas_avg.toa256, ber10k, meas_avg.rssi,
meas_avg.ci_cb, is_sub);
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 627291e..1778d36 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -67,7 +67,6 @@
enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_S6N4;
struct l1sched_meas_set meas_avg;
unsigned int fn_begin;
- unsigned int fn_tch_end;
uint16_t ber10k = 0;
uint8_t is_sub = 0;
uint8_t ft;
@@ -127,6 +126,8 @@
/* we have already sent the first BFI when a FACCH/H frame
* was decoded (see below), now send the second one. */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
+ /* meas_avg.fn now contains TDMA frame number of the first burst */
+ fn_begin = meas_avg.fn;
goto bfi;
}
@@ -164,15 +165,15 @@
break;
}
- /* Calculate the frame number where the block begins */
- if (bi->fn % 13 < 4)
- fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 5);
- else
- fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 4);
- if (lchan->nr == 0)
- fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H0);
- else
- fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1);
+ /* Calculate the frame number where the block begins. Note that
+ * we need to traverse the measurement histort back by 6 bursts,
+ * not by 4 bursts. The reason for this is that the burst shift
+ * buffer we use for decoding is 6 bursts wide (one SACCH block) but
+ * TCH/H blocks are only 4 bursts wide. The decoder functions look
+ * at the beginning of the buffer while we shift into it at the end,
+ * this means that TCH/H blocks always decoded delayed by two frame
+ * number positions late. */
+ fn_begin = trx_sched_lookup_fn(chan_state, 6);
fn_is_cmi = ul_amr_fn_is_cmi(fn_begin);
/* See comment in function rx_tchf_fn() */
@@ -243,6 +244,8 @@
/* average measurements of the last N (depends on mode) bursts */
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
+ /* meas_avg.fn now contains TDMA frame number of the first burst */
+ fn_begin = meas_avg.fn;
/* Check if the frame is bad */
if (rc < 0) {
@@ -265,10 +268,6 @@
/* FACCH */
if (rc == GSM_MACBLOCK_LEN) {
chan_state->ul_ongoing_facch = 1;
- if (lchan->nr == 0)
- fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0);
- else
- fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1);
/* In order to provide an even stream of measurement reports, here we
* intentionally invalidate RSSI, so that this report gets dropped in
* process_l1sap_meas_data(). The averaged results will still be sent
@@ -329,25 +328,6 @@
compose_l1sap:
/* TCH or BFI */
-
- /* The input to gsm0502_fn_remap() needs to get the frame number we
- * got two bursts ago. The reason for this is that the burst shift
- * buffer we use for decoding is 6 bursts wide (one SACCH block) but
- * TCH/H blocks are only 4 bursts wide. The decoder functions look
- * at the beginning of the buffer while we shift into it at the end,
- * this means that TCH/H blocks always decode delayed by two frame
- * number positions late. To calculatue the ending frame number of
- * the TCH/H we need to subtract 4 or 5 frames if there was a SACCH
- * in between. (Note: this is TCH/H, 4 frames ==> 2 bursts) */
- if (bi->fn % 13 < 4)
- fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 5);
- else
- fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 4);
- if (lchan->nr == 0)
- fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H0);
- else
- fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1);
-
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
meas_avg.toa256, ber10k, meas_avg.rssi,
meas_avg.ci_cb, is_sub);
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index 6ce5a9a..d772620 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -623,6 +623,7 @@
unsigned int current = chan_state->meas.current;
chan_state->meas.buf[current] = (struct l1sched_meas_set) {
+ .fn = bi->fn,
.ci_cb = (bi->flags & TRX_BI_F_CI_CB) ? bi->ci_cb : 0,
.toa256 = bi->toa256,
.rssi = bi->rssi,
@@ -669,8 +670,13 @@
ci_cb_sum += set->ci_cb;
}
+ /* First sample contains TDMA frame number of the first burst */
+ pos = (current + hist_size - shift) % hist_size;
+ set = &chan_state->meas.buf[pos];
+
/* Calculate the average for each value */
*avg = (struct l1sched_meas_set) {
+ .fn = set->fn, /* first burst */
.rssi = (rssi_sum / num),
.toa256 = (toa256_sum / num),
.ci_cb = (ci_cb_sum / num),
@@ -682,3 +688,16 @@
chan_state->lchan ? " " : "",
num, shift, avg->rssi, avg->toa256, avg->ci_cb);
}
+
+/* Lookup TDMA frame number of the N-th sample in the history */
+uint32_t trx_sched_lookup_fn(const struct l1sched_chan_state *chan_state,
+ const unsigned int shift)
+{
+ const unsigned int hist_size = ARRAY_SIZE(chan_state->meas.buf);
+ const unsigned int current = chan_state->meas.current;
+ unsigned int pos;
+
+ /* First sample contains TDMA frame number of the first burst */
+ pos = (current + hist_size - shift) % hist_size;
+ return chan_state->meas.buf[pos].fn;
+}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27556
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Id9a2b7b0f1a1ad7cfbbab862faf521e135c90605
Gerrit-Change-Number: 27556
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27552 )
Change subject: osmo-bts-trx: rx_tchh_fn(): get rid of chan_state->meas_avg_facch
......................................................................
osmo-bts-trx: rx_tchh_fn(): get rid of chan_state->meas_avg_facch
FACCH/H takes out two speech frames, so we send two BFIs once we
have received it in rx_tchh_fn(). The upper layers responsible
for handling of the Uplink measurements expect a fixed amount of
measurement samples, so currently we do:
* send a FACCH frame with the associated measurememnts (S6N6),
* send the 1st BFI with invalidated measurements (RSSI=0),
* send the 2nd BFI with the stored measurememnts of FACCH.
This is achieved by preserving a copy of the FACCH measurememnts
in chan_state->meas_avg_facch and then using it two bursts later.
The same goal can be achieved a lot easier by sending the associated
measurements with both BFIs as if no FACCH was received:
* send a FACCH frame with invalidated measurememnts (RSSI=0),
* send the 1st BFI with the associated measurememnts (S6N4),
* send the 2nd BFI with the associated measurememnts (S6N4).
This eliminates the need to store anything outside of the existing
measurement history and simplifies the code a lot. Also, this
eliminates the need for using a dedicated averaging mode S6N6.
Varified by running BTS_Tests.TC_meas_res_speech_tchh_facch.
Change-Id: I7902b4709bc3f418174e8373f52e87bb31cdc826
Related: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 7 insertions(+), 32 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/52/27552/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index 2806117..f671874 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -125,7 +125,6 @@
/* TCH/H */
uint8_t dl_ongoing_facch; /* FACCH/H on downlink */
uint8_t ul_ongoing_facch; /* FACCH/H on uplink */
- struct l1sched_meas_set meas_avg_facch; /* measurement results for last FACCH */
uint8_t dl_facch_bursts; /* number of remaining DL FACCH bursts */
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 4553132..e97adbd 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -71,7 +71,6 @@
uint16_t ber10k = 0;
uint8_t is_sub = 0;
uint8_t ft;
- bool mask_stolen_tch_block = false;
bool fn_is_cmi;
/* If handover RACH detection is turned on, treat this burst as an Access Burst.
@@ -127,11 +126,7 @@
memcpy(*bursts_p + 232, *bursts_p + 464, 232);
/* we have already sent the first BFI when a FACCH/H frame
* was decoded (see below), now send the second one. */
- memset(&meas_avg, 0, sizeof(meas_avg));
- /* In order to provide an even stream of measurement reports
- * we ask the code below to mask the missing TCH/H block
- * measurement report with the FACCH measurement results. */
- mask_stolen_tch_block = true;
+ trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
goto bfi;
}
@@ -248,8 +243,6 @@
ber10k = compute_ber10k(n_bits_total, n_errors);
/* average measurements of the last N (depends on mode) bursts */
- if (rc == GSM_MACBLOCK_LEN)
- meas_avg_mode = SCHED_MEAS_AVG_M_S6N6;
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
/* Check if the frame is bad */
@@ -277,22 +270,15 @@
fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H0);
else
fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1);
+ /* In order to provide an even stream of measurement reports, here we
+ * intentionally invalidate RSSI, so that this report gets dropped in
+ * process_l1sap_meas_data(). The averaged results will still be sent
+ * with the first BFI (see below). */
_sched_compose_ph_data_ind(l1ts, fn_begin, bi->chan,
tch_data + amr, GSM_MACBLOCK_LEN,
- meas_avg.rssi, meas_avg.toa256,
- meas_avg.ci_cb, ber10k,
+ 0, /* intentionally invalidate RSSI */
+ meas_avg.toa256, meas_avg.ci_cb, ber10k,
PRES_INFO_UNKNOWN);
-
- /* Keep a copy of the measurement results of the last FACCH
- * transmission in order to be able to create a replacement
- * measurement result for the one missing TCH block
- * measurement */
- memcpy(&chan_state->meas_avg_facch, &meas_avg, sizeof(meas_avg));
-
- /* Invalidate the current measurement result to prevent the
- * code below from handing up the current measurement a second
- * time. */
- memset(&meas_avg, 0, sizeof(meas_avg));
ber10k = 0;
bfi:
/* A FACCH/H frame replaces two speech frames, so we need to send two BFIs.
@@ -363,16 +349,6 @@
else
fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1);
- /* A FACCH/H transmission takes out two TCH/H voice blocks and the
- * related measurement results. The first measurement result is handed
- * up directly with the FACCH (see above), the second one needs to be
- * compensated by filling the gap with the measurement result we got
- * from the FACCH transmission. */
- if (mask_stolen_tch_block) {
- memcpy(&meas_avg, &chan_state->meas_avg_facch, sizeof(meas_avg));
- memset(&chan_state->meas_avg_facch, 0, sizeof(meas_avg));
- }
-
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
/* FIXME: what should we use for BFI here? */
bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k,
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27552
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I7902b4709bc3f418174e8373f52e87bb31cdc826
Gerrit-Change-Number: 27552
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27553 )
Change subject: osmo-bts-trx: rx_{tchf,tchh}_fn(): also use meas_avg for BFI
......................................................................
osmo-bts-trx: rx_{tchf,tchh}_fn(): also use meas_avg for BFI
In the current implementation of both TCH/F and TCH/H lchans, we
set the 'bfi_flag' to true only if decoding fails. Perhaps this
was not the case when I wrote [1], so using meas_avg might result
in using uninitialized memory. This is not the case anymore.
Pass the *averaged* measurememnts regardless of decoding result.
Change-Id: I23f767364a018d30d04885990adf69b50b2c9738
Related: [1] I2b02b51fea5664f161382a4ddc63dbf14ffc9ac5
---
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 4 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/27553/1
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 0388ec0..c6c5532 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -302,11 +302,8 @@
compose_l1sap:
fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F);
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
- /* FIXME: what should we use for BFI here? */
- bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k,
- bfi_flag ? bi->rssi : meas_avg.rssi,
- bfi_flag ? bi->ci_cb : meas_avg.ci_cb,
- is_sub);
+ meas_avg.toa256, ber10k, meas_avg.rssi,
+ meas_avg.ci_cb, is_sub);
}
/* common section for generation of TCH bursts (TCH/H and TCH/F).
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index e97adbd..3a66321 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -350,11 +350,8 @@
fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1);
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
- /* FIXME: what should we use for BFI here? */
- bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k,
- bfi_flag ? bi->rssi : meas_avg.rssi,
- bfi_flag ? bi->ci_cb : meas_avg.ci_cb,
- is_sub);
+ meas_avg.toa256, ber10k, meas_avg.rssi,
+ meas_avg.ci_cb, is_sub);
}
/* common section for generation of TCH bursts (TCH/H and TCH/F).
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27553
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I23f767364a018d30d04885990adf69b50b2c9738
Gerrit-Change-Number: 27553
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27550 )
Change subject: osmo-bts-trx: rx_tchh_fn(): use proper meas averaging mode
......................................................................
osmo-bts-trx: rx_tchh_fn(): use proper meas averaging mode
Compared to TCH/F, TCH/H is a bit special in a way that:
* speech frames are interleaved over 4 consecutive bursts,
* while FACCH frames are interleaved over 6 consecutive bursts.
This is why in rx_tchh_fn() we allocate a buffer large enough to
store up to 6 bursts. Let's say we have that buffer filled up
completely with all 6 bursts (from 'a' to 'f'). Now attempting
to decode them may yield either a speech frame or a FACCH frame:
+---+---+---+---+---+---+
| a | b | c | d | e | f | Burst 'a' received first, 'f' last
+---+---+---+---+---+---+
^^^^^^^^^^^^^^^ Speech frame (bursts 'a' .. 'd')
^^^^^^^^^^^^^^^^^^^^^^^ FACCH frame (bursts 'a' .. 'f')
For FACCH we use measurement averaging mode SCHED_MEAS_AVG_M_S6N6,
so that 6 last samples are averaged - so far so good. For speech
we use SCHED_MEAS_AVG_M_S4N4, so that 4 last samples corresponding
to bursts 'c', 'd', 'e', 'f' are averaged - this is wrong.
We actually need to average the *first* 4 samples corresponding to
bursts 'a', 'b', 'c', 'd' in the case of speech. Let's add and use
a new averaging mode SCHED_MEAS_AVG_M_S6N4 for that.
Change-Id: Iea6f4e5471550f4c2b57aaebeac83c80e879489d
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_tchh.c
M src/osmo-bts-trx/scheduler_trx.c
3 files changed, 5 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/27550/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index 8643edd..1e1a2d7 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -306,10 +306,12 @@
/* Averaging mode for trx_sched_meas_avg() */
enum sched_meas_avg_mode {
- /* last 4 bursts (default for xCCH, TCH/H, PTCCH and PDTCH) */
+ /* last 4 bursts (default for xCCH, PTCCH and PDTCH) */
SCHED_MEAS_AVG_M_S4N4,
/* last 8 bursts (default for TCH/F and FACCH/F) */
SCHED_MEAS_AVG_M_S8N8,
+ /* first 4 of last 6 bursts (default for TCH/H) */
+ SCHED_MEAS_AVG_M_S6N4,
/* last 6 bursts (default for FACCH/H) */
SCHED_MEAS_AVG_M_S6N6,
/* first 4 of last 8 bursts */
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 8264163..edbb566 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -64,7 +64,7 @@
* Even FN ending at: 10,11,19,20,2,3
*/
int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1;
- enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_S4N4;
+ enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_S6N4;
struct l1sched_meas_set meas_avg;
unsigned int fn_begin;
unsigned int fn_tch_end;
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index 78c7b4a..6ce5a9a 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -635,6 +635,7 @@
static const uint8_t trx_sched_meas_modeset[][2] = {
[SCHED_MEAS_AVG_M_S4N4] = { 4, 4 },
[SCHED_MEAS_AVG_M_S8N8] = { 8, 8 },
+ [SCHED_MEAS_AVG_M_S6N4] = { 6, 4 },
[SCHED_MEAS_AVG_M_S6N6] = { 6, 6 },
[SCHED_MEAS_AVG_M_S8N4] = { 8, 4 },
[SCHED_MEAS_AVG_M_S6N2] = { 6, 2 },
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27550
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Iea6f4e5471550f4c2b57aaebeac83c80e879489d
Gerrit-Change-Number: 27550
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27551 )
Change subject: osmo-bts-trx: rx_tchh_fn(): indicate BER10k=0 for FACCH BFIs
......................................................................
osmo-bts-trx: rx_tchh_fn(): indicate BER10k=0 for FACCH BFIs
It makes no sense to store BER10k value of an Uplink FACCH frame
in order to indicate it in a BFI later on. Given that these BFIs
are generated artificially, it's fine to indicate BER10k=0.
Change-Id: I24d12892760dca0ad0a5c2abca9fc66523d9e614
Related: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_tchh.c
2 files changed, 2 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/51/27551/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index 1e1a2d7..2806117 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -126,7 +126,6 @@
uint8_t dl_ongoing_facch; /* FACCH/H on downlink */
uint8_t ul_ongoing_facch; /* FACCH/H on uplink */
struct l1sched_meas_set meas_avg_facch; /* measurement results for last FACCH */
- uint16_t ber10k_facch; /* bit error rate for last FACCH */
uint8_t dl_facch_bursts; /* number of remaining DL FACCH bursts */
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index edbb566..4553132 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -68,7 +68,7 @@
struct l1sched_meas_set meas_avg;
unsigned int fn_begin;
unsigned int fn_tch_end;
- uint16_t ber10k;
+ uint16_t ber10k = 0;
uint8_t is_sub = 0;
uint8_t ft;
bool mask_stolen_tch_block = false;
@@ -127,7 +127,6 @@
memcpy(*bursts_p + 232, *bursts_p + 464, 232);
/* we have already sent the first BFI when a FACCH/H frame
* was decoded (see below), now send the second one. */
- ber10k = 0;
memset(&meas_avg, 0, sizeof(meas_avg));
/* In order to provide an even stream of measurement reports
* we ask the code below to mask the missing TCH/H block
@@ -289,12 +288,12 @@
* measurement result for the one missing TCH block
* measurement */
memcpy(&chan_state->meas_avg_facch, &meas_avg, sizeof(meas_avg));
- chan_state->ber10k_facch = ber10k;
/* Invalidate the current measurement result to prevent the
* code below from handing up the current measurement a second
* time. */
memset(&meas_avg, 0, sizeof(meas_avg));
+ ber10k = 0;
bfi:
/* A FACCH/H frame replaces two speech frames, so we need to send two BFIs.
* One is sent here, another will be sent two bursts later (see above). */
@@ -371,9 +370,7 @@
* from the FACCH transmission. */
if (mask_stolen_tch_block) {
memcpy(&meas_avg, &chan_state->meas_avg_facch, sizeof(meas_avg));
- ber10k = chan_state->ber10k_facch;
memset(&chan_state->meas_avg_facch, 0, sizeof(meas_avg));
- chan_state->ber10k_facch = 0;
}
return _sched_compose_tch_ind(l1ts, fn_begin, bi->chan, tch_data, rc,
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27551
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I24d12892760dca0ad0a5c2abca9fc66523d9e614
Gerrit-Change-Number: 27551
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/27548 )
Change subject: osmo-bts-trx: use consistent naming for 'enum sched_meas_avg_mode'
......................................................................
osmo-bts-trx: use consistent naming for 'enum sched_meas_avg_mode'
This is a purely cosmetic change. The new naming clearly indicates
how deep to go back in the measurement history (S) and how many
samples to average (N). For example:
* SCHED_MEAS_AVG_M_S4N4 - go S=4 steps back and average N=4 samples;
* SCHED_MEAS_AVG_M_S6N2 - go S=6 steps back and average N=2 samples.
Change-Id: I96a8dd08084c7c179f879fc00e75c5edcfb11caa
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/sched_lchan_pdtch.c
M src/osmo-bts-trx/sched_lchan_tchf.c
M src/osmo-bts-trx/sched_lchan_tchh.c
M src/osmo-bts-trx/sched_lchan_xcch.c
M src/osmo-bts-trx/scheduler_trx.c
6 files changed, 21 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/48/27548/1
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index d640647..8643edd 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -307,17 +307,17 @@
/* Averaging mode for trx_sched_meas_avg() */
enum sched_meas_avg_mode {
/* last 4 bursts (default for xCCH, TCH/H, PTCCH and PDTCH) */
- SCHED_MEAS_AVG_M_QUAD,
+ SCHED_MEAS_AVG_M_S4N4,
/* last 8 bursts (default for TCH/F and FACCH/F) */
- SCHED_MEAS_AVG_M_OCTO,
+ SCHED_MEAS_AVG_M_S8N8,
/* last 6 bursts (default for FACCH/H) */
- SCHED_MEAS_AVG_M_SIX,
+ SCHED_MEAS_AVG_M_S6N6,
/* first 4 of last 8 bursts */
- SCHED_MEAS_AVG_M8_FIRST_QUAD,
+ SCHED_MEAS_AVG_M_S8N4,
/* first 2 of last 6 bursts */
- SCHED_MEAS_AVG_M6_FIRST_TWO,
+ SCHED_MEAS_AVG_M_S6N2,
/* middle 2 of last 6 bursts */
- SCHED_MEAS_AVG_M6_MIDDLE_TWO,
+ SCHED_MEAS_AVG_M_S4N2,
};
void trx_sched_meas_push(struct l1sched_chan_state *chan_state,
diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c
index 6a2ad0d..92bb5a8 100644
--- a/src/osmo-bts-trx/sched_lchan_pdtch.c
+++ b/src/osmo-bts-trx/sched_lchan_pdtch.c
@@ -101,7 +101,7 @@
return 0;
/* average measurements of the last 4 bursts */
- trx_sched_meas_avg(chan_state, &meas_avg, SCHED_MEAS_AVG_M_QUAD);
+ trx_sched_meas_avg(chan_state, &meas_avg, SCHED_MEAS_AVG_M_S4N4);
/* check for complete set of bursts */
if ((*mask & 0xf) != 0xf) {
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 1bf67a0..0388ec0 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -55,7 +55,7 @@
uint8_t rsl_cmode = chan_state->rsl_cmode;
uint8_t tch_mode = chan_state->tch_mode;
uint8_t tch_data[128]; /* just to be safe */
- enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_OCTO;
+ enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_S8N8;
struct l1sched_meas_set meas_avg;
int rc, amr = 0;
int n_errors = 0;
@@ -175,11 +175,11 @@
switch (chan_state->amr_last_dtx) {
case AFS_SID_FIRST:
case AFS_SID_UPDATE_CN:
- meas_avg_mode = SCHED_MEAS_AVG_M8_FIRST_QUAD;
+ meas_avg_mode = SCHED_MEAS_AVG_M_S8N4;
break;
case AFS_SID_UPDATE:
case AFS_ONSET:
- meas_avg_mode = SCHED_MEAS_AVG_M_QUAD;
+ meas_avg_mode = SCHED_MEAS_AVG_M_S4N4;
break;
}
diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c
index 5d2c12c..8264163 100644
--- a/src/osmo-bts-trx/sched_lchan_tchh.c
+++ b/src/osmo-bts-trx/sched_lchan_tchh.c
@@ -64,7 +64,7 @@
* Even FN ending at: 10,11,19,20,2,3
*/
int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1;
- enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_QUAD;
+ enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_S4N4;
struct l1sched_meas_set meas_avg;
unsigned int fn_begin;
unsigned int fn_tch_end;
@@ -214,10 +214,10 @@
case AHS_SID_UPDATE_CN:
case AHS_SID_FIRST_INH:
case AHS_SID_UPDATE_INH:
- meas_avg_mode = SCHED_MEAS_AVG_M6_FIRST_TWO;
+ meas_avg_mode = SCHED_MEAS_AVG_M_S6N2;
break;
case AHS_ONSET:
- meas_avg_mode = SCHED_MEAS_AVG_M6_MIDDLE_TWO;
+ meas_avg_mode = SCHED_MEAS_AVG_M_S4N2;
break;
}
@@ -250,7 +250,7 @@
/* average measurements of the last N (depends on mode) bursts */
if (rc == GSM_MACBLOCK_LEN)
- meas_avg_mode = SCHED_MEAS_AVG_M_SIX;
+ meas_avg_mode = SCHED_MEAS_AVG_M_S6N6;
trx_sched_meas_avg(chan_state, &meas_avg, meas_avg_mode);
/* Check if the frame is bad */
diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c
index 6a65574..1d529f2 100644
--- a/src/osmo-bts-trx/sched_lchan_xcch.c
+++ b/src/osmo-bts-trx/sched_lchan_xcch.c
@@ -111,7 +111,7 @@
return 0;
/* average measurements of the last 4 bursts */
- trx_sched_meas_avg(chan_state, &meas_avg, SCHED_MEAS_AVG_M_QUAD);
+ trx_sched_meas_avg(chan_state, &meas_avg, SCHED_MEAS_AVG_M_S4N4);
/* check for complete set of bursts */
if ((*mask & 0xf) != 0xf) {
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index 3a6418b..74de902 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -647,27 +647,27 @@
switch (mode) {
/* last 4 bursts (default for xCCH, TCH/H, PTCCH and PDTCH) */
- case SCHED_MEAS_AVG_M_QUAD:
+ case SCHED_MEAS_AVG_M_S4N4:
n = 4; shift = n;
break;
/* last 8 bursts (default for TCH/F and FACCH/F) */
- case SCHED_MEAS_AVG_M_OCTO:
+ case SCHED_MEAS_AVG_M_S8N8:
n = 8; shift = n;
break;
/* last 6 bursts (default for FACCH/H) */
- case SCHED_MEAS_AVG_M_SIX:
+ case SCHED_MEAS_AVG_M_S6N6:
n = 6; shift = n;
break;
/* first 4 of last 8 bursts */
- case SCHED_MEAS_AVG_M8_FIRST_QUAD:
+ case SCHED_MEAS_AVG_M_S8N4:
n = 4; shift = 8;
break;
/* first 2 of last 6 bursts */
- case SCHED_MEAS_AVG_M6_FIRST_TWO:
+ case SCHED_MEAS_AVG_M_S6N2:
n = 2; shift = 6;
break;
/* middle 2 of last 6 bursts */
- case SCHED_MEAS_AVG_M6_MIDDLE_TWO:
+ case SCHED_MEAS_AVG_M_S4N2:
n = 2; shift = 4;
break;
default:
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27548
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I96a8dd08084c7c179f879fc00e75c5edcfb11caa
Gerrit-Change-Number: 27548
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/27530 )
Change subject: tweak license headers
......................................................................
tweak license headers
I wrote a simple tool that puts the same license headers in all .[hc]
files. These tweaks are the result of running that tool on already
merged files.
Related: SYS#5599
Change-Id: I1f542534903fce9d68fce11f16822e9fbead89ec
---
M include/osmocom/upf/upf.h
M src/osmo-upf/osmo_upf_main.c
M src/osmo-upf/upf.c
3 files changed, 56 insertions(+), 25 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/include/osmocom/upf/upf.h b/include/osmocom/upf/upf.h
index 503c5a4..c3c7849 100644
--- a/include/osmocom/upf/upf.h
+++ b/include/osmocom/upf/upf.h
@@ -1,4 +1,27 @@
/* Global definitions for OsmoUPF */
+/*
+ * (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+ * All Rights Reserved.
+ *
+ * Author: Neels Janosch Hofmeyr <nhofmeyr(a)sysmocom.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
#pragma once
struct ctrl_handle;
diff --git a/src/osmo-upf/osmo_upf_main.c b/src/osmo-upf/osmo_upf_main.c
index ddd1b44..f81eab1 100644
--- a/src/osmo-upf/osmo_upf_main.c
+++ b/src/osmo-upf/osmo_upf_main.c
@@ -1,20 +1,23 @@
-/* (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
- * All Rights Reserved
+/*
+ * (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+ * All Rights Reserved.
*
- * Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
+ * Author: Neels Janosch Hofmeyr <nhofmeyr(a)sysmocom.de>
*
- * 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.
+ * SPDX-License-Identifier: GPL-2.0+
*
- * 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.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/lienses/>.
+ * 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
diff --git a/src/osmo-upf/upf.c b/src/osmo-upf/upf.c
index 8932d92..6463e32 100644
--- a/src/osmo-upf/upf.c
+++ b/src/osmo-upf/upf.c
@@ -1,18 +1,23 @@
-/* (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
- * All Rights Reserved
+/*
+ * (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+ * All Rights Reserved.
*
- * 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.
+ * Author: Neels Janosch Hofmeyr <nhofmeyr(a)sysmocom.de>
*
- * 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.
+ * SPDX-License-Identifier: GPL-2.0+
*
- * 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/>.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27530
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I1f542534903fce9d68fce11f16822e9fbead89ec
Gerrit-Change-Number: 27530
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-upf/+/27222
to look at the new patch set (#10).
Change subject: libosmo-pfcp: implement/generate TLV and IE value coding
......................................................................
libosmo-pfcp: implement/generate TLV and IE value coding
Related: SYS#5599
Change-Id: I3069045b2d42dac88d955c636230adc64a7a4aa7
---
M include/osmocom/pfcp/Makefile.am
A include/osmocom/pfcp/pfcp_ies_custom.h
M src/libosmo-pfcp/Makefile.am
A src/libosmo-pfcp/gen__pfcp_ies_auto.c
A src/libosmo-pfcp/pfcp_ies_custom.c
5 files changed, 1,565 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/22/27222/10
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27222
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I3069045b2d42dac88d955c636230adc64a7a4aa7
Gerrit-Change-Number: 27222
Gerrit-PatchSet: 10
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/27221 )
Change subject: libosmo-pfcp: add pfcp_proto.h pfcp_strs.h
......................................................................
Patch Set 6:
(2 comments)
Patchset:
PS1:
> It would be interesting to know how did you generate all this. […]
that is interesting. i wonder how they get consistent alignment, not from a pdf file i guess?
Patchset:
PS3:
> You did all this by hand manually?
goodness no!!
i copied from the specs and semi-manually aligned it to a consistent tab separated list (see contrib/pfcp_iei.txt) and then did vim fu like s/.../.../ and CTRL+v,U to shape it to this.
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27221
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I568b821e89007ed52eeefcdbcb6edd8052a8b5be
Gerrit-Change-Number: 27221
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 21 Mar 2022 17:09:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/27217 )
Change subject: libosmo-tlv: add versatile TLV de- and encoder
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS3:
> as a general rule we don't introduce symbols or types with an osmo_ prefix into applications. […]
the osmo_prefix: for a long time i "knew" that the osmo_ prefix is only added in libosmocore. Then some years ago i learnt that a libxxx does get the osmo prefix also when not in libosmocore.git, like osmo_ss7_* from osmo-iuh.git or osmo_gsup_* from osmo-hlr.git. I added the osmo_ prefix because the intention is that this is an independent lib. And, yes, if it proves useful the idea is to move it to libosmocore.git.
naming ideas:
osmo_utlv as in "universal"
osmo_gtlv as in "generic" or "generated"
osmo_tlv2_*
i think i like 'g'
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27217
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: Ib0fd00d9f288ffe13b7e67701f3e47073587404a
Gerrit-Change-Number: 27217
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Mon, 21 Mar 2022 16:58:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
Attention is currently required from: pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/27222 )
Change subject: libosmo-pfcp: implement/generate TLV and IE value coding
......................................................................
Patch Set 9:
(1 comment)
Patchset:
PS9:
> You can probably transform ENSURE_LENGTH_IS to contain 2 params: […]
the dilemma is that the linter wants spacing around '>=', but forbids a space after '('. So i cannot pass an operator to a macro.
hmm I can make two macros, one each for == and >=
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/27222
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I3069045b2d42dac88d955c636230adc64a7a4aa7
Gerrit-Change-Number: 27222
Gerrit-PatchSet: 9
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 21 Mar 2022 16:50:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476 )
Change subject: Support forwarding messages with multiple BSCs
......................................................................
Patch Set 4:
(5 comments)
File include/osmocom/bsc_nat/bsc_nat.h:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476/comment/bad2efd8_54ecce7a
PS2, Line 26: BSC_NAT_CN = 0,
> you probably lack a prefix there for the enum. BSC_NAT is the domain, and CN and RAN the elements. […]
Done, in earlier commit "bsc_nat_print_addr: pass net enum, not sccp_inst"
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476/comment/ccec5d29_5f8df4a1
PS2, Line 48: uint32_t subscr_conn_id_next[2]; /* for CN, RAN */
> one could even go one further and have sub-structs like […]
Done
File include/osmocom/bsc_nat/subscr_conn.h:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476/comment/fcf897ba_15728c37
PS2, Line 29: uint32_t id[2]; /* conn_id for CN, RAN */
> same, there's problably no good reason to have this as an array. […]
Done
File src/osmo-bsc-nat/bsc.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476/comment/6a5a2423_adda9852
PS2, Line 58: subscr_conn_free_by_bsc(bsc);
> This looks weird. I'd expect a subscr being passed here seeing the name of the function. […]
Done
File src/osmo-bsc-nat/msc.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476/comment/1a136e56_4eea3e44
PS2, Line 77: subscr_conn_free_by_msc(msc);
> same: msc_free_subscr_conn_all()
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I1556aa665fbb0a97507f98794e74820731fa6935
Gerrit-Change-Number: 27476
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 21 Mar 2022 15:38:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: osmith.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27471
to look at the new patch set (#4).
Change subject: Reply to BSC's RESET with RESET ACK directly
......................................................................
Reply to BSC's RESET with RESET ACK directly
Let the BSCNAT directly reply to RESET sent from BSC with RESET ACK.
bssap_ran_handle_reset() is a bit empty right now but will be used in a
future patch to store the BSC.
Related: SYS#5560
Related: https://osmocom.org/projects/osmo-bscnat/wiki/AoIP_OsmoBSCNAT#RESET
Change-Id: I3223409e25c93b625d67634caf68efe9772e2558
---
M include/osmocom/bsc_nat/Makefile.am
A include/osmocom/bsc_nat/bssap.h
M src/osmo-bsc-nat/Makefile.am
M src/osmo-bsc-nat/bsc_nat_fsm.c
A src/osmo-bsc-nat/bssap.c
5 files changed, 130 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/71/27471/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27471
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I3223409e25c93b625d67634caf68efe9772e2558
Gerrit-Change-Number: 27471
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset
osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27546 )
Change subject: bsc_nat_print_addr: pass net enum, not sccp_inst
......................................................................
bsc_nat_print_addr: pass net enum, not sccp_inst
The sccp_inst was only used to differentiate between CN / RAN. Instead
of passing that, pass an enum and add bsc_nat_print_addr_cn and _ran
defines to keep it short.
This is in preparation for refactoring struct bsc_nat as suggested in
code review.
Related: SYS#5560
Change-Id: I3c6046a6726c31bf137223c46c2c96b3898ad324
---
M include/osmocom/bsc_nat/bsc_nat.h
M src/osmo-bsc-nat/bsc_nat.c
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/bssap.c
4 files changed, 22 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/46/27546/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27546
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I3c6046a6726c31bf137223c46c2c96b3898ad324
Gerrit-Change-Number: 27546
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset
osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27547 )
Change subject: bsc_nat: use sub-structs for cn, ran
......................................................................
bsc_nat: use sub-structs for cn, ran
As suggested in code review, create sub-structs for cn and ran. The
following patches will fill them up with mscs, bscs etc.
Related: SYS#5560
Change-Id: I6a3cc0d837a3d89e7153c2296812df0863f3471f
---
M include/osmocom/bsc_nat/bsc_nat.h
M src/osmo-bsc-nat/bsc_nat.c
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/bssap.c
M src/osmo-bsc-nat/vty.c
5 files changed, 42 insertions(+), 37 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/47/27547/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27547
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I6a3cc0d837a3d89e7153c2296812df0863f3471f
Gerrit-Change-Number: 27547
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27472
to look at the new patch set (#4).
Change subject: Store BSCs
......................................................................
Store BSCs
Once a BSC has sent a RESET to BSCNAT, store it. This will be used in
future patches to build connection mappings between MSC and BSCs, and to
block messages from BSCs that did not send a RESET.
I've considered using a FSM, but at least right now there doesn't seem
to be multiple states worth storing. We only have the BSC before it has
done the RESET (and then it's simply not in our list) and after it did
the RESET (in the list).
Don't use the stored BSCs in the forwarding logic just yet, a future
commit will replace the current forwarding code with proper connection
mappings.
Related: SYS#5560
Change-Id: Icd7316c49ef26fb45ad45a2ccc1a7916bfb0a387
---
M include/osmocom/bsc_nat/Makefile.am
A include/osmocom/bsc_nat/bsc.h
M include/osmocom/bsc_nat/bsc_nat.h
M src/osmo-bsc-nat/Makefile.am
A src/osmo-bsc-nat/bsc.c
M src/osmo-bsc-nat/bsc_nat.c
M src/osmo-bsc-nat/bssap.c
7 files changed, 110 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/72/27472/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27472
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: Icd7316c49ef26fb45ad45a2ccc1a7916bfb0a387
Gerrit-Change-Number: 27472
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27473
to look at the new patch set (#4).
Change subject: Store MSC
......................................................................
Store MSC
Expect one MSC to be configured in the address book (part of the cs7
section in the config, see doc/examples/osmo-bsc-nat/osmo-bsc-nat.cfg)
and store it on start up.
Store the MSC in a list, as we may potentially support multiple MSCs in
the future. Also that makes it symmetric to the BSC list.
Don't use the stored MSCs in the forwarding logic just yet, a future
commit will replace the current forwarding code with proper connection
mappings.
Related: SYS#5560
Change-Id: I711df0c649728f1007857fbfda500ed5ef69287b
---
M include/osmocom/bsc_nat/Makefile.am
M include/osmocom/bsc_nat/bsc_nat.h
A include/osmocom/bsc_nat/msc.h
M src/osmo-bsc-nat/Makefile.am
M src/osmo-bsc-nat/bsc_nat.c
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/main.c
A src/osmo-bsc-nat/msc.c
8 files changed, 120 insertions(+), 16 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/73/27473/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27473
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I711df0c649728f1007857fbfda500ed5ef69287b
Gerrit-Change-Number: 27473
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27474
to look at the new patch set (#4).
Change subject: Send RESET to MSC on start up
......................................................................
Send RESET to MSC on start up
Automatically send RESET to the MSC as the BSCNAT starts up. Try it
again if it fails, in case the MSC was not started yet or if the SCCP
connection was not up yet (right now it does not seem possible to get
notified when the SCCP connection is up).
Related: SYS#5560
Related: https://osmocom.org/projects/osmo-bscnat/wiki/AoIP_OsmoBSCNAT#RESET
Change-Id: Icfec3ec0168c7040e88a536fa48da339349fb6cf
---
M include/osmocom/bsc_nat/bssap.h
M include/osmocom/bsc_nat/msc.h
M src/osmo-bsc-nat/Makefile.am
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/bssap.c
M src/osmo-bsc-nat/msc.c
A src/osmo-bsc-nat/msc_fsm.c
7 files changed, 216 insertions(+), 19 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/74/27474/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27474
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: Icfec3ec0168c7040e88a536fa48da339349fb6cf
Gerrit-Change-Number: 27474
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27475
to look at the new patch set (#4).
Change subject: sccp_sap_up_ran: ignore RAN until MSC is connected
......................................................................
sccp_sap_up_ran: ignore RAN until MSC is connected
Related: SYS#5560
Change-Id: Idf9501412484fa92e8836952609fba7c5443d6c9
---
M include/osmocom/bsc_nat/msc.h
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/msc_fsm.c
3 files changed, 15 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/75/27475/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27475
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: Idf9501412484fa92e8836952609fba7c5443d6c9
Gerrit-Change-Number: 27475
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476
to look at the new patch set (#4).
Change subject: Support forwarding messages with multiple BSCs
......................................................................
Support forwarding messages with multiple BSCs
Implement a proper subscriber connection mapping. Create a new
subscr_conn when one of the stored BSCs sends a conn.ind and use that
subscr_conn for all related connection-oriented messages with the same
RAN-side conn_id to send messages back and forth between BSC and MSC.
Add subscr_conn_get_next_id based on OsmoBSC's
bsc_sccp_inst_next_conn_id.
With this patch, it's possible to do a successful Location Updating
procedure between MS2 and MSC in the following network:
MS1 --- BTS1 --- BSC1 --.
BSCNAT --- MSC
MS2 --- BTS2 --- BSC2 --'
Related: SYS#5560
Change-Id: I1556aa665fbb0a97507f98794e74820731fa6935
---
M doc/examples/osmo-bsc-nat/osmo-bsc-nat.cfg
M include/osmocom/bsc_nat/Makefile.am
M include/osmocom/bsc_nat/bsc.h
M include/osmocom/bsc_nat/bsc_nat.h
M include/osmocom/bsc_nat/msc.h
A include/osmocom/bsc_nat/subscr_conn.h
M src/osmo-bsc-nat/Makefile.am
M src/osmo-bsc-nat/bsc.c
M src/osmo-bsc-nat/bsc_nat.c
M src/osmo-bsc-nat/bsc_nat_fsm.c
M src/osmo-bsc-nat/msc.c
A src/osmo-bsc-nat/subscr_conn.c
12 files changed, 258 insertions(+), 85 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/76/27476/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27476
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I1556aa665fbb0a97507f98794e74820731fa6935
Gerrit-Change-Number: 27476
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27477
to look at the new patch set (#4).
Change subject: bsc_nat_fsm: tweak get_peer_addr
......................................................................
bsc_nat_fsm: tweak get_peer_addr
Rename the function from sccp_sap_get_peer_addr_in to get_peer_addr to
make the code using it slightly more readable. The _in at the end of
the function is not needed anymore, this was used to differentiate from
peer_addr_out which was used in the caller code before the connection
mapping was implemented in I1556aa665fbb0a97507f98794e74820731fa6935.
Now instead of peer_addr_out, subscr_conn->bsc->addr or
subscr_conn->msc->addr are used.
Rename variable arguments to sccp_inst and addr to be consistent with
the variable names in the callers.
Related: SYS#5560
Change-Id: Ie023360724254be54cbaac4490b0341dfe68399f
---
M src/osmo-bsc-nat/bsc_nat_fsm.c
1 file changed, 10 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/77/27477/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27477
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: Ie023360724254be54cbaac4490b0341dfe68399f
Gerrit-Change-Number: 27477
Gerrit-PatchSet: 4
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset