5.4.6 Change the number of CPU to 3 for 3 bounded SCTP/RMR threads insted of 1
[ric-plt/e2.git] / RIC-E2-TERMINATION / BuildRunName.h
index 801f365..3d4dc85 100644 (file)
@@ -43,10 +43,10 @@ static int translatePlmnId(char * plmnId, const unsigned char *data, const char*
 
     int j = 0;
     if (mnc3 != 15) {
-        j = snprintf(plmnId, 20, "%s%1d%1d%1d-%1d%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2, mnc3);
+        j = snprintf(plmnId, 20, "%s%1d%1d%1d_%1d%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2, mnc3);
     }
     else {
-        j = snprintf(plmnId, 20, "%s%1d%1d%1d-0%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2);
+        j = snprintf(plmnId, 20, "%s%1d%1d%1d_0%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2);
     }
 
     return j;
@@ -55,8 +55,22 @@ static int translatePlmnId(char * plmnId, const unsigned char *data, const char*
 static int translateBitStringToChar(char *ranName, BIT_STRING_t &data) {
     // dont care of last unused bits
     char buffer[256] {};
-    auto j = snprintf(buffer, 256, "%s-", ranName);
+    auto j = snprintf(buffer, 256, "%s_", ranName);
+
+    memcpy(ranName, buffer, j);
+/*
+ // ran name decimal
+    unsigned long bitValue = 0;
+    for (auto i = 0; i < (int)data.size; i++) {
+        bitValue <<= (unsigned long)8;
+        bitValue += data.buf[i];
+    }
+
+    j = snprintf(buffer, 256, "%s%ld", ranName, bitValue);
+
     memcpy(ranName, buffer, j);
+*/
+
 
     unsigned b1 = 0;
     unsigned b2 = 0;
@@ -77,7 +91,7 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) {
     switch (ie->value.choice.GlobalE2node_ID.present) {
         case GlobalE2node_ID_PR_gNB: {
             auto *gnb = ie->value.choice.GlobalE2node_ID.choice.gNB;
-            translatePlmnId(ranName, (const unsigned char *)gnb->global_gNB_ID.plmn_id.buf, (const char *)"gnb:");
+            translatePlmnId(ranName, (const unsigned char *)gnb->global_gNB_ID.plmn_id.buf, (const char *)"gnb_");
             if (gnb->global_gNB_ID.gnb_id.present == GNB_ID_Choice_PR_gnb_ID) {
                 translateBitStringToChar(ranName, gnb->global_gNB_ID.gnb_id.choice.gnb_ID);
             }
@@ -87,7 +101,7 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) {
             auto *enGnb = ie->value.choice.GlobalE2node_ID.choice.en_gNB;
             translatePlmnId(ranName,
                             (const unsigned char *)enGnb->global_gNB_ID.pLMN_Identity.buf,
-                            (const char *)"en-gnb:");
+                            (const char *)"en_gnb_");
             if (enGnb->global_gNB_ID.gNB_ID.present == ENGNB_ID_PR_gNB_ID) {
                 translateBitStringToChar(ranName, enGnb->global_gNB_ID.gNB_ID.choice.gNB_ID);
             }
@@ -95,23 +109,21 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) {
         }
         case GlobalE2node_ID_PR_ng_eNB: {
             auto *ngEnb = ie->value.choice.GlobalE2node_ID.choice.ng_eNB;
-            char *buf = (char *)ngEnb->global_ng_eNB_ID.plmn_id.buf;
-            char str[20] = {};
-            BIT_STRING_t *data = nullptr;
             switch (ngEnb->global_ng_eNB_ID.enb_id.present) {
                 case ENB_ID_Choice_PR_enb_ID_macro: {
-                    strncpy(str, (const char *)"ng-enB-macro:", 13);
-                    data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_macro;
+                    translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_macro_");
+                    translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_macro);
                     break;
                 }
                 case ENB_ID_Choice_PR_enb_ID_shortmacro: {
-                    strncpy(str, (const char *)"ng-enB-shortmacro:", 18);
-                    data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_shortmacro;
+                    translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_shortmacro_");
+                    translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_shortmacro);
                     break;
                 }
                 case ENB_ID_Choice_PR_enb_ID_longmacro: {
-                    strncpy(str, (const char *)"ng-enB-longmacro:", 17);
-                    data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_longmacro;
+                    translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_longmacro_");
+                    translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_longmacro);
+                    break;
                 }
                 case ENB_ID_Choice_PR_NOTHING: {
                     break;
@@ -119,45 +131,37 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) {
                 default:
                     break;
             }
-            translatePlmnId(ranName, (const unsigned char *)buf, (const char *)str);
-            translateBitStringToChar(ranName, *data);
-            break;
         }
         case GlobalE2node_ID_PR_eNB: {
             auto *enb = ie->value.choice.GlobalE2node_ID.choice.eNB;
-            char *buf = (char *)enb->global_eNB_ID.pLMN_Identity.buf;
-            char str[20] = {};
-            BIT_STRING_t *data = nullptr;
-
             switch (enb->global_eNB_ID.eNB_ID.present) {
                 case ENB_ID_PR_macro_eNB_ID: {
-                    strncpy(str, (const char *)"enB-macro:", 10);
-                    data = &enb->global_eNB_ID.eNB_ID.choice.macro_eNB_ID;
+                    translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_macro_");
+                    translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.macro_eNB_ID);
                     break;
                 }
                 case ENB_ID_PR_home_eNB_ID: {
-                    strncpy(str, (const char *)"enB-home:", 9);
-                    data = &enb->global_eNB_ID.eNB_ID.choice.home_eNB_ID;
+                    translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_home_");
+                    translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.home_eNB_ID);
                     break;
                 }
                 case ENB_ID_PR_short_Macro_eNB_ID: {
-                    strncpy(str, (const char *)"enB-shortmacro:", 15);
-                    data = &enb->global_eNB_ID.eNB_ID.choice.short_Macro_eNB_ID;
+                    translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_shortmacro_");
+                    translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.short_Macro_eNB_ID);
                     break;
                 }
                 case ENB_ID_PR_long_Macro_eNB_ID: {
-                    strncpy(str, (const char *)"enB-longmacro:", 14);
-                    data = &enb->global_eNB_ID.eNB_ID.choice.long_Macro_eNB_ID;
+                    translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_longmacro_");
+                    translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.long_Macro_eNB_ID);
+                    break;
+                }
+                case ENB_ID_PR_NOTHING: {
                     break;
                 }
-                case ENB_ID_PR_NOTHING:
                 default: {
                     break;
                 }
             }
-            translatePlmnId(ranName, (const unsigned char *)buf, (const char *)str);
-            translateBitStringToChar(ranName, *data);
-            break;
         }
         case GlobalE2node_ID_PR_NOTHING:
         default: