pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-cbc/+/28821 )
Change subject: Move ASN1C enc/dec logging to its own category ......................................................................
Move ASN1C enc/dec logging to its own category
ASN1C encoding/decoding can get really verbose. Furthermore, it should only be enabled under really specific conditions, so it makes sense to have it under its own category.
Change-Id: Ia4cbae2395532d9b5b7b9177a7d0f31bf777d751 --- M doc/examples/osmo-cbc/osmo-cbc.cfg M include/osmocom/cbc/debug.h M include/osmocom/sbcap/sbcap_common.h M include/osmocom/sbcap/sbcap_internal.h M src/cbc_main.c M src/sbcap/sbcap_common.c M tests/sbcap/sbcap_test.c 7 files changed, 29 insertions(+), 12 deletions(-)
Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, approved
diff --git a/doc/examples/osmo-cbc/osmo-cbc.cfg b/doc/examples/osmo-cbc/osmo-cbc.cfg index 847b901..7f5ebdc 100644 --- a/doc/examples/osmo-cbc/osmo-cbc.cfg +++ b/doc/examples/osmo-cbc/osmo-cbc.cfg @@ -1,8 +1,9 @@ log stderr logging level main notice - logging level rest notice logging level cbsp notice logging level sbcap notice + logging level asn1c notice + logging level rest notice cbc unknown-peers reject ecbe diff --git a/include/osmocom/cbc/debug.h b/include/osmocom/cbc/debug.h index 025419e..c0b3864 100644 --- a/include/osmocom/cbc/debug.h +++ b/include/osmocom/cbc/debug.h @@ -4,5 +4,6 @@ DMAIN, DCBSP, DSBcAP, + DASN1C, DREST, }; diff --git a/include/osmocom/sbcap/sbcap_common.h b/include/osmocom/sbcap/sbcap_common.h index 40da3ba..b0fc173 100644 --- a/include/osmocom/sbcap/sbcap_common.h +++ b/include/osmocom/sbcap/sbcap_common.h @@ -118,8 +118,8 @@
#include <osmocom/core/logging.h>
-extern int _sbcap_DSBCAP; -#define SBC_AP_DEBUG(x, args ...) DEBUGP(_sbcap_DSBCAP, x, ## args) +extern int _sbcap_DASN1C; +#define SBC_AP_DEBUG(x, args ...) DEBUGP(_sbcap_DASN1C, x, ## args)
extern int asn1_xer_print;
@@ -140,7 +140,7 @@ const char *sbcap_procedure_code_str(SBcAP_ProcedureCode_t pc); const char *sbcap_cause_str(SBcAP_Cause_t cause);
-void sbcap_set_log_area(int log_area); +void sbcap_set_log_area(int log_area_sbcap, int log_area_asn1c);
SBcAP_ProcedureCode_t sbcap_pdu_get_procedure_code(const SBcAP_SBC_AP_PDU_t *pdu); SBcAP_Criticality_t sbcap_pdu_get_criticality(const SBcAP_SBC_AP_PDU_t *pdu); diff --git a/include/osmocom/sbcap/sbcap_internal.h b/include/osmocom/sbcap/sbcap_internal.h index 81d058d..036c53b 100644 --- a/include/osmocom/sbcap/sbcap_internal.h +++ b/include/osmocom/sbcap/sbcap_internal.h @@ -2,7 +2,7 @@
#include <osmocom/core/logging.h>
-extern int _sbcap_DSBCAP; -#define SBC_AP_ASN_DEBUG(x, args ...) DEBUGP(_sbcap_DSBCAP, x "\n", ## args) +extern int _sbcap_DASN1C; +#define SBC_AP_ASN_DEBUG(x, args ...) DEBUGP(_sbcap_DASN1C, x "\n", ## args)
#define ASN_DEBUG SBC_AP_ASN_DEBUG diff --git a/src/cbc_main.c b/src/cbc_main.c index 9373c41..5096dc8 100644 --- a/src/cbc_main.c +++ b/src/cbc_main.c @@ -44,6 +44,8 @@ #include <osmocom/vty/logging.h> #include <osmocom/vty/misc.h>
+#include <osmocom/sbcap/sbcap_common.h> + #include <osmocom/cbc/debug.h> #include <osmocom/cbc/cbc_data.h> #include <osmocom/cbc/cbc_vty.h> @@ -74,6 +76,13 @@ .enabled = 1, .loglevel = LOGL_NOTICE, }, + [DASN1C] = { + .name = "DASN1C", + .description = "SBc-AP ASN1C enc/dec", + .color = "\033[1;34m", + .enabled = 1, + .loglevel = LOGL_NOTICE, + }, [DREST] = { .name = "DREST", .description = "REST interface", @@ -250,6 +259,7 @@ msgb_talloc_ctx_init(tall_cbc_ctx, 0); osmo_init_logging2(tall_cbc_ctx, &log_info); log_enable_multithread(); + sbcap_set_log_area(DSBcAP, DASN1C); osmo_stats_init(tall_cbc_ctx); vty_init(&vty_info);
diff --git a/src/sbcap/sbcap_common.c b/src/sbcap/sbcap_common.c index ddc0fed..a364c63 100644 --- a/src/sbcap/sbcap_common.c +++ b/src/sbcap/sbcap_common.c @@ -28,7 +28,9 @@ extern int asn1_xer_print;
int _sbcap_DSBCAP = 0; +int _sbcap_DASN1C = 0; #define DSBCAP _sbcap_DSBCAP +#define DASN1C _sbcap_DASN1C
static const struct value_string sbcap_procedure_code_vals[] = { { SBcAP_ProcedureId_Write_Replace_Warning, "Write-Replace-Warning" }, @@ -91,7 +93,8 @@ rval = aper_encode_to_buffer(&asn_DEF_SBcAP_SBC_AP_PDU, NULL, pdu, msgb_data(msg), msgb_tailroom(msg)); if (rval.encoded < 0) { - LOGP(DSBCAP, LOGL_ERROR, "Error encoding type: %s\n", + LOGP(DSBCAP, LOGL_ERROR, "%s: Error encoding type: %s\n", + sbcap_pdu_get_name(pdu), rval.failed_type->name); msgb_free(msg); return NULL; @@ -112,6 +115,7 @@ LOGP(DSBCAP, LOGL_ERROR, "Error decoding code=%d\n", rval.code); return NULL; } + LOGP(DSBCAP, LOGL_DEBUG, "Decoded %s\n", sbcap_pdu_get_name(pdu)); return pdu; }
@@ -192,9 +196,10 @@ return NULL; }
-void sbcap_set_log_area(int log_area) +void sbcap_set_log_area(int log_area_sbcap, int log_area_asn1c) { - _sbcap_DSBCAP = log_area; + _sbcap_DSBCAP = log_area_sbcap; + _sbcap_DASN1C = log_area_asn1c; }
SBcAP_Write_Replace_Warning_Request_IEs_t *sbcap_alloc_Write_Replace_Warning_Request_IE( diff --git a/tests/sbcap/sbcap_test.c b/tests/sbcap/sbcap_test.c index 9c8a60f..3298b60 100644 --- a/tests/sbcap/sbcap_test.c +++ b/tests/sbcap/sbcap_test.c @@ -202,8 +202,8 @@
static const struct log_info_cat log_categories[] = { [0] = { - .name = "DSBcAP", - .description = "SBc Application Part (CBC-MME)", + .name = "DMAIN", + .description = "main category", .color = "\033[1;32m", .enabled = 1, .loglevel = LOGL_DEBUG, @@ -220,7 +220,7 @@ void *ctx = talloc_named_const(NULL, 0, "mgcp_test"); void *msgb_ctx = msgb_talloc_ctx_init(ctx, 0); osmo_init_logging2(ctx, &log_info); - sbcap_set_log_area(0); + sbcap_set_log_area(0, 0); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); log_set_print_category_hex(osmo_stderr_target, 0); log_set_print_category(osmo_stderr_target, 0);
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one.