ASN.1 debug printouts hided by default
- ASN.1 debug printouts are made now on logger level >= 4
Change-Id: I2b3072825c16742c1cea9a8b1612d65c53b1bd3a
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
diff --git a/e2ap/libe2ap_wrapper/E2AP_if.c b/e2ap/libe2ap_wrapper/E2AP_if.c
index 8686908..fe0d5d5 100644
--- a/e2ap/libe2ap_wrapper/E2AP_if.c
+++ b/e2ap/libe2ap_wrapper/E2AP_if.c
@@ -27,12 +27,7 @@
#include "asn_constant.h"
#include "E2AP_if.h"
-
-#ifdef DEBUG
- static const bool debug = true;
-#else
- static const bool debug = true; //false;
-#endif
+static bool debugPrints = false;
const int64_t cMaxNrOfErrors = 256;
const uint64_t cMaxSizeOfOctetString = 1024;
@@ -75,6 +70,11 @@
} IdOctects_t;
//////////////////////////////////////////////////////////////////////
+void allowASN1DebugPrints(bool allowASN1DebugPrints) {
+ debugPrints = allowASN1DebugPrints;
+}
+
+//////////////////////////////////////////////////////////////////////
const char* getE2ErrorString(uint64_t errorCode) {
return E2ErrorStrings[errorCode];
@@ -83,8 +83,7 @@
/////////////////////////////////////////////////////////////////////
bool E2encode(E2AP_PDU_t* pE2AP_PDU, size_t* dataBufferSize, byte* dataBuffer, char* pLogBuffer) {
- // Debug print
- if (debug)
+ if (debugPrints)
asn_fprint(stdout, &asn_DEF_E2AP_PDU, pE2AP_PDU);
asn_enc_rval_t rval;
@@ -100,7 +99,7 @@
return false;
}
else {
- if (debug)
+ if (debugPrints)
sprintf(pLogBuffer,"Successfully encoded %s. Buffer size %zu, encoded size %zu",asn_DEF_E2AP_PDU.name, *dataBufferSize, rval.encoded);
ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pE2AP_PDU);
@@ -653,8 +652,7 @@
rval = asn_decode(0, ATS_ALIGNED_BASIC_PER, &asn_DEF_E2AP_PDU, (void **)&pE2AP_PDU, dataBuffer, dataBufferSize);
switch (rval.code) {
case RC_OK:
- // Debug print
- if (debug) {
+ if (debugPrints) {
sprintf(pLogBuffer,"Successfully decoded E2AP-PDU");
asn_fprint(stdout, &asn_DEF_E2AP_PDU, pE2AP_PDU);
}
diff --git a/e2ap/libe2ap_wrapper/E2AP_if.h b/e2ap/libe2ap_wrapper/E2AP_if.h
index aab8aaa..c52db2b 100644
--- a/e2ap/libe2ap_wrapper/E2AP_if.h
+++ b/e2ap/libe2ap_wrapper/E2AP_if.h
@@ -429,6 +429,8 @@
//////////////////////////////////////////////////////////////////////
// Function declarations
+void allowASN1DebugPrints(bool);
+
const char* getE2ErrorString(uint64_t);
typedef void* e2ap_pdu_ptr_t;
diff --git a/e2ap/pkg/e2ap_wrapper/packer_e2ap.go b/e2ap/pkg/e2ap_wrapper/packer_e2ap.go
index dafac42..dcf84ab 100644
--- a/e2ap/pkg/e2ap_wrapper/packer_e2ap.go
+++ b/e2ap/pkg/e2ap_wrapper/packer_e2ap.go
@@ -1116,6 +1116,19 @@
}
//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+func SetASN1DebugPrintStatus(logLevel int) {
+ if logLevel >= 4 {
+ fmt.Println("Setting ASN1 debug prints ON")
+ C.allowASN1DebugPrints(true)
+ } else {
+ fmt.Println("Setting ASN1 debug prints OFF")
+ C.allowASN1DebugPrints(false)
+ }
+}
+
+//-----------------------------------------------------------------------------
// Public E2AP packer creators
//-----------------------------------------------------------------------------
diff --git a/pkg/control/control.go b/pkg/control/control.go
index a3d9cdb..08000b0 100755
--- a/pkg/control/control.go
+++ b/pkg/control/control.go
@@ -150,7 +150,7 @@
e2SubsDb: CreateSdl(),
restSubsDb: CreateRESTSdl(),
Counters: xapp.Metric.RegisterCounterGroup(GetMetricsOpts(), "SUBMGR"),
- LoggerLevel: 4,
+ LoggerLevel: 1,
}
e2IfState.Init(c)
@@ -161,16 +161,13 @@
xapp.Resource.InjectRoute("/ric/v1/restsubscriptions", c.GetAllRestSubscriptions, "GET")
xapp.Resource.InjectRoute("/ric/v1/symptomdata", c.SymptomDataHandler, "GET")
- if readSubsFromDb == "false" {
- return c
+ if readSubsFromDb == "true" {
+ // Read subscriptions from db
+ c.ReadE2Subscriptions()
+ c.ReadRESTSubscriptions()
}
- // Read subscriptions from db
- c.ReadE2Subscriptions()
- c.ReadRESTSubscriptions()
-
go xapp.Subscription.Listen(c.RESTSubscriptionHandler, c.RESTQueryHandler, c.RESTSubscriptionDeleteHandler)
-
return c
}
@@ -242,6 +239,7 @@
c.LoggerLevel = int(xapp.Logger.GetLevel())
xapp.Logger.Debug("LoggerLevel= %v", c.LoggerLevel)
+ c.e2ap.SetASN1DebugPrintStatus(c.LoggerLevel)
// viper.GetDuration returns nanoseconds
e2tSubReqTimeout = viper.GetDuration("controls.e2tSubReqTimeout_ms") * 1000000
diff --git a/pkg/control/e2ap.go b/pkg/control/e2ap.go
index 0aa5ebe..0d763e6 100644
--- a/pkg/control/e2ap.go
+++ b/pkg/control/e2ap.go
@@ -50,6 +50,13 @@
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
+func (c *E2ap) SetASN1DebugPrintStatus(logLevel int) {
+ e2ap_wrapper.SetASN1DebugPrintStatus(logLevel)
+}
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
func (c *E2ap) FillSubscriptionReqMsgs(params interface{}, subreqList *e2ap.SubscriptionRequestList, restSubscription *RESTSubscription) error {
xapp.Logger.Debug("FillSubscriptionReqMsgs")
diff --git a/pkg/control/ut_ctrl_submgr_test.go b/pkg/control/ut_ctrl_submgr_test.go
index 8d559bd..3a11983 100644
--- a/pkg/control/ut_ctrl_submgr_test.go
+++ b/pkg/control/ut_ctrl_submgr_test.go
@@ -56,7 +56,8 @@
mainCtrl.RmrControl.Init("SUBMGRCTL", srcId, rtgSvc)
mainCtrl.c = NewControl()
mainCtrl.c.UTTesting = true
- mainCtrl.c.LoggerLevel = int(xapp.Logger.GetLevel())
+ mainCtrl.c.LoggerLevel = 4
+ mainCtrl.c.e2ap.SetASN1DebugPrintStatus(mainCtrl.c.LoggerLevel)
xapp.Logger.Debug("Test: LoggerLevel %v", mainCtrl.c.LoggerLevel)
xapp.Logger.Debug("Replacing real db with test db")
mainCtrl.c.e2SubsDb = CreateMock() // This overrides real E2 Subscription database for testing