<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/11687">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ipaccess-config: Introduce -q quiet param<br><br>This way only formated output is pinted to stdout when using -G and can<br>be used by other tools (osmo-gsm-tester) to get a json dictionary with interesting<br>information.<br><br>Related: OS#3624<br>Change-Id: I257bfc8d82b49a3641be6b6777e472ecf561a21e<br>---<br>M src/ipaccess/ipaccess-config.c<br>1 file changed, 43 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/ipaccess/ipaccess-config.c b/src/ipaccess/ipaccess-config.c</span><br><span>index dcaa756..7c81c5a 100644</span><br><span>--- a/src/ipaccess/ipaccess-config.c</span><br><span>+++ b/src/ipaccess/ipaccess-config.c</span><br><span>@@ -73,6 +73,7 @@</span><br><span> static char *firmware_analysis = NULL;</span><br><span> static int found_trx = 0;</span><br><span> static int loop_tests = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+static bool quiet = false;</span><br><span> </span><br><span> static void *tall_ctx_config = NULL;</span><br><span> static struct abis_nm_sw_desc *sw_load1 = NULL;</span><br><span>@@ -312,11 +313,13 @@</span><br><span>                 ipacc_data = signal_data;</span><br><span>            return ipacc_msg_ack(ipacc_data->msg_type, ipacc_data->trx);</span><br><span>   case S_NM_IPACC_RESTART_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">-            printf("The BTS has acked the restart. Exiting.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("The BTS has acked the restart. Exiting.\n");</span><br><span>               exit(0);</span><br><span>             break;</span><br><span>       case S_NM_IPACC_RESTART_NACK:</span><br><span style="color: hsl(0, 100%, 40%);">-           printf("The BTS has nacked the restart. Exiting.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("The BTS has nacked the restart. Exiting.\n");</span><br><span>              exit(0);</span><br><span>             break;</span><br><span>       case S_NM_STATECHG_OPER:</span><br><span>@@ -353,7 +356,8 @@</span><br><span> </span><br><span>   switch (event) {</span><br><span>     case NM_MT_LOAD_INIT_ACK:</span><br><span style="color: hsl(0, 100%, 40%);">-               fprintf(stdout, "Software Load Initiate ACK\n");</span><br><span style="color: hsl(120, 100%, 40%);">+            if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   fprintf(stdout, "Software Load Initiate ACK\n");</span><br><span>           break;</span><br><span>       case NM_MT_LOAD_INIT_NACK:</span><br><span>           fprintf(stderr, "ERROR: Software Load Initiate NACK\n");</span><br><span>@@ -379,7 +383,9 @@</span><br><span>             msg->l2h[0] = NM_ATT_IPACC_CUR_SW_CFG;</span><br><span>            msg->l2h[1] = msgb_l3len(msg) >> 8;</span><br><span>                 msg->l2h[2] = msgb_l3len(msg) & 0xff;</span><br><span style="color: hsl(0, 100%, 40%);">-            printf("Foo l2h: %p l3h: %p... length l2: %u  l3: %u\n", msg->l2h, msg->l3h, msgb_l2len(msg), msgb_l3len(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+               if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("Foo l2h: %p l3h: %p... length l2: %u  l3: %u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                           msg->l2h, msg->l3h, msgb_l2len(msg), msgb_l3len(msg));</span><br><span>          abis_nm_ipaccess_set_nvattr(trx, msg->l2h, msgb_l2len(msg));</span><br><span>              msgb_free(msg);</span><br><span>              break;</span><br><span>@@ -395,7 +401,7 @@</span><br><span>                 break;</span><br><span>       case NM_MT_LOAD_SEG_ACK:</span><br><span>             percent = abis_nm_software_load_status(trx->bts);</span><br><span style="color: hsl(0, 100%, 40%);">-            if (percent > percent_old)</span><br><span style="color: hsl(120, 100%, 40%);">+         if (!quiet && percent > percent_old)</span><br><span>                      printf("Software Download Progress: %d%%\n", percent);</span><br><span>             percent_old = percent;</span><br><span>               break;</span><br><span>@@ -528,7 +534,8 @@</span><br><span>         int need_to_set_attr = 0;</span><br><span>    int len;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    printf("OML link established using TRX %d\n", trx->nr);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+           printf("OML link established using TRX %d\n", trx->nr);</span><br><span> </span><br><span>     if (get_attr) {</span><br><span>              msgb_put_u8(nmsg_get, NM_ATT_IPACC_PRIM_OML_CFG);</span><br><span>@@ -538,7 +545,8 @@</span><br><span>              len = strlen(unit_id);</span><br><span>               if (len > nmsg_set->data_len-10)</span><br><span>                       goto out_err;</span><br><span style="color: hsl(0, 100%, 40%);">-           printf("setting Unit ID to '%s'\n", unit_id);</span><br><span style="color: hsl(120, 100%, 40%);">+               if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("setting Unit ID to '%s'\n", unit_id);</span><br><span>              nv_put_unit_id(nmsg_set, unit_id);</span><br><span>           need_to_set_attr = 1;</span><br><span>        }</span><br><span>@@ -551,13 +559,15 @@</span><br><span>                    goto out_err;</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           printf("setting primary OML link IP to '%s'\n", inet_ntoa(ia));</span><br><span style="color: hsl(120, 100%, 40%);">+             if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("setting primary OML link IP to '%s'\n", inet_ntoa(ia));</span><br><span>            nv_put_prim_oml(nmsg_set, ntohl(ia.s_addr), 0);</span><br><span>              need_to_set_attr = 1;</span><br><span>        }</span><br><span>    if (nv_mask) {</span><br><span style="color: hsl(0, 100%, 40%);">-          printf("setting NV Flags/Mask to 0x%04x/0x%04x\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    nv_flags, nv_mask);</span><br><span style="color: hsl(120, 100%, 40%);">+           if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("setting NV Flags/Mask to 0x%04x/0x%04x\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                         nv_flags, nv_mask);</span><br><span>           nv_put_flags(nmsg_set, nv_flags, nv_mask);</span><br><span>           need_to_set_attr = 1;</span><br><span>        }</span><br><span>@@ -576,7 +586,8 @@</span><br><span>                      goto out_err;</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           printf("setting static IP Address/Mask\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("setting static IP Address/Mask\n");</span><br><span>                nv_put_ip_if_cfg(nmsg_set, ntohl(ia_addr.s_addr), ntohl(ia_mask.s_addr));</span><br><span>            need_to_set_attr = 1;</span><br><span>        }</span><br><span>@@ -589,7 +600,8 @@</span><br><span>                      goto out_err;</span><br><span>                }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           printf("setting static IP Gateway\n");</span><br><span style="color: hsl(120, 100%, 40%);">+              if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("setting static IP Gateway\n");</span><br><span>             /* we only set the default gateway with zero addr/mask */</span><br><span>            nv_put_gw_cfg(nmsg_set, 0, 0, ntohl(ia_gw.s_addr));</span><br><span>          need_to_set_attr = 1;</span><br><span>@@ -607,7 +619,8 @@</span><br><span>  }</span><br><span> </span><br><span>        if (restart && !prim_oml_ip && !software) {</span><br><span style="color: hsl(0, 100%, 40%);">-             printf("restarting BTS\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                   printf("restarting BTS\n");</span><br><span>                abis_nm_ipaccess_restart(trx);</span><br><span>       }</span><br><span> </span><br><span>@@ -636,7 +649,8 @@</span><br><span>                                      phys_conf_min, sizeof(phys_conf_min));</span><br><span>           else if (software) {</span><br><span>                         int rc;</span><br><span style="color: hsl(0, 100%, 40%);">-                 printf("Attempting software upload with '%s'\n", software);</span><br><span style="color: hsl(120, 100%, 40%);">+                 if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+                           printf("Attempting software upload with '%s'\n", software);</span><br><span>                        rc = abis_nm_software_load(trx->bts, trx->nr, software, 19, 0, swload_cbfn, trx);</span><br><span>                      if (rc < 0) {</span><br><span>                             fprintf(stderr, "Failed to start software load\n");</span><br><span>@@ -769,7 +783,8 @@</span><br><span>  entry = talloc_zero(tall_firm_ctx, struct llist_head);</span><br><span>       INIT_LLIST_HEAD(entry);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     printf("Opening possible firmware '%s'\n", filename);</span><br><span style="color: hsl(120, 100%, 40%);">+       if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+           printf("Opening possible firmware '%s'\n", filename);</span><br><span>      fd = open(filename, O_RDONLY);</span><br><span>       if (fd < 0) {</span><br><span>             perror("nada");</span><br><span>@@ -893,6 +908,7 @@</span><br><span>      printf("  -f --firmware FIRMWARE\tProvide firmware information\n");</span><br><span>        printf("  -w --write-firmware\t\tThis will dump the firmware parts to the filesystem. Use with -f.\n");</span><br><span>    printf("  -p --loop\t\t\tLoop the tests executed with the --listen command.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+    printf("  -q --quiet\t\t\tAvoid printing unformatted logging to stdout, useful with -G.\n");</span><br><span> }</span><br><span> </span><br><span> static void print_value_string(const struct value_string *val, int size)</span><br><span>@@ -945,9 +961,6 @@</span><br><span>    osmo_init_logging2(tall_ctx_config, &log_info);</span><br><span>  bts_model_nanobts_init();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   printf("ipaccess-config (C) 2009-2010 by Harald Welte and others\n");</span><br><span style="color: hsl(0, 100%, 40%);">- printf("This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY\n\n");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>   while (1) {</span><br><span>          int c;</span><br><span>               unsigned long ul;</span><br><span>@@ -972,10 +985,11 @@</span><br><span>                    { "write-firmware", 0, 0, 'w' },</span><br><span>                   { "disable-color", 0, 0, 'c'},</span><br><span>                     { "loop", 0, 0, 'p' },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { "quiet", 0, 0, 'q' },</span><br><span>                    { 0, 0, 0, 0 },</span><br><span>              };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          c = getopt_long(argc, argv, "Gu:o:i:g:rn:S:U:l:L:hs:d:f:wcpH", long_options,</span><br><span style="color: hsl(120, 100%, 40%);">+                c = getopt_long(argc, argv, "Gu:o:i:g:rn:S:U:l:L:hs:d:f:wcpqH", long_options,</span><br><span>                              &option_index);</span><br><span> </span><br><span>              if (c == -1)</span><br><span>@@ -1057,6 +1071,9 @@</span><br><span>                 case 'p':</span><br><span>                    loop_tests = 1;</span><br><span>                      break;</span><br><span style="color: hsl(120, 100%, 40%);">+                case 'q':</span><br><span style="color: hsl(120, 100%, 40%);">+                     quiet = true;</span><br><span style="color: hsl(120, 100%, 40%);">+                 break;</span><br><span>               case 'h':</span><br><span>                    print_usage();</span><br><span>                       print_help();</span><br><span>@@ -1067,6 +1084,11 @@</span><br><span>               }</span><br><span>    };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        if (!quiet) {</span><br><span style="color: hsl(120, 100%, 40%);">+         printf("ipaccess-config (C) 2009-2010 by Harald Welte and others\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               printf("This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY\n\n");</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  if (firmware_analysis) {</span><br><span>             analyze_firmware(firmware_analysis);</span><br><span>                 if (argc == optind) /* Nothing more to do, exit successfully */</span><br><span>@@ -1097,7 +1119,8 @@</span><br><span> </span><br><span>  ipac_nwl_init();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    printf("Trying to connect to ip.access BTS %s...\n", bts_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+       if (!quiet)</span><br><span style="color: hsl(120, 100%, 40%);">+           printf("Trying to connect to ip.access BTS %s...\n", bts_ip);</span><br><span> </span><br><span>  memset(&sin, 0, sizeof(sin));</span><br><span>    sin.sin_family = AF_INET;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11687">change 11687</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/11687"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I257bfc8d82b49a3641be6b6777e472ecf561a21e </div>
<div style="display:none"> Gerrit-Change-Number: 11687 </div>
<div style="display:none"> Gerrit-PatchSet: 9 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>