vlib: only access vgm elog_main through accessor 55/43855/2
authorMohammed Hawari <[email protected]>
Tue, 7 Oct 2025 13:11:53 +0000 (15:11 +0200)
committerDamjan Marion <[email protected]>
Tue, 7 Oct 2025 17:38:16 +0000 (17:38 +0000)
Change-Id: I5ac1bcff59780d8d27bff5b097677f9385378f83
Type: refactor
Signed-off-by: Mohammed Hawari <[email protected]>
30 files changed:
src/examples/vlib/elog_samples.c
src/plugins/acl/elog_acl_trace.h
src/plugins/acl/fa_node.h
src/plugins/avf/device.c
src/plugins/avf/elog.c
src/plugins/dpdk/device/init.c
src/plugins/hs_apps/echo_client.c
src/plugins/ikev2/ikev2_priv.h
src/plugins/lacp/lacp.c
src/plugins/lacp/mux_machine.c
src/plugins/lacp/node.c
src/plugins/lacp/ptx_machine.c
src/plugins/lacp/rx_machine.c
src/plugins/lacp/tx_machine.c
src/plugins/nat/lib/log.h
src/plugins/nat/nat64/nat64.c
src/plugins/nat/nat66/nat66.h
src/plugins/unittest/util_test.c
src/plugins/vhost/vhost_user_inline.h
src/vlib/cli.c
src/vlib/log.c
src/vlib/main.c
src/vlib/node.c
src/vlib/threads.c
src/vlib/threads.h
src/vlibmemory/memory_api.h
src/vnet/session/session_cli.c
src/vnet/session/session_debug.h
src/vnet/tcp/tcp_debug.c
src/vnet/tcp/tcp_debug.h

index 6002921..59b270b 100644 (file)
@@ -27,7 +27,7 @@ elog_four_int_sample (u32 * data)
   {
     u32 data[4];
   } *ed;
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->data[0] = data[0];
   ed->data[1] = data[1];
   ed->data[2] = data[2];
@@ -47,7 +47,7 @@ elog_four_int_track_sample (u32 * data)
     u32 data[4];
   } *ed;
   ELOG_TRACK (sample_track);
-  ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, sample_track);
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, sample_track);
   ed->data[0] = data[0];
   ed->data[1] = data[1];
   ed->data[2] = data[2];
@@ -67,7 +67,7 @@ elog_enum_sample (u8 which)
   {
     u8 which;
   } *ed;
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->which = which;
 }
 
@@ -78,7 +78,7 @@ elog_one_datum_sample (u32 data)
   {
   .format = "one datum: %d",.format_args = "i4",};
 
-  elog (&vlib_global_main.elog_main, &e, data);
+  elog (vlib_get_elog_main (), &e, data);
 }
 
 static clib_error_t *
index ae2ef85..5500f72 100644 (file)
@@ -39,8 +39,7 @@
            typeof (acl_elog_val1) val1;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
        }                                                                     \
@@ -72,8 +71,7 @@
            typeof (acl_elog_val2) val2;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
            typeof (acl_elog_val3) val3;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
            typeof (acl_elog_val4) val4;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
index f1ea8df..699df79 100644 (file)
@@ -275,8 +275,7 @@ u8 *format_acl_plugin_5tuple (u8 * s, va_list * args);
            typeof (acl_elog_val1) val1;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
        }                                                                     \
@@ -308,8 +307,7 @@ u8 *format_acl_plugin_5tuple (u8 * s, va_list * args);
            typeof (acl_elog_val2) val2;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
@@ -344,8 +342,7 @@ u8 *format_acl_plugin_5tuple (u8 * s, va_list * args);
            typeof (acl_elog_val3) val3;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
@@ -383,8 +380,7 @@ u8 *format_acl_plugin_5tuple (u8 * s, va_list * args);
            typeof (acl_elog_val4) val4;                                      \
          }) *                                                                \
            ed;                                                               \
-         ed =                                                                \
-           ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);  \
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);     \
          ed->thread = thread_index;                                          \
          ed->val1 = acl_elog_val1;                                           \
          ed->val2 = acl_elog_val2;                                           \
index 98169f0..71993da 100644 (file)
@@ -201,7 +201,7 @@ done:
          u16 datalen;
          u16 retval;
        } *ed;
-       ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+       ed = ELOG_DATA (vlib_get_elog_main (), el);
        ed->dev_instance = ad->dev_instance;
        ed->s_flags = dc.flags;
        ed->r_flags = d->flags;
@@ -234,7 +234,7 @@ avf_cmd_rx_ctl_reg_write (vlib_main_t * vm, avf_device_t * ad, u32 reg,
          u32 reg;
          u32 val;
        } *ed;
-       ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+       ed = ELOG_DATA (vlib_get_elog_main (), el);
        ed->dev_instance = ad->dev_instance;
        ed->reg = reg;
        ed->val = val;
@@ -517,7 +517,7 @@ done:
          u32 v_opcode_val;
          u32 v_retval;
        } *ed;
