aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_vty.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pcu_vty.c')
-rw-r--r--src/pcu_vty.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index ef48027e..535d512b 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -129,6 +129,10 @@ static int config_write_pcu(struct vty *vty)
vty_out(vty, " window-size %d %d%s", bts->ws_base, bts->ws_pdch,
VTY_NEWLINE);
+ if (bts->dl_arq_type)
+ vty_out(vty, " egprs dl arq-type arq2%s",
+ VTY_NEWLINE);
+
if (bts->force_llc_lifetime == 0xffff)
vty_out(vty, " queue lifetime infinite%s", VTY_NEWLINE);
else if (bts->force_llc_lifetime)
@@ -474,6 +478,25 @@ DEFUN(cfg_pcu_no_mcs_max,
return CMD_SUCCESS;
}
+#define DL_STR "downlink specific configuration\n"
+
+DEFUN(cfg_pcu_dl_arq_type,
+ cfg_pcu_dl_arq_cmd,
+ "egprs dl arq-type (spb|arq2)",
+ EGPRS_STR DL_STR "ARQ options\n"
+ "enable SPB(ARQ1) support\n"
+ "enable ARQ2 support")
+{
+ struct gprs_rlcmac_bts *bts = bts_main_data();
+
+ if (!strcmp(argv[0], "arq2"))
+ bts->dl_arq_type = 1;
+ else
+ bts->dl_arq_type = 0;
+
+ return CMD_SUCCESS;
+}
+
DEFUN(cfg_pcu_window_size,
cfg_pcu_window_size_cmd,
"window-size <0-1024> [<0-256>]",
@@ -948,6 +971,7 @@ int pcu_vty_init(const struct log_info *cat)
install_element(PCU_NODE, &cfg_pcu_no_cs_downgrade_thrsh_cmd);
install_element(PCU_NODE, &cfg_pcu_cs_lqual_ranges_cmd);
install_element(PCU_NODE, &cfg_pcu_mcs_cmd);
+ install_element(PCU_NODE, &cfg_pcu_dl_arq_cmd);
install_element(PCU_NODE, &cfg_pcu_no_mcs_cmd);
install_element(PCU_NODE, &cfg_pcu_mcs_max_cmd);
install_element(PCU_NODE, &cfg_pcu_no_mcs_max_cmd);