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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/22191 ) Change subject: Move llc_* fields from BTS to PCU ...................................................................... Move llc_* fields from BTS to PCU Change-Id: Iffb916e53fdf99164ad07cd19e4b35a64136307e --- M src/bts.cpp M src/bts.h M src/gprs_bssgp_pcu.cpp M src/gprs_ms.c M src/gprs_pcu.c M src/gprs_pcu.h M src/llc.cpp M src/pcu_vty.c M src/tbf_dl.cpp 9 files changed, 34 insertions(+), 65 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/22191/1 diff --git a/src/bts.cpp b/src/bts.cpp index 450c04e..92abdbf 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -201,9 +201,6 @@ bts->n3105 = 8; bts->si13_is_set = false; - bts->llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; - bts->llc_idle_ack_csec = 10; - bts->app_info = NULL; bts->bts = bts_obj; bts->T_defs_bts = T_defs_bts; diff --git a/src/bts.h b/src/bts.h index 87bdf3f..f165a7e 100644 --- a/src/bts.h +++ b/src/bts.h @@ -89,10 +89,6 @@ uint16_t mcs_mask; /* Allowed MCS mask from BTS */ uint8_t initial_cs_dl, initial_cs_ul; uint8_t initial_mcs_dl, initial_mcs_ul; - uint16_t force_llc_lifetime; /* overrides lifetime from SGSN */ - uint32_t llc_discard_csec; - uint32_t llc_idle_ack_csec; - uint32_t llc_codel_interval_msec; /* 0=disabled, -1=use default interval */ /* Timer defintions */ struct osmo_tdef *T_defs_bts; /* timers controlled by BTS, received through PCUIF */ uint8_t n3101; diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index c1a7a7d..1596d67 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -676,7 +676,7 @@ uint16_t bucket_time = the_pcu->vty.fc_bucket_time; if (bucket_time == 0) - bucket_time = bts->force_llc_lifetime; + bucket_time = the_pcu->vty.force_llc_lifetime; if (bucket_time == 0xffff) bucket_size = FC_MAX_BUCKET_SIZE; diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 291f0e8..9d303d6 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -121,7 +121,7 @@ ms_set_mode(ms, GPRS); if (ms->bts) - codel_interval = bts_data(ms->bts)->llc_codel_interval_msec; + codel_interval = the_pcu->vty.llc_codel_interval_msec; if (codel_interval) { if (codel_interval == LLC_CODEL_USE_DEFAULT) diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c index 18c5568..013c026 100644 --- a/src/gprs_pcu.c +++ b/src/gprs_pcu.c @@ -94,6 +94,8 @@ /* TODO: increase them when CRBB decoding is implemented */ pcu->vty.ws_base = 64; pcu->vty.ws_pdch = 0; + pcu->vty.llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; + pcu->vty.llc_idle_ack_csec = 10; pcu->T_defs = T_defs_pcu; osmo_tdefs_reset(pcu->T_defs); diff --git a/src/gprs_pcu.h b/src/gprs_pcu.h index b4e7c13..8fc15dc 100644 --- a/src/gprs_pcu.h +++ b/src/gprs_pcu.h @@ -97,6 +97,10 @@ enum gprs_ns2_dialect ns_dialect; /* Are we talking Gb with IP-SNS (true) or classic Gb? */ uint16_t ws_base; uint16_t ws_pdch; /* increase WS by this value per PDCH */ + uint16_t force_llc_lifetime; /* overrides lifetime from SGSN */ + uint32_t llc_discard_csec; + uint32_t llc_idle_ack_csec; + uint32_t llc_codel_interval_msec; /* 0=disabled, -1=use default interval */ } vty; struct gsmtap_inst *gsmtap; diff --git a/src/llc.cpp b/src/llc.cpp index d1122f5..51cb15a 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -224,8 +224,8 @@ void gprs_llc_queue::calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, struct timespec *tv) { uint16_t delay_csec; - if (bts->bts_data()->force_llc_lifetime) - delay_csec = bts->bts_data()->force_llc_lifetime; + if (bts->pcu->vty.force_llc_lifetime) + delay_csec = bts->pcu->vty.force_llc_lifetime; else delay_csec = pdu_delay_csec; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 5e9da45..0be914b 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -201,24 +201,24 @@ if (the_pcu->vty.dl_arq_type == EGPRS_ARQ2) vty_out(vty, " egprs dl arq-type arq2%s", VTY_NEWLINE); - if (bts->force_llc_lifetime == 0xffff) + if (the_pcu->vty.force_llc_lifetime == 0xffff) vty_out(vty, " queue lifetime infinite%s", VTY_NEWLINE); - else if (bts->force_llc_lifetime) - vty_out(vty, " queue lifetime %d%s", bts->force_llc_lifetime, + else if (the_pcu->vty.force_llc_lifetime) + vty_out(vty, " queue lifetime %d%s", the_pcu->vty.force_llc_lifetime, VTY_NEWLINE); - if (bts->llc_discard_csec) - vty_out(vty, " queue hysteresis %d%s", bts->llc_discard_csec, + if (the_pcu->vty.llc_discard_csec) + vty_out(vty, " queue hysteresis %d%s", the_pcu->vty.llc_discard_csec, VTY_NEWLINE); - if (bts->llc_idle_ack_csec) - vty_out(vty, " queue idle-ack-delay %d%s", bts->llc_idle_ack_csec, + if (the_pcu->vty.llc_idle_ack_csec) + vty_out(vty, " queue idle-ack-delay %d%s", the_pcu->vty.llc_idle_ack_csec, VTY_NEWLINE); - if (bts->llc_codel_interval_msec == LLC_CODEL_USE_DEFAULT) + if (the_pcu->vty.llc_codel_interval_msec == LLC_CODEL_USE_DEFAULT) vty_out(vty, " queue codel%s", VTY_NEWLINE); - else if (bts->llc_codel_interval_msec == LLC_CODEL_DISABLE) + else if (the_pcu->vty.llc_codel_interval_msec == LLC_CODEL_DISABLE) vty_out(vty, " no queue codel%s", VTY_NEWLINE); else vty_out(vty, " queue codel interval %d%s", - bts->llc_codel_interval_msec/10, VTY_NEWLINE); + the_pcu->vty.llc_codel_interval_msec/10, VTY_NEWLINE); if (the_pcu->alloc_algorithm == alloc_algorithm_a) vty_out(vty, " alloc-algorithm a%s", VTY_NEWLINE); @@ -579,11 +579,8 @@ "queue lifetime <1-65534>", QUEUE_STR LIFETIME_STR "Lifetime in centi-seconds") { - struct gprs_rlcmac_bts *bts = bts_main_data(); uint16_t csec = atoi(argv[0]); - - bts->force_llc_lifetime = csec; - + the_pcu->vty.force_llc_lifetime = csec; return CMD_SUCCESS; } @@ -593,10 +590,7 @@ "queue lifetime infinite", QUEUE_STR LIFETIME_STR "Infinite lifetime") { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->force_llc_lifetime = 0xffff; - + the_pcu->vty.force_llc_lifetime = 0xffff; return CMD_SUCCESS; } @@ -607,10 +601,7 @@ NO_STR QUEUE_STR "Disable lifetime limit of LLC frame (use value given " "by SGSN)\n") { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->force_llc_lifetime = 0; - + the_pcu->vty.force_llc_lifetime = 0; return CMD_SUCCESS; } @@ -623,11 +614,8 @@ "queue hysteresis <1-65535>", QUEUE_STR QUEUE_HYSTERESIS_STR "Hysteresis in centi-seconds") { - struct gprs_rlcmac_bts *bts = bts_main_data(); uint16_t csec = atoi(argv[0]); - - bts->llc_discard_csec = csec; - + the_pcu->vty.llc_discard_csec = csec; return CMD_SUCCESS; } @@ -637,10 +625,7 @@ "no queue hysteresis", NO_STR QUEUE_STR QUEUE_HYSTERESIS_STR) { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->llc_discard_csec = 0; - + the_pcu->vty.llc_discard_csec = 0; return CMD_SUCCESS; } @@ -651,10 +636,7 @@ "queue codel", QUEUE_STR QUEUE_CODEL_STR) { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; - + the_pcu->vty.llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; return CMD_SUCCESS; } @@ -664,11 +646,8 @@ "queue codel interval <1-1000>", QUEUE_STR QUEUE_CODEL_STR "Specify interval\n" "Interval in centi-seconds") { - struct gprs_rlcmac_bts *bts = bts_main_data(); uint16_t csec = atoi(argv[0]); - - bts->llc_codel_interval_msec = 10*csec; - + the_pcu->vty.llc_codel_interval_msec = 10*csec; return CMD_SUCCESS; } @@ -678,10 +657,7 @@ "no queue codel", NO_STR QUEUE_STR QUEUE_CODEL_STR) { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->llc_codel_interval_msec = LLC_CODEL_DISABLE; - + the_pcu->vty.llc_codel_interval_msec = LLC_CODEL_DISABLE; return CMD_SUCCESS; } @@ -694,11 +670,8 @@ QUEUE_STR QUEUE_IDLE_ACK_STR "Idle ACK delay in centi-seconds", CMD_ATTR_IMMEDIATE) { - struct gprs_rlcmac_bts *bts = bts_main_data(); uint16_t csec = atoi(argv[0]); - - bts->llc_idle_ack_csec = csec; - + the_pcu->vty.llc_idle_ack_csec = csec; return CMD_SUCCESS; } @@ -708,10 +681,7 @@ NO_STR QUEUE_STR QUEUE_IDLE_ACK_STR, CMD_ATTR_IMMEDIATE) { - struct gprs_rlcmac_bts *bts = bts_main_data(); - - bts->llc_idle_ack_csec = 0; - + the_pcu->vty.llc_idle_ack_csec = 0; return CMD_SUCCESS; } diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 87b8ba1..4f6a4e5b 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -202,9 +202,9 @@ void gprs_rlcmac_dl_tbf::start_llc_timer() { - if (bts_data()->llc_idle_ack_csec > 0) { + if (the_pcu->vty.llc_idle_ack_csec > 0) { struct timespec tv; - csecs_to_timespec(bts_data()->llc_idle_ack_csec, &tv); + csecs_to_timespec(the_pcu->vty.llc_idle_ack_csec, &tv); osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_nsec / 1000); } } @@ -348,8 +348,8 @@ const unsigned keep_small_thresh = 60; const MetaInfo *info; - if (bts_data()->llc_discard_csec) - csecs_to_timespec(bts_data()->llc_discard_csec, &hyst_delta); + if (the_pcu->vty.llc_discard_csec) + csecs_to_timespec(the_pcu->vty.llc_discard_csec, &hyst_delta); osmo_clock_gettime(CLOCK_MONOTONIC, &tv_now); timespecadd(&tv_now, &hyst_delta, &tv_now2); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/22191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iffb916e53fdf99164ad07cd19e4b35a64136307e Gerrit-Change-Number: 22191 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210114/caa9a527/attachment.htm>