-       ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+       ed = ELOG_DATA (vlib_get_elog_main (), el);
        ed->dev_instance = ad->dev_instance;
        ed->v_opcode = op;
        ed->v_opcode_val = op;
@@ -1202,7 +1202,7 @@ avf_process_one_device (vlib_main_t * vm, avf_device_t * ad, int is_irq)
                  u8 link_status;
                  u32 link_speed;
                } *ed;
-               ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+               ed = ELOG_DATA (vlib_get_elog_main (), el);
                ed->dev_instance = ad->dev_instance;
                ed->link_status = link_up;
                ed->link_speed = mbps;
@@ -1223,7 +1223,7 @@ avf_process_one_device (vlib_main_t * vm, avf_device_t * ad, int is_irq)
                  u32 event;
                  u32 severity;
                } *ed;
-               ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+               ed = ELOG_DATA (vlib_get_elog_main (), el);
                ed->dev_instance = ad->dev_instance;
                ed->event = e->event;
                ed->severity = e->severity;
@@ -1447,7 +1447,7 @@ avf_irq_0_handler (vlib_main_t * vm, vlib_pci_dev_handle_t h, u16 line)
        u32 icr0;
       } *ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->icr0 = icr0;
     }
@@ -1481,7 +1481,7 @@ avf_irq_n_handler (vlib_main_t * vm, vlib_pci_dev_handle_t h, u16 line)
        u16 line;
       } *ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->line = line;
     }
index 6f7401e..e05a418 100644 (file)
@@ -37,7 +37,7 @@ avf_elog_aq_enq_req (avf_device_t *ad, avf_aq_desc_t *d)
        u16 v_opcode_val;
       } * ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->flags = d->flags;
       ed->datalen = d->datalen;
@@ -58,7 +58,7 @@ avf_elog_aq_enq_req (avf_device_t *ad, avf_aq_desc_t *d)
        u16 datalen;
       } * ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->opcode = d->opcode;
       ed->flags = d->flags;
@@ -80,7 +80,7 @@ avf_elog_aq_enq_resp (avf_device_t *ad, avf_aq_desc_t *d)
     u16 retval;
   } * ed;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+  ed = ELOG_DATA (vlib_get_elog_main (), el);
   ed->dev_instance = ad->dev_instance;
   ed->flags = d->flags;
   ed->retval = d->retval;
@@ -113,7 +113,7 @@ avf_elog_arq_desc (avf_device_t *ad, avf_aq_desc_t *d)
        u16 v_retval;
       } * ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->flags = d->flags;
       ed->retval = d->retval;
@@ -134,7 +134,7 @@ avf_elog_arq_desc (avf_device_t *ad, avf_aq_desc_t *d)
        u16 opcode;
       } * ed;
 
-      ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+      ed = ELOG_DATA (vlib_get_elog_main (), el);
       ed->dev_instance = ad->dev_instance;
       ed->flags = d->flags;
       ed->retval = d->retval;
@@ -160,7 +160,7 @@ avf_elog_reg (avf_device_t *ad, u32 addr, u32 val, int is_read)
     u32 val;
   } * ed;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+  ed = ELOG_DATA (vlib_get_elog_main (), el);
   ed->dev_instance = ad->dev_instance;
   ed->addr = addr;
   ed->val = val;
index 06f5c55..fd7b2a0 100644 (file)
@@ -1553,7 +1553,7 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now)
        u8 old_link_state;
        u8 new_link_state;
       } *ed;
-      ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+      ed = ELOG_DATA (vlib_get_elog_main (), e);
       ed->sw_if_index = xd->sw_if_index;
       ed->admin_up = (xd->flags & DPDK_DEVICE_FLAG_ADMIN_UP) != 0;
       ed->old_link_state = (u8)
@@ -1600,7 +1600,7 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now)
            u32 sw_if_index;
            u32 flags;
          } *ed;
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+         ed = ELOG_DATA (vlib_get_elog_main (), e);
          ed->sw_if_index = xd->sw_if_index;
          ed->flags = hw_flags;
        }
index 7064f2f..c0c25c4 100644 (file)
@@ -244,7 +244,7 @@ send_data_chunk (ec_main_t *ecm, ec_session_t *es)
          {
            u32 data[3];
          } *ed;
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+         ed = ELOG_DATA (vlib_get_elog_main (), e);
          ed->data[0] = rv;
          ed->data[1] = es->bytes_sent;
          ed->data[2] = es->bytes_to_send;
@@ -328,7 +328,7 @@ receive_data_chunk (ec_worker_t *wrk, ec_session_t *es)
          {
            u32 data[1];
          } *ed;
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+         ed = ELOG_DATA (vlib_get_elog_main (), e);
          ed->data[0] = n_read;
        }
 
index 58da36d..5ac2805 100644 (file)
@@ -49,66 +49,66 @@ typedef enum ikev2_log_level_t_
 
 /* dataplane logging */
 #define _ikev2_elog(_level, _msg)                                             \
