aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_vty.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-09-23 06:41:21 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-09-23 06:41:21 +0200
commitcd8a83a42c44a749a801cb53ec8e9888fcd153d0 (patch)
treef3c1c29cdeb5488da6aa335889125782146fdac8 /src/pcu_vty.c
parent4b39dd1c00ee5b835bd83161e8d66a0eb796a8c9 (diff)
Statefull reset and unblock BVCs and sending flow control messages
The flow control interval can be set via VTY.
Diffstat (limited to 'src/pcu_vty.c')
-rw-r--r--src/pcu_vty.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index 39a1b722..8d5b47b1 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -79,6 +79,8 @@ static int config_write_pcu(struct vty *vty)
struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts;
vty_out(vty, "pcu%s", VTY_NEWLINE);
+ vty_out(vty, " flow-control-interval %d%s", bts->fc_interval,
+ VTY_NEWLINE);
if (bts->force_cs)
vty_out(vty, " cs %d%s", bts->initial_cs, VTY_NEWLINE);
if (bts->force_llc_lifetime == 0xffff)
@@ -106,6 +108,19 @@ DEFUN(cfg_pcu,
return CMD_SUCCESS;
}
+DEFUN(cfg_pcu_fc_interval,
+ cfg_pcu_fc_interval_cmd,
+ "flow-control-interval <1..10>",
+ "Interval between sending subsequent Flow Control PDUs\n"
+ "Tiem in seconds\n")
+{
+ struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts;
+
+ bts->fc_interval = atoi(argv[0]);
+
+ return CMD_SUCCESS;
+}
+
DEFUN(cfg_pcu_cs,
cfg_pcu_cs_cmd,
"cs <1-4>",
@@ -242,6 +257,7 @@ int pcu_vty_init(const struct log_info *cat)
install_node(&pcu_node, config_write_pcu);
install_element(CONFIG_NODE, &cfg_pcu_cmd);
install_default(PCU_NODE);
+ 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);
install_element(PCU_NODE, &cfg_pcu_queue_lifetime_cmd);
@@ -249,7 +265,7 @@ int pcu_vty_init(const struct log_info *cat)
install_element(PCU_NODE, &cfg_pcu_no_queue_lifetime_cmd);
install_element(PCU_NODE, &cfg_pcu_alloc_cmd);
install_element(PCU_NODE, &cfg_pcu_two_phase_cmd);
- install_element(PCU_NODE, &cfg_pcu_no_two_phase_cmd);
+ install_element(PCU_NODE, &cfg_pcu_fc_interval_cmd);
install_element(PCU_NODE, &ournode_end_cmd);
return 0;