This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17730 ) Change subject: vty: clarify EGPRS Packet Channel Request message support ...................................................................... vty: clarify EGPRS Packet Channel Request message support According to 3GPP TS 44.060, section 12.24, GPRS Cell Options IE contains two parameters related to 11 bit Access Burst support: - ACCESS_BURST_TYPE - whether the 8 or 11 bit format shall be used in the PACKET CHANNEL REQUEST message, the PTCCH/U block, PACKET CONTROL ACKNOWLEDGMENT and the PS HANDOVER ACCESS messages on the PRACH (if present). - EGPRS_PACKET_CHANNEL_REQUEST - whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST message for Uplink TBF establishment on the RACH or on the PRACH (if present). The VTY option 'gprs 11bit_rach_support_for_egprs' actually controls the second parameter - EGPRS_PACKET_CHANNEL_REQUEST, though it may be hard to understand this from its name and description. This patch is actually a group of tightly related changes: - deprecate 'gprs 11bit_rach_support_for_egprs (0|1)': - update its description to avoid any possible confusion, - print a warning if it's used in non-EGPRS mode, - print a warning if it's still used; - introduce '[no] gprs egprs-packet-channel-request': - ensure that it can only set / printed in the EGPRS mode; - take a chance to clean-up / rename the related struct members: - 'supports_egprs_11bit_rach' -> bool 'egprs_pkt_chan_request', - remove 'supports_egprs_11bit_rach' from 'gprs_cell_options' because we already have 'ext_info.use_egprs_p_ch_req' there. Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 --- M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/rest_octets.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/rest_octets.c M src/osmo-bsc/system_information.c 6 files changed, 76 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/17730/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f2266e4..dac4ec5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -3370,12 +3370,17 @@ <param name='egprs' doc='EGPRS (EDGE) Enabled on this BTS' /> </params> </command> - <command id='gprs 11bit_rach_support_for_egprs (0|1)'> + <command id='no gprs egprs-packet-channel-request'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='gprs' doc='GPRS Packet Network' /> + <param name='egprs-packet-channel-request' doc='EGPRS Packet Channel Request support' /> + </params> + </command> + <command id='gprs egprs-packet-channel-request'> <params> <param name='gprs' doc='GPRS Packet Network' /> - <param name='11bit_rach_support_for_egprs' doc='11 bit RACH options' /> - <param name='0' doc='Disable 11 bit RACH for EGPRS' /> - <param name='1' doc='Enable 11 bit RACH for EGPRS' /> + <param name='egprs-packet-channel-request' doc='EGPRS Packet Channel Request support' /> </params> </command> <command id='gprs ns timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries|tsns-prov) <0-255>'> diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2595174..9a1db07 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1150,7 +1150,6 @@ /* Not entirely sure how ip.access specific this is */ struct { - uint8_t supports_egprs_11bit_rach; enum bts_gprs_mode mode; struct { struct gsm_abis_mo mo; @@ -1167,6 +1166,7 @@ uint8_t rac; uint8_t net_ctrl_ord; bool ctrl_ack_type_use_block; + bool egprs_pkt_chan_request; } gprs; /* threshold (in percent) when BTS shall send CCCH LOAD IND */ diff --git a/include/osmocom/bsc/rest_octets.h b/include/osmocom/bsc/rest_octets.h index 2c1b162..7df66f7 100644 --- a/include/osmocom/bsc/rest_octets.h +++ b/include/osmocom/bsc/rest_octets.h @@ -82,7 +82,6 @@ uint32_t t3192; /* in milliseconds */ uint32_t drx_timer_max;/* in seconds */ uint32_t bs_cv_max; - uint8_t supports_egprs_11bit_rach; bool ctrl_ack_type_use_block; /* use PACKET CONTROL ACKNOWLEDGMENT */ uint8_t ext_info_present; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d3908be..f8bcee9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -736,9 +736,6 @@ if (bts->gprs.mode == BTS_GPRS_NONE) return; - vty_out(vty, " gprs 11bit_rach_support_for_egprs %u%s", - bts->gprs.supports_egprs_11bit_rach, VTY_NEWLINE); - vty_out(vty, " gprs routing area %u%s", bts->gprs.rac, VTY_NEWLINE); vty_out(vty, " gprs network-control-order nc%u%s", @@ -772,6 +769,12 @@ vty_out(vty, " gprs nsvc %u remote ip %s%s", i, inet_ntoa(ia), VTY_NEWLINE); } + + /* EGPRS specific parameters */ + if (bts->gprs.mode == BTS_GPRS_EGPRS) { + if (bts->gprs.egprs_pkt_chan_request) + vty_out(vty, " gprs egprs-packet-channel-request%s", VTY_NEWLINE); + } } /* Write the model data if there is one */ @@ -3126,22 +3129,65 @@ return CMD_SUCCESS; } -DEFUN(cfg_bts_gprs_11bit_rach_support_for_egprs, +DEFUN_DEPRECATED(cfg_bts_gprs_11bit_rach_support_for_egprs, cfg_bts_gprs_11bit_rach_support_for_egprs_cmd, "gprs 11bit_rach_support_for_egprs (0|1)", - GPRS_TEXT "11 bit RACH options\n" - "Disable 11 bit RACH for EGPRS\n" - "Enable 11 bit RACH for EGPRS\n") + GPRS_TEXT "EGPRS Packet Channel Request support\n" + "Disable EGPRS Packet Channel Request support\n" + "Enable EGPRS Packet Channel Request support\n") { struct gsm_bts *bts = vty->index; - bts->gprs.supports_egprs_11bit_rach = atoi(argv[0]); + vty_out(vty, "%% 'gprs 11bit_rach_support_for_egprs' is now deprecated: " + "use '[no] gprs egprs-packet-channel-request' instead%s", VTY_NEWLINE); - if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.supports_egprs_11bit_rach) { + bts->gprs.egprs_pkt_chan_request = (argv[0][0] == '1'); + + if (bts->gprs.mode == BTS_GPRS_NONE && bts->gprs.egprs_pkt_chan_request) { vty_out(vty, "%% (E)GPRS is not enabled (see 'gprs mode')%s", VTY_NEWLINE); return CMD_WARNING; } + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + /* Do not return here, keep the old behaviour. */ + } + + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_gprs_egprs_pkt_chan_req, + cfg_bts_gprs_egprs_pkt_chan_req_cmd, + "gprs egprs-packet-channel-request", + GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_no_gprs_egprs_pkt_chan_req, + cfg_bts_no_gprs_egprs_pkt_chan_req_cmd, + "no gprs egprs-packet-channel-request", + NO_STR GPRS_TEXT "EGPRS Packet Channel Request support") +{ + struct gsm_bts *bts = vty->index; + + if (bts->gprs.mode != BTS_GPRS_EGPRS) { + vty_out(vty, "%% EGPRS Packet Channel Request support requires " + "EGPRS mode to be enabled (see 'gprs mode')%s", VTY_NEWLINE); + return CMD_WARNING; + } + + bts->gprs.egprs_pkt_chan_request = false; return CMD_SUCCESS; } @@ -5406,6 +5452,8 @@ install_element(BTS_NODE, &cfg_bts_radio_link_timeout_inf_cmd); install_element(BTS_NODE, &cfg_bts_gprs_mode_cmd); install_element(BTS_NODE, &cfg_bts_gprs_11bit_rach_support_for_egprs_cmd); + install_element(BTS_NODE, &cfg_bts_no_gprs_egprs_pkt_chan_req_cmd); + install_element(BTS_NODE, &cfg_bts_gprs_egprs_pkt_chan_req_cmd); install_element(BTS_NODE, &cfg_bts_gprs_ns_timer_cmd); install_element(BTS_NODE, &cfg_bts_gprs_rac_cmd); install_element(BTS_NODE, &cfg_bts_gprs_net_ctrl_ord_cmd); diff --git a/src/osmo-bsc/rest_octets.c b/src/osmo-bsc/rest_octets.c index 1d2279b..2238b08 100644 --- a/src/osmo-bsc/rest_octets.c +++ b/src/osmo-bsc/rest_octets.c @@ -822,13 +822,8 @@ /* EGPRS supported in the cell */ bitvec_set_bit(bv, 1); - /* 1bit EGPRS PACKET CHANNEL REQUEST */ - if (gco->supports_egprs_11bit_rach == 0) { - bitvec_set_bit(bv, - gco->ext_info.use_egprs_p_ch_req); - } else { - bitvec_set_bit(bv, 0); - } + /* 1bit EGPRS PACKET CHANNEL REQUEST (inverted logic) */ + bitvec_set_bit(bv, !gco->ext_info.use_egprs_p_ch_req); /* 4bit BEP PERIOD */ bitvec_set_uint(bv, gco->ext_info.bep_period, 4); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 6e58419..d5be3f2 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1151,11 +1151,10 @@ .bs_cv_max = 15, .ctrl_ack_type_use_block = true, .ext_info_present = 0, - .supports_egprs_11bit_rach = 0, .ext_info = { /* The values below are just guesses ! */ .egprs_supported = 0, - .use_egprs_p_ch_req = 1, + .use_egprs_p_ch_req = 0, .bep_period = 5, .pfc_supported = 0, .dtm_supported = 0, @@ -1197,8 +1196,12 @@ /* Information about the other SIs */ si13_default.bcch_change_mark = bts->bcch_change_mark; - si13_default.cell_opts.supports_egprs_11bit_rach = - bts->gprs.supports_egprs_11bit_rach; + + /* Whether EGPRS capable MSs shall use EGPRS PACKET CHANNEL REQUEST */ + if (bts->gprs.egprs_pkt_chan_request) + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 1; + else + si13_default.cell_opts.ext_info.use_egprs_p_ch_req = 0; ret = rest_octets_si13(si13->rest_octets, &si13_default); if (ret < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17730 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ied5bd10a806aeeac65ef32339d4ab0e3700e5da9 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <axilirator at gmail.com> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200406/c4336d03/attachment.htm>