-do {                                                                          \
-  ikev2_main_t *km = &ikev2_main;                                             \
-  if (PREDICT_FALSE (km->log_level >= _level))                                \
+  do                                                                          \
     {                                                                         \
-      ELOG_TYPE_DECLARE (e) =                                                 \
-        {                                                                     \
-          .format = "ikev2 " _msg,                                            \
-          .format_args = "",                                                  \
-        };                                                                    \
-      ELOG_DATA (&vlib_global_main.elog_main, e);                             \
+      ikev2_main_t *km = &ikev2_main;                                         \
+      if (PREDICT_FALSE (km->log_level >= _level))                            \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "ikev2 " _msg,                                          \
+           .format_args = "",                                                \
+         };                                                                  \
+         ELOG_DATA (vlib_get_elog_main (), e);                               \
+       }                                                                     \
     }                                                                         \
-} while (0)
+  while (0)
 
 #define ikev2_elog_sa_state(_format, _ispi)                                   \
-do {                                                                          \
-  ikev2_main_t *km = &ikev2_main;                                             \
-  if (PREDICT_FALSE (km->log_level >= IKEV2_LOG_DEBUG))                       \
+  do                                                                          \
     {                                                                         \
-      ELOG_TYPE_DECLARE (e) =                                                 \
-        {                                                                     \
-          .format = "ikev2: " _format,                                        \
-          .format_args = "i8",                                                \
-        };                                                                    \
-      CLIB_PACKED(struct                                                      \
-        {                                                                     \
-          u64 ispi;                                                           \
-        }) *ed;                                                               \
-      ed = ELOG_DATA (&vlib_global_main.elog_main, e);                        \
-      ed->ispi = _ispi;                                                       \
+      ikev2_main_t *km = &ikev2_main;                                         \
+      if (PREDICT_FALSE (km->log_level >= IKEV2_LOG_DEBUG))                   \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "ikev2: " _format,                                      \
+           .format_args = "i8",                                              \
+         };                                                                  \
+         CLIB_PACKED (struct { u64 ispi; }) * ed;                            \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
+         ed->ispi = _ispi;                                                   \
+       }                                                                     \
     }                                                                         \
-} while (0)                                                                   \
+  while (0)
 
 #define ikev2_elog_exchange_internal(_format, _ispi, _rspi, _addr)            \
-do {                                                                          \
-  ikev2_main_t *km = &ikev2_main;                                             \
-  if (PREDICT_FALSE (km->log_level >= IKEV2_LOG_DEBUG))                       \
+  do                                                                          \
     {                                                                         \
-      ELOG_TYPE_DECLARE (e) =                                                 \
-        {                                                                     \
-          .format = "ikev2: " _format,                                        \
-          .format_args = "i8i8i1i1i1i1",                                      \
-        };                                                                    \
-      CLIB_PACKED(struct                                                      \
-        {                                                                     \
-          u64 ispi;                                                           \
-          u64 rspi;                                                           \
-          u8 oct1;                                                            \
-          u8 oct2;                                                            \
-          u8 oct3;                                                            \
-          u8 oct4;                                                            \
-        }) *ed;                                                               \
-      ed = ELOG_DATA (&vlib_global_main.elog_main, e);                        \
-      ed->ispi = _ispi;                                                       \
-      ed->rspi = _rspi;                                                       \
-      ed->oct4 = (_addr) >> 24;                                               \
-      ed->oct3 = (_addr) >> 16;                                               \
-      ed->oct2 = (_addr) >> 8;                                                \
-      ed->oct1 = (_addr);                                                     \
+      ikev2_main_t *km = &ikev2_main;                                         \
+      if (PREDICT_FALSE (km->log_level >= IKEV2_LOG_DEBUG))                   \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "ikev2: " _format,                                      \
+           .format_args = "i8i8i1i1i1i1",                                    \
+         };                                                                  \
+         CLIB_PACKED (struct {                                               \
+           u64 ispi;                                                         \
+           u64 rspi;                                                         \
+           u8 oct1;                                                          \
+           u8 oct2;                                                          \
+           u8 oct3;                                                          \
+           u8 oct4;                                                          \
+         }) *                                                                \
+           ed;                                                               \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
+         ed->ispi = _ispi;                                                   \
+         ed->rspi = _rspi;                                                   \
+         ed->oct4 = (_addr) >> 24;                                           \
+         ed->oct3 = (_addr) >> 16;                                           \
+         ed->oct2 = (_addr) >> 8;                                            \
+         ed->oct1 = (_addr);                                                 \
+       }                                                                     \
     }                                                                         \
-} while (0)                                                                   \
+  while (0)
 
 #define IKE_ELOG_IP4_FMT "%d.%d.%d.%d"
 #define IKE_ELOG_IP6_FMT "[v6]:%x%x:%x%x"
@@ -122,50 +122,57 @@ do {                                                                          \
 } while (0)
 
 #define ikev2_elog_uint(_level, _format, _val)                                \
-do {                                                                          \
-  ikev2_main_t *km = &ikev2_main;                                             \
-  if (PREDICT_FALSE (km->log_level >= _level))                                \
+  do                                                                          \
     {                                                                         \
-      ELOG_TYPE_DECLARE (e) =                                                 \
-        {                                                                     \
-          .format = "ikev2: " _format,                                        \
-          .format_args = "i8",                                                \
-        };                                                                    \
-      CLIB_PACKED(struct                                                      \
-        {                                                                     \
-          u64 val;                                                            \
-        }) *ed;                                                               \
-      ed = ELOG_DATA (&vlib_global_main.elog_main, e);                        \
-      ed->val = _val;                                                         \
+      ikev2_main_t *km = &ikev2_main;                                         \
+      if (PREDICT_FALSE (km->log_level >= _level))                            \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "ikev2: " _format,                                      \
+           .format_args = "i8",                                              \
+         };                                                                  \
+         CLIB_PACKED (struct { u64 val; }) * ed;                             \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
+         ed->val = _val;                                                     \
+       }                                                                     \
     }                                                                         \
-} while (0)
+  while (0)
 
 #define ikev2_elog_uint_peers(_level, _format, _val, _ip1, _ip2)              \
-do {                                                                          \
-  ikev2_main_t *km = &ikev2_main;                                             \
-  if (PREDICT_FALSE (km->log_level >= _level))                                \
+  do                                                                          \
     {                                                                         \
-      ELOG_TYPE_DECLARE (e) =                                                 \
-        {                                                                     \
-          .format = "ikev2: " _format,                                        \
-          .format_args = "i8i1i1i1i1i1i1i1i1",                                \
-        };                                                                    \
-      CLIB_PACKED(struct {                                                    \
-        u64 val;                                                              \
-        u8 i11; u8 i12; u8 i13; u8 i14;                                       \
-        u8 i21; u8 i22; u8 i23; u8 i24; }) *ed;                               \
-      ed = ELOG_DATA (&vlib_global_main.elog_main, e);                        \
-      ed->val = _val;                                                         \
-      ed->i14 = (_ip1) >> 24;                                                 \
-      ed->i13 = (_ip1) >> 16;                                                 \
-      ed->i12 = (_ip1) >> 8;                                                  \
-      ed->i11 = (_ip1);                                                       \
-      ed->i24 = (_ip2) >> 24;                                                 \
-      ed->i23 = (_ip2) >> 16;                                                 \
-      ed->i22 = (_ip2) >> 8;                                                  \
-      ed->i21 = (_ip2);                                                       \
+      ikev2_main_t *km = &ikev2_main;                                         \
+      if (PREDICT_FALSE (km->log_level >= _level))                            \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "ikev2: " _format,                                      \
+           .format_args = "i8i1i1i1i1i1i1i1i1",                              \
+         };                                                                  \
+         CLIB_PACKED (struct {                                               \
+           u64 val;                                                          \
+           u8 i11;                                                           \
+           u8 i12;                                                           \
+           u8 i13;                                                           \
+           u8 i14;                                                           \
+           u8 i21;                                                           \
+           u8 i22;                                                           \
+           u8 i23;                                                           \
+           u8 i24;                                                           \
+         }) *                                                                \
+           ed;                                                               \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
+         ed->val = _val;                                                     \
+         ed->i14 = (_ip1) >> 24;                                             \
+         ed->i13 = (_ip1) >> 16;                                             \
+         ed->i12 = (_ip1) >> 8;                                              \
+         ed->i11 = (_ip1);                                                   \
+         ed->i24 = (_ip2) >> 24;                                             \
+         ed->i23 = (_ip2) >> 16;                                             \
+         ed->i22 = (_ip2) >> 8;                                              \
+         ed->i21 = (_ip2);                                                   \
+       }                                                                     \
     }                                                                         \
-} while (0)
+  while (0)
 
 #define ikev2_elog_error(_msg) \
   _ikev2_elog(IKEV2_LOG_ERROR, "[error] " _msg)
index ba66f7b..1a80963 100644 (file)
@@ -218,7 +218,7 @@ lacp_interface_enable_disable (vlib_main_t * vm, bond_if_t * bif,
            {
              .format = "lacp-int-en-dis: BUG lacp_int == 0",
            };
-         ELOG_DATA (&vlib_global_main.elog_main, e);
+         ELOG_DATA (vlib_get_elog_main (), e);
        }
       else
        {
index ee43894..007716a 100644 (file)
@@ -218,13 +218,12 @@ lacp_mux_debug_func (member_if_t * mif, int event, int state,
     u32 event;
   } *ed = 0;
 
-  ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
-  ed->event =
-    elog_string (&vlib_global_main.elog_main, "%U-MUX: %U, %U->%U%c",
-                format_vnet_sw_if_index_name, vnet_get_main (),
-                mif->sw_if_index, format_mux_event, event,
-                format_mux_sm_state, state, format_mux_sm_state,
-                transition->next_state, 0);
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
+  ed->event = elog_string (vlib_get_elog_main (), "%U-MUX: %U, %U->%U%c",
+                          format_vnet_sw_if_index_name, vnet_get_main (),
+                          mif->sw_if_index, format_mux_event, event,
+                          format_mux_sm_state, state, format_mux_sm_state,
+                          transition->next_state, 0);
 }
 
 void
