[PATCH] VTY changes for FANR feature

Aravind Sirsikar arvind.sirsikar at radisys.com
Wed Mar 9 12:37:14 UTC 2016


Enables user to Enable/Disable FANR feature from VTY interface

This is second patch among series of patches for FANR feature
---
 src/bts.h        |    1 +
 src/pcu_main.cpp |    4 ++++
 src/pcu_vty.c    |   35 +++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/src/bts.h b/src/bts.h
index ccb8025..7e3ea80 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -192,6 +192,7 @@ struct gprs_rlcmac_bts {
 	uint8_t force_two_phase;
 	uint8_t alpha, gamma;
 	uint8_t egprs_enabled;
+	uint8_t fanr_enabled;
         uint8_t initial_mcs_dl;
         uint8_t initial_mcs_ul;
         uint8_t max_mcs_dl;
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 9f38742..32d234d 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -183,6 +183,10 @@ int main(int argc, char *argv[])
         bts->initial_mcs_ul = 1;
 	bts->max_mcs_ul = 9;
 	bts->max_mcs_dl = 9;
+
+	bts->egprs_enabled = true;
+	bts->fanr_enabled = false;
+
 	/* CS-1 to CS-4 */
 	bts->cs_lqual_ranges[0].low = -256;
 	bts->cs_lqual_ranges[0].high = 6;
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index edc777d..90c828b 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -59,6 +59,11 @@ static int config_write_pcu(struct vty *vty)
 	else
 		vty_out(vty, " no egprs%s", VTY_NEWLINE);
 
+	if (bts->fanr_enabled)
+		vty_out(vty, " egprs fanr %s", VTY_NEWLINE);
+	else
+		vty_out(vty, " no egprs fanr%s", VTY_NEWLINE);
+
 	vty_out(vty, " flow-control-interval %d%s", bts->fc_interval,
 		VTY_NEWLINE);
 	if (bts->fc_bvc_bucket_size)
@@ -201,6 +206,34 @@ DEFUN(cfg_pcu_no_egprs,
 	return CMD_SUCCESS;
 }
 
+#define EGPRS_FANR_STR "EGPRS FANR configuration\n"
+
+DEFUN(cfg_pcu_egprs_fanr,
+      cfg_pcu_egprs_fanr_cmd,
+      "egprs_fanr",
+      EGPRS_FANR_STR)
+{
+	struct gprs_rlcmac_bts *bts = bts_main_data();
+
+	bts->fanr_enabled = 1;
+	vty_out(vty, "%%EGPRS FANR is enabled %s", VTY_NEWLINE);
+
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_pcu_no_egprs_fanr,
+      cfg_pcu_no_egprs_fanr_cmd,
+      "no egprs fanr",
+      NO_STR EGPRS_FANR_STR)
+{
+	struct gprs_rlcmac_bts *bts = bts_main_data();
+
+	bts->fanr_enabled = 0;
+	vty_out(vty, "%%EGPRS FANR is disabled %s", VTY_NEWLINE);
+
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_pcu_fc_interval,
       cfg_pcu_fc_interval_cmd,
       "flow-control-interval <1-10>",
@@ -929,6 +962,8 @@ int pcu_vty_init(const struct log_info *cat)
 	vty_install_default(PCU_NODE);
 	install_element(PCU_NODE, &cfg_pcu_egprs_cmd);
 	install_element(PCU_NODE, &cfg_pcu_no_egprs_cmd);
+	install_element(PCU_NODE, &cfg_pcu_egprs_fanr_cmd);
+	install_element(PCU_NODE, &cfg_pcu_no_egprs_fanr_cmd);
 	install_element(PCU_NODE, &cfg_pcu_no_two_phase_cmd);
 	install_element(PCU_NODE, &cfg_pcu_cs_cmd);
 	install_element(PCU_NODE, &cfg_pcu_no_cs_cmd);
-- 
1.7.9.5





More information about the osmocom-net-gprs mailing list