aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-08-29 13:02:12 +0200
committerHarald Welte <laforge@gnumonks.org>2016-08-31 11:11:07 +0000
commit9bc42ec47b292ce2b51dc1967458e228eb0bf221 (patch)
tree162456b875186b2710701e3dae847c890530091b
parent7e82ad20fa110b6b121ab82367f2e7c8995231b7 (diff)
IuPS: add VTY config for asn_debug
Add file iu_vty.c in libiu, and iu_vty_init() to initialize the new VTY command: log logging asn1-debug (1|0) Change-Id: If4e7d0ab3fc2ed0cdf4fb0a3fa077a9e34890918
-rw-r--r--openbsc/include/openbsc/iu.h2
-rw-r--r--openbsc/src/libiu/Makefile.am2
-rw-r--r--openbsc/src/libiu/iu_vty.c50
3 files changed, 53 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/iu.h b/openbsc/include/openbsc/iu.h
index d0ab54027..f973ac1ba 100644
--- a/openbsc/include/openbsc/iu.h
+++ b/openbsc/include/openbsc/iu.h
@@ -58,3 +58,5 @@ int iu_rab_act(struct ue_conn_ctx *ue_ctx, struct msgb *msg);
int iu_rab_deact(struct ue_conn_ctx *ue_ctx, uint8_t rab_id);
int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp,
int send_ck, int new_key);
+
+void iu_vty_init(int *asn_debug_p);
diff --git a/openbsc/src/libiu/Makefile.am b/openbsc/src/libiu/Makefile.am
index 7b1ba4d19..1968d3ec0 100644
--- a/openbsc/src/libiu/Makefile.am
+++ b/openbsc/src/libiu/Makefile.am
@@ -6,5 +6,5 @@ AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) \
noinst_LIBRARIES = libiu.a
-libiu_a_SOURCES = iu.c
+libiu_a_SOURCES = iu.c iu_vty.c
diff --git a/openbsc/src/libiu/iu_vty.c b/openbsc/src/libiu/iu_vty.c
new file mode 100644
index 000000000..91eed96be
--- /dev/null
+++ b/openbsc/src/libiu/iu_vty.c
@@ -0,0 +1,50 @@
+/* OpenBSC Iu related interface to quagga VTY */
+/* (C) 2016 by sysmocom s.m.f.c. GmbH <info@sysmocom.de>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <stdlib.h>
+
+#include <osmocom/vty/command.h>
+#include <osmocom/vty/logging.h>
+
+/* Pointer to the actual asn_debug value as passed from main scopes. */
+static int *g_asn_debug_p = NULL;
+
+DEFUN(logging_asn_debug,
+ logging_asn_debug_cmd,
+ "logging asn1-debug (1|0)",
+ LOGGING_STR
+ "Log human readable representations of all ASN.1 messages to stderr\n"
+ "Log decoded ASN.1 messages to stderr\n"
+ "Do not log decoded ASN.1 messages to stderr\n")
+{
+ if (!g_asn_debug_p) {
+ vty_out(vty, "%%ASN.1 debugging not available%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ *g_asn_debug_p = atoi(argv[0]);
+ return CMD_SUCCESS;
+}
+
+void iu_vty_init(int *asn_debug_p)
+{
+ g_asn_debug_p = asn_debug_p;
+
+ install_element(CFG_LOG_NODE, &logging_asn_debug_cmd);
+}