index 4426daf..fdbb013 100644 (file)
@@ -143,7 +143,7 @@ lacp_elog_start_event (void)
     u32 count;
   } *ed;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->count = lm->lacp_int;
 }
 
@@ -161,7 +161,7 @@ lacp_elog_stop_event (void)
     u32 count;
   } *ed;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->count = lm->lacp_int;
 }
 
index 92a99c9..1a7c507 100644 (file)
@@ -205,13 +205,12 @@ lacp_ptx_debug_func (member_if_t * mif, int event, int state,
     u32 event;
   } *ed = 0;
 
-  ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
-  ed->event =
-    elog_string (&vlib_global_main.elog_main, "%U-PTX: %U, %U->%U%c",
-                format_vnet_sw_if_index_name, vnet_get_main (),
-                mif->sw_if_index, format_ptx_event, event,
-                format_ptx_sm_state, state, format_ptx_sm_state,
-                transition->next_state, 0);
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
+  ed->event = elog_string (vlib_get_elog_main (), "%U-PTX: %U, %U->%U%c",
+                          format_vnet_sw_if_index_name, vnet_get_main (),
+                          mif->sw_if_index, format_ptx_event, event,
+                          format_ptx_sm_state, state, format_ptx_sm_state,
+                          transition->next_state, 0);
 }
 
 void
index 9c161b0..76ff879 100644 (file)
@@ -408,12 +408,11 @@ lacp_rx_debug_func (member_if_t * mif, int event, int state,
     u32 event;
   } *ed = 0;
 
-  ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
-  ed->event = elog_string (&vlib_global_main.elog_main, "%U-RX: %U, %U->%U%c",
-                          format_vnet_sw_if_index_name, vnet_get_main (),
-                          mif->sw_if_index, format_rx_event, event,
-                          format_rx_sm_state, state, format_rx_sm_state,
-                          transition->next_state, 0);
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
+  ed->event = elog_string (
+    vlib_get_elog_main (), "%U-RX: %U, %U->%U%c", format_vnet_sw_if_index_name,
+    vnet_get_main (), mif->sw_if_index, format_rx_event, event,
+    format_rx_sm_state, state, format_rx_sm_state, transition->next_state, 0);
 }
 
 void
index c36f44c..b0d83fd 100644 (file)
@@ -94,12 +94,11 @@ lacp_tx_debug_func (member_if_t * mif, int event, int state,
     u32 event;
   } *ed = 0;
 
-  ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
-  ed->event = elog_string (&vlib_global_main.elog_main, "%U-TX: %U, %U->%U%c",
-                          format_vnet_sw_if_index_name, vnet_get_main (),
-                          mif->sw_if_index, format_tx_event, event,
-                          format_tx_sm_state, state, format_tx_sm_state,
-                          transition->next_state, 0);
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
+  ed->event = elog_string (
+    vlib_get_elog_main (), "%U-TX: %U, %U->%U%c", format_vnet_sw_if_index_name,
+    vnet_get_main (), mif->sw_if_index, format_tx_event, event,
+    format_tx_sm_state, state, format_tx_sm_state, transition->next_state, 0);
 }
 
 void
index a82028e..ca64523 100644 (file)
@@ -32,7 +32,7 @@
            .format = "nat-msg " _str,                                        \
            .format_args = "",                                                \
          };                                                                  \
-         ELOG_DATA (&vlib_global_main.elog_main, e);                         \
+         ELOG_DATA (vlib_get_elog_main (), e);                               \
        }                                                                     \
     }                                                                         \
   while (0);
@@ -53,7 +53,7 @@
            u8 oct4;                                                          \
          }) *                                                                \
            ed;                                                               \
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);                    \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
          ed->oct4 = _addr >> 24;                                             \
          ed->oct3 = _addr >> 16;                                             \
          ed->oct2 = _addr >> 8;                                              \
@@ -86,7 +86,7 @@
            u32 fib;                                                          \
          }) *                                                                \
            ed;                                                               \
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);                    \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
          ed->src_oct1 = _src >> 24;                                          \
          ed->src_oct2 = _src >> 16;                                          \
          ed->src_oct3 = _src >> 8;                                           \
            u32 fib;                                                          \
          }) *                                                                \
            ed;                                                               \
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);                    \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
          ed->src_oct1 = _src >> 24;                                          \
          ed->src_oct2 = _src >> 16;                                          \
          ed->src_oct3 = _src >> 8;                                           \
            .format_args = _arg,                                              \
          };                                                                  \
          CLIB_PACKED (struct { typeof (_val1) val1; }) * ed;                 \
-         ed = ELOG_DATA (&vlib_global_main.elog_main, e);                    \
+         ed = ELOG_DATA (vlib_get_elog_main (), e);                          \
          ed->val1 = _val1;                                                   \
        }                                                                     \
     }                                                                         \
index c59cfbb..463c360 100644 (file)
@@ -63,16 +63,16 @@ static u8 well_known_prefix[] = {
   0x00, 0x00, 0x00, 0x00
 };
 
