diff options
Diffstat (limited to 'src/gprs_pcu.h')
-rw-r--r-- | src/gprs_pcu.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/gprs_pcu.h b/src/gprs_pcu.h index 86fe8eb4..c789d914 100644 --- a/src/gprs_pcu.h +++ b/src/gprs_pcu.h @@ -6,8 +6,8 @@ * 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 + * 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, @@ -15,7 +15,7 @@ * 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 Affero General Public License + * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ @@ -25,6 +25,7 @@ #include <stdbool.h> #include <osmocom/core/gsmtap_util.h> +#include <osmocom/core/timer.h> #include "gprs_bssgp_pcu.h" #include "coding_scheme.h" @@ -42,6 +43,9 @@ #define PCU_TDEF_NEIGH_CACHE_ALIVE (-10) #define PCU_TDEF_SI_CACHE_ALIVE (-11) +/* If Multislot Class is not known during TS allocation, assume ms_class=12: Rx=4 Tx=4 Sum=5 */ +#define PCU_DEFAULT_MSLOT_CLASS 12 + /* see bts->gsmtap_categ_mask */ enum pcu_gsmtap_category { PCU_GSMTAP_C_DL_UNKNOWN = 0, /* unknown or undecodable downlink blocks */ @@ -65,10 +69,11 @@ enum pcu_gsmtap_category { struct gprs_rlcmac_bts; struct GprsMs; struct gprs_rlcmac_tbf; +struct alloc_resources_req; +struct alloc_resources_res; -typedef int (*alloc_algorithm_func_t)(struct gprs_rlcmac_bts *bts, - struct gprs_rlcmac_tbf *tbf, - bool single, int8_t use_tbf); +typedef int (*alloc_algorithm_func_t)(const struct alloc_resources_req *req, + struct alloc_resources_res *res); struct gprs_pcu { @@ -106,19 +111,18 @@ struct gprs_pcu { int ns_priority; uint16_t ws_base; uint16_t ws_pdch; /* increase WS by this value per PDCH */ + uint8_t msclass_default; /* Assume this MSCLASS if unknown when creating TBF */ 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 */ - /* Remote BSS resolution sevice (CTRL iface) */ - char *neigh_ctrl_addr; - uint16_t neigh_ctrl_port; } vty; struct gsmtap_inst *gsmtap; uint32_t gsmtap_categ_mask; + char *gsmtap_remote_host; - struct llist_head bts_list; /* list of gprs_rlcmac_tbf */ + struct llist_head bts_list; /* list of gprs_rlcmac_bts */ struct gprs_ns2_inst *nsi; @@ -130,6 +134,10 @@ struct gprs_pcu { struct neigh_cache *neigh_cache; /* ARFC+BSIC -> CGI PS cache */ struct si_cache *si_cache; /* ARFC+BSIC -> CGI PS cache */ + + struct osmo_timer_list update_stats_timer; /* Used to update some time_cc stats periodically */ + + uint8_t pcu_if_version; }; |