aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom')
-rw-r--r--include/osmocom/bsc/Makefile.am1
-rw-r--r--include/osmocom/bsc/gsm_data.h6
-rw-r--r--include/osmocom/bsc/handover_cfg.h2
-rw-r--r--include/osmocom/bsc/handover_decision_2.h9
4 files changed, 18 insertions, 0 deletions
diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am
index 924711999..a5d7d18f0 100644
--- a/include/osmocom/bsc/Makefile.am
+++ b/include/osmocom/bsc/Makefile.am
@@ -24,6 +24,7 @@ noinst_HEADERS = \
handover.h \
handover_cfg.h \
handover_decision.h \
+ handover_decision_2.h \
handover_vty.h \
ipaccess.h \
meas_feed.h \
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index bf8759575..07e54782a 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -116,6 +116,7 @@ struct gsm_subscriber_connection {
unsigned int ho_dtap_cache_len;
struct {
+ int failures;
struct penalty_timers *penalty_timers;
} hodec2;
@@ -1197,7 +1198,12 @@ struct gsm_network {
/* bit-mask of permitted encryption algorithms. LSB=A5/0, MSB=A5/7 */
uint8_t a5_encryption_mask;
int neci;
+
struct handover_cfg *ho;
+ struct {
+ unsigned int congestion_check_interval_s;
+ struct osmo_timer_list congestion_check_timer;
+ } hodec2;
struct rate_ctr_group *bsc_ctrs;
diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h
index 55b9dbcee..024bc974f 100644
--- a/include/osmocom/bsc/handover_cfg.h
+++ b/include/osmocom/bsc/handover_cfg.h
@@ -10,6 +10,8 @@ struct vty;
* the defaults from 'network' level are used implicitly, and changes take effect immediately. */
struct handover_cfg;
+#define HO_CFG_CONGESTION_CHECK_DEFAULT 10
+
struct handover_cfg *ho_cfg_init(void *ctx, struct handover_cfg *higher_level_cfg);
#define HO_CFG_STR_HANDOVER1 "Handover options for handover decision algorithm 1\n"
diff --git a/include/osmocom/bsc/handover_decision_2.h b/include/osmocom/bsc/handover_decision_2.h
new file mode 100644
index 000000000..f245b073e
--- /dev/null
+++ b/include/osmocom/bsc/handover_decision_2.h
@@ -0,0 +1,9 @@
+/* Handover Decision Algorithm 2 for intra-BSC (inter-BTS) handover, public API for OsmoBSC */
+
+#pragma once
+struct gsm_bts;
+
+void hodec2_init(struct gsm_network *net);
+
+void hodec2_on_change_congestion_check_interval(struct gsm_network *net, unsigned int new_interval);
+void hodec2_congestion_check(struct gsm_network *net);