-#define nat_elog_str(_str)                      \
-do                                              \
-  {                                             \
-    ELOG_TYPE_DECLARE (e) =                     \
-      {                                         \
-        .format = "nat-msg " _str,              \
-        .format_args = "",                      \
-      };                                        \
-    ELOG_DATA (&vlib_global_main.elog_main, e); \
-  while (0);
+#define nat_elog_str(_str)                                                    \
+  do                                                                          \
+    {                                                                         \
+      ELOG_TYPE_DECLARE (e) = {                                               \
+       .format = "nat-msg " _str,                                            \
+       .format_args = "",                                                    \
+      };                                                                      \
+      ELOG_DATA (vlib_get_elog_main (), e);                                   \
+    }                                                                         \
+  while (0);
 
 static void
 nat64_ip4_add_del_interface_address_cb (ip4_main_t * im, uword opaque,
index 17a6923..cf7ca11 100644 (file)
@@ -81,20 +81,20 @@ typedef struct
   vlib_simple_counter_main_t out2in_packets;;
 } nat66_main_t;
 
-#define nat66_elog(_level, _str)                         \
-do                                                       \
-  {                                                      \
-    nat66_main_t *nm = &nat66_main;                      \
-    if (PREDICT_FALSE (nm->log_level >= _level))         \
-      {                                                  \
-        ELOG_TYPE_DECLARE (e) =                          \
-          {                                              \
-            .format = "nat66-msg " _str,                 \
-            .format_args = "",                           \
-          };                                             \
-        ELOG_DATA (&vlib_global_main.elog_main, e);      \
-      }                                                  \
-  while (0);
+#define nat66_elog(_level, _str)                                              \
+  do                                                                          \
+    {                                                                         \
+      nat66_main_t *nm = &nat66_main;                                         \
+      if (PREDICT_FALSE (nm->log_level >= _level))                            \
+       {                                                                     \
+         ELOG_TYPE_DECLARE (e) = {                                           \
+           .format = "nat66-msg " _str,                                      \
+           .format_args = "",                                                \
+         };                                                                  \
+         ELOG_DATA (vlib_get_elog_main (), e);                               \
+       }                                                                     \
+    }                                                                         \
+  while (0);
 
 #define nat66_elog_warn(nat_elog_str) \
   nat66_elog(0x02, "[warning] " nat_elog_str)
index 5b7e30b..3908923 100644 (file)
@@ -27,7 +27,7 @@ test_crash_command_fn (vlib_main_t * vm,
       .format = "deliberate crash: touching %x",
       .format_args = "i4",
     };
-  elog (&vlib_global_main.elog_main, &e, 0xdefec8ed);
+  elog (vlib_get_elog_main (), &e, 0xdefec8ed);
 
   *p = 0xdeadbeef;
 
index e27f819..8ce86e3 100644 (file)
@@ -144,7 +144,7 @@ vhost_map_guest_mem_done:
   {
     uword addr;
   } *ed;
-  ed = ELOG_DATA (&vlib_global_main.elog_main, el);
+  ed = ELOG_DATA (vlib_get_elog_main (), el);
   ed->addr = addr;
   *hint = 0;
   return 0;
index f66d57a..616e946 100644 (file)
@@ -1685,7 +1685,7 @@ event_logger_trace_command_fn (vlib_main_t * vm,
    */
   if (dispatch || circuit)
     {
-      elog_main_t *em = &vlib_global_main.elog_main;
+      elog_main_t *em = vlib_get_elog_main ();
 
       em->n_total_events_disable_limit =
        em->n_total_events + vec_len (em->event_ring);
index ff24ad1..9b5bbbf 100644 (file)
@@ -241,10 +241,10 @@ vlib_log_va (vlib_log_level_t level, vlib_log_class_t class, char *fmt,
            u32 log_level;
            u32 string_index;
          } * ed;
-         ed = ELOG_DATA (&vlib_global_main.elog_main, ee);
+         ed = ELOG_DATA (vlib_get_elog_main (), ee);
          ed->log_level = level;
          ed->string_index =
-           elog_string (&vlib_global_main.elog_main, "%v%c", e->string, 0);
+           elog_string (vlib_get_elog_main (), "%v%c", e->string, 0);
        }
     }
 
index 121d70b..61d010d 100644 (file)
@@ -625,7 +625,7 @@ static clib_error_t *
 vlib_cli_elog_clear (vlib_main_t * vm,
                     unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  elog_reset_buffer (&vlib_global_main.elog_main);
+  elog_reset_buffer (vlib_get_elog_main ());
   return 0;
 }
 
@@ -640,7 +640,7 @@ static clib_error_t *
 elog_save_buffer (vlib_main_t * vm,
                  unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  elog_main_t *em = &vlib_global_main.elog_main;
+  elog_main_t *em = vlib_get_elog_main ();
   char *file, *chroot_file;
   clib_error_t *error = 0;
 
@@ -692,7 +692,7 @@ static clib_error_t *
 elog_stop (vlib_main_t * vm,
           unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  elog_main_t *em = &vlib_global_main.elog_main;
+  elog_main_t *em = vlib_get_elog_main ();
 
   em->n_total_events_disable_limit = em->n_total_events;
 
@@ -710,7 +710,7 @@ static clib_error_t *
 elog_restart (vlib_main_t * vm,
              unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  elog_main_t *em = &vlib_global_main.elog_main;
+  elog_main_t *em = vlib_get_elog_main ();
 
   em->n_total_events_disable_limit = ~0;
 
@@ -728,7 +728,7 @@ static clib_error_t *
 elog_resize_command_fn (vlib_main_t * vm,
                        unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  elog_main_t *em = &vlib_global_main.elog_main;
+  elog_main_t *em = vlib_get_elog_main ();
   u32 tmp;
 
   /* Stop the parade */
@@ -757,7 +757,7 @@ VLIB_CLI_COMMAND (elog_resize_cli, static) = {
 static void
 elog_show_buffer_internal (vlib_main_t * vm, u32 n_events_to_show)
 {
-  elog_main_t *em = &vlib_global_main.elog_main;
+  elog_main_t *em = vlib_get_elog_main ();
   elog_event_t *e, *es;
   f64 dt;
 
@@ -994,8 +994,7 @@ dispatch_node (vlib_main_t *vm, vlib_node_runtime_t *node,
              vlib_worker_thread_t *w = vlib_worker_threads
                + vm->thread_index;
 
-             ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e,
-                                   w->elog_track);
+             ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
              ed->node_name = n->name_elog_string;
              ed->vector_length = v;
              ed->is_polling = 1;
@@ -1027,11 +1026,10 @@ dispatch_node (vlib_main_t *vm, vlib_node_runtime_t *node,
              if (PREDICT_FALSE (
                    vlib_get_first_main ()->elog_trace_graph_dispatch))
                {
-                 ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e,
-                                       w->elog_track);
-                 ed->node_name = n->name_elog_string;
-                 ed->vector_length = v;
-                 ed->is_polling = 0;
+               ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
+               ed->node_name = n->name_elog_string;
+               ed->vector_length = v;
+               ed->is_polling = 0;
                }
            }
        }
@@ -1663,7 +1661,7 @@ vlib_main_or_worker_loop (vlib_main_t * vm, int is_main)
          ASSERT (nm->process_restore_current != 0);
 
          if (PREDICT_FALSE (vm->elog_trace_graph_dispatch))
-           ed = ELOG_DATA (&vlib_global_main.elog_main, es);
+           ed = ELOG_DATA (vlib_get_elog_main (), es);
 
          expired_timers = process_expired_timers (expired_timers);
 
@@ -1671,7 +1669,7 @@ vlib_main_or_worker_loop (vlib_main_t * vm, int is_main)
 
          if (PREDICT_FALSE (vm->elog_trace_graph_dispatch))
            {
-             ed = ELOG_DATA (&vlib_global_main.elog_main, ee);
+             ed = ELOG_DATA (vlib_get_elog_main (), ee);
              ed->nready_procs = _vec_len (nm->process_restore_current);
            }
 
@@ -2105,7 +2103,7 @@ vlib_get_main_not_inline (void)
 elog_main_t *
 vlib_get_elog_main_not_inline ()
 {
-  return &vlib_global_main.elog_main;
+  return vlib_get_elog_main ();
 }
 
 void
index edeb6dc..c0f9251 100644 (file)
@@ -69,7 +69,7 @@ node_set_elog_name (vlib_main_t * vm, uword node_index)
   t->format = (char *) format (0, "%v-return: %%d%c", n->name, 0);
 
   n->name_elog_string =
-    elog_string (&vlib_global_main.elog_main, "%v%c", n->name, 0);
+    elog_string (vlib_get_elog_main (), "%v%c", n->name, 0);
 }
 
 void
index 8c4a6fe..b20e490 100644 (file)
@@ -62,9 +62,9 @@ barrier_trace_sync (f64 t_entry, f64 t_open, f64 t_closed)
     u32 caller, count, t_entry, t_open, t_closed;
   } *ed = 0;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->count = (int) vlib_worker_threads[0].barrier_sync_count;
-  ed->caller = elog_string (&vlib_global_main.elog_main,
+  ed->caller = elog_string (vlib_get_elog_main (),
                            (char *) vlib_worker_threads[0].barrier_caller);
   ed->t_entry = (int) (1000000.0 * t_entry);
   ed->t_open = (int) (1000000.0 * t_open);
@@ -87,9 +87,9 @@ barrier_trace_sync_rec (f64 t_entry)
     u32 caller, depth;
   } *ed = 0;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->depth = (int) vlib_worker_threads[0].recursion_level - 1;
-  ed->caller = elog_string (&vlib_global_main.elog_main,
+  ed->caller = elog_string (vlib_get_elog_main (),
                            (char *) vlib_worker_threads[0].barrier_caller);
 }
 
@@ -109,7 +109,7 @@ barrier_trace_release_rec (f64 t_entry)
     u32 depth;
   } *ed = 0;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->depth = (int) vlib_worker_threads[0].recursion_level;
 }
 
@@ -129,7 +129,7 @@ barrier_trace_release (f64 t_entry, f64 t_closed_total, f64 t_update_main)
     u32 count, t_entry, t_update_main, t_closed_total;
   } *ed = 0;
 
-  ed = ELOG_DATA (&vlib_global_main.elog_main, e);
+  ed = ELOG_DATA (vlib_get_elog_main (), e);
   ed->t_entry = (int) (1000000.0 * t_entry);
   ed->t_update_main = (int) (1000000.0 * t_update_main);
   ed->t_closed_total = (int) (1000000.0 * t_closed_total);
index 46a1476..20d6305 100644 (file)
@@ -381,7 +381,7 @@ vlib_worker_thread_barrier_check (void)
            clib_thread_index_t thread_index;
          } __clib_packed *ed;
 
