From 9bc42ec47b292ce2b51dc1967458e228eb0bf221 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 29 Aug 2016 13:02:12 +0200 Subject: 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 --- openbsc/include/openbsc/iu.h | 2 ++ openbsc/src/libiu/Makefile.am | 2 +- openbsc/src/libiu/iu_vty.c | 50 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 openbsc/src/libiu/iu_vty.c 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 + * 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 . + * + */ + +#include + +#include +#include + +/* 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); +} -- cgit v1.2.3