Change in osmo-bsc[master]: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1

2021-04-07 Thread laforge
laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/23647 )

Change subject: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description 
from SI1
..

[hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1

Calling generate_cell_chan_list() on each Assignment Command is
quite expensive, because this function basically re-constructs
the Cell Allocation (using bitvec API) and the Frequency List
from scratch.  This IE can be borrowed from pre-calculated
SI1 message, so let's do this.

Change-Id: I9c8c5ae9059ff096765412b3f3c7181a94163afc
---
M src/osmo-bsc/gsm_04_08_rr.c
1 file changed, 5 insertions(+), 3 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index a448126..4a47c66 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -592,9 +592,11 @@

/* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 
10.5.2.1b) */
if (lchan->ts->hopping.enabled) {
-   uint8_t *chan_desc = msgb_put(msg, 1 + 16); /* tag + fixed 
length */
-   generate_cell_chan_list(chan_desc + 1, 
dest_lchan->ts->trx->bts);
-   chan_desc[0] = GSM48_IE_CELL_CH_DESC;
+   const struct gsm48_system_information_type_1 *si1 = \
+   GSM_BTS_SI(lchan->ts->trx->bts, 1);
+   msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC,
+ sizeof(si1->cell_channel_description),
+ si1->cell_channel_description);
}

msgb_tv_put(msg, GSM48_IE_CHANMODE_1, lchan->tch_mode);

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23647
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I9c8c5ae9059ff096765412b3f3c7181a94163afc
Gerrit-Change-Number: 23647
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-MessageType: merged


Change in osmo-bsc[master]: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1

2021-04-07 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/23647 )

Change subject: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description 
from SI1
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23647
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I9c8c5ae9059ff096765412b3f3c7181a94163afc
Gerrit-Change-Number: 23647
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 07 Apr 2021 16:27:12 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-bsc[master]: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1

2021-04-05 Thread fixeria
fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/23647 )


Change subject: [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description 
from SI1
..

[hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1

Calling generate_cell_chan_list() on each Assignment Command is
quite expensive, because this function basically re-constructs
the Cell Allocation (using bitvec API) and the Frequency List
from scratch.  This IE can be borrowed from pre-calculated
SI1 message, so let's do this.

Change-Id: I9c8c5ae9059ff096765412b3f3c7181a94163afc
---
M src/osmo-bsc/gsm_04_08_rr.c
1 file changed, 5 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/23647/1

diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index a448126..4a47c66 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -592,9 +592,11 @@

/* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 
10.5.2.1b) */
if (lchan->ts->hopping.enabled) {
-   uint8_t *chan_desc = msgb_put(msg, 1 + 16); /* tag + fixed 
length */
-   generate_cell_chan_list(chan_desc + 1, 
dest_lchan->ts->trx->bts);
-   chan_desc[0] = GSM48_IE_CELL_CH_DESC;
+   const struct gsm48_system_information_type_1 *si1 = \
+   GSM_BTS_SI(lchan->ts->trx->bts, 1);
+   msgb_tv_fixed_put(msg, GSM48_IE_CELL_CH_DESC,
+ sizeof(si1->cell_channel_description),
+ si1->cell_channel_description);
}

msgb_tv_put(msg, GSM48_IE_CHANMODE_1, lchan->tch_mode);

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23647
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I9c8c5ae9059ff096765412b3f3c7181a94163afc
Gerrit-Change-Number: 23647
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-MessageType: newchange