vty: Introduce cs7-instance-iu

Similar to what we already have in osmo-msc.

Change-Id: Iaa9e1d06dd0430848ef4f7498a3c15d13f899904
diff --git a/src/gprs/sgsn_main.c b/src/gprs/sgsn_main.c
index 5979886..4232e23 100644
--- a/src/gprs/sgsn_main.c
+++ b/src/gprs/sgsn_main.c
@@ -500,7 +500,9 @@
 
 #if BUILD_IU
 	/* Note that these are mostly defaults and can be overriden from the VTY */
-	sccp = osmo_sccp_simple_client_on_ss7_id(tall_sgsn_ctx, 0, "OsmoSGSN",
+	sccp = osmo_sccp_simple_client_on_ss7_id(tall_sgsn_ctx,
+						 sgsn->cfg.iu.cs7_instance,
+						 "OsmoSGSN",
 						 (23 << 3) + 4,
 						 OSMO_SS7_ASP_PROT_M3UA,
 						 0, NULL,
diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c
index 6698691..68d3a77 100644
--- a/src/gprs/sgsn_vty.c
+++ b/src/gprs/sgsn_vty.c
@@ -289,6 +289,8 @@
 		vty_out(vty, " no compression v42bis%s", VTY_NEWLINE);
 
 #ifdef BUILD_IU
+	vty_out(vty, " cs7-instance-iu %u%s", g_cfg->iu.cs7_instance,
+		VTY_NEWLINE);
 	ranap_iu_vty_config_write(vty, " ");
 #endif
 
@@ -1378,6 +1380,17 @@
 	return CMD_SUCCESS;
 }
 
+#if BUILD_IU
+DEFUN(cfg_sgsn_cs7_instance_iu,
+      cfg_sgsn_cs7_instance_iu_cmd,
+      "cs7-instance-iu <0-15>",
+      "Set SS7 to be used by the Iu-Interface.\n" "SS7 instance reference number (default: 0)\n")
+{
+	g_cfg->iu.cs7_instance = atoi(argv[0]);
+	return CMD_SUCCESS;
+}
+#endif
+
 int sgsn_vty_init(struct sgsn_config *cfg)
 {
 	g_cfg = cfg;
@@ -1441,6 +1454,7 @@
 	install_element(SGSN_NODE, &cfg_comp_v42bisp_cmd);
 
 #ifdef BUILD_IU
+	install_element(SGSN_NODE, &cfg_sgsn_cs7_instance_iu_cmd);
 	ranap_iu_vty_init(SGSN_NODE, &g_cfg->iu.rab_assign_addr_enc);
 #endif
 	return 0;