aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_pcu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gprs_pcu.h')
-rw-r--r--src/gprs_pcu.h28
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;
};