-         ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
          ed->thread_index = thread_index;
        }
 
@@ -428,8 +428,7 @@ vlib_worker_thread_barrier_check (void)
                clib_thread_index_t thread_index;
              } __clib_packed *ed;
 
-             ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e,
-                                   w->elog_track);
+             ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
              ed->thread_index = thread_index;
            }
 
@@ -454,7 +453,7 @@ vlib_worker_thread_barrier_check (void)
            u32 duration;
          } __clib_packed *ed;
 
-         ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
+         ed = ELOG_TRACK_DATA (vlib_get_elog_main (), e, w->elog_track);
          ed->thread_index = thread_index;
          ed->duration = (int) (1000000.0 * t);
        }
index 4a1573c..b84669b 100644 (file)
@@ -78,8 +78,8 @@ vl_msg_api_handle_is_valid (u32 handle, u32 restarts)
        struct                                                                \
        {                                                                     \
          u32 len;                                                            \
-       } * ed;                                                               \
-       ed = ELOG_DATA (&vlib_global_main.elog_main, e);                      \
+       } *ed;                                                                \
+       ed = ELOG_DATA (vlib_get_elog_main (), e);                            \
        ed->len = qlen;                                                       \
       }                                                                       \
   while (0)
index b223eff..94726fd 100644 (file)
@@ -746,7 +746,7 @@ show_session_command_fn (vlib_main_t * vm, unformat_input_t * input,
       u8 *str = format (0, "%U", format_session, s, 3);
       if (do_elog && s->session_state != SESSION_STATE_LISTENING)
        {
-         elog_main_t *em = &vlib_global_main.elog_main;
+         elog_main_t *em = vlib_get_elog_main ();
          transport_connection_t *tc;
          f64 dt;
 
index 7090997..294e183 100644 (file)
@@ -156,16 +156,16 @@ extern session_dbg_main_t session_dbg_main;
   } *ed;                                                                      \
   transport_connection_t *_tc = session_get_transport (_s);                   \
   if (_tc->elog_track.name == 0)                                              \
-    ed = ELOG_DATA (&vlib_global_main.elog_main, _e);                         \
+    ed = ELOG_DATA (vlib_get_elog_main (), _e);                               \
   else                                                                        \
-    ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, _e, _tc->elog_track)
+    ed = ELOG_TRACK_DATA (vlib_get_elog_main (), _e, _tc->elog_track)
 
-#define DEC_SESSION_ED(_e, _size)                                      \
-  struct                                                               \
-  {                                                                    \
-    u32 data[_size];                                                   \
-  } * ed;                                                              \
-  ed = ELOG_DATA (&vlib_global_main.elog_main, _e)
+#define DEC_SESSION_ED(_e, _size)                                             \
+  struct                                                                      \
+  {                                                                           \
+    u32 data[_size];                                                          \
+  } *ed;                                                                      \
+  ed = ELOG_DATA (vlib_get_elog_main (), _e)
 
 #if SESSION_SM
 #define SESSION_EVT_STATE_CHANGE_HANDLER(_s)                                  \
index ab466f3..49962b8 100644 (file)
@@ -30,7 +30,7 @@ tcp_evt_track_register (elog_track_t * et)
       et->track_index_plus_one = track_index + 1;
     }
   else
-    elog_track_register (&vlib_global_main.elog_main, et);
+    elog_track_register (vlib_get_elog_main (), et);
 }
 
 static const char *tcp_evt_grp_str[] = {
index 8ae4565..8fd98b3 100644 (file)
@@ -154,13 +154,12 @@ typedef enum tcp_evt_to_grp_
 void tcp_evt_track_register (elog_track_t * et);
 void tcp_debug_init (void);
 
-#define TCP_DECLARE_ETD(_tc, _e, _size)                                        \
-struct                                                                 \
-{                                                                      \
-  u32 data[_size];                                                     \
-} * ed;                                                                        \
-ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, _e,                         \
-                      _tc->c_elog_track)                               \
+#define TCP_DECLARE_ETD(_tc, _e, _size)                                       \
+  struct                                                                      \
+  {                                                                           \
+    u32 data[_size];                                                          \
+  } *ed;                                                                      \
+  ed = ELOG_TRACK_DATA (vlib_get_elog_main (), _e, _tc->c_elog_track)
 
 /*
  * Event handlers definitions