api: fix inversion of barrier marker in elog 52/43052/2
authorAlexander Chernavin <[email protected]>
Wed, 28 May 2025 15:49:35 +0000 (18:49 +0300)
committerFlorin Coras <[email protected]>
Thu, 29 May 2025 02:15:05 +0000 (02:15 +0000)
Currently, the barrier marker for an API message is shown inverted in
the event log. Unsafe API messages are marked as "mp-safe" while safe
ones are marked as "barrier":

  1.332140489: api-msg: sw_interface_dump
  1.332218564: api-msg-done(barrier): sw_interface_dump
  1.332222732: api-msg: control_ping
  1.332241081: api-msg-done(barrier): control_ping
  1.334262103: api-msg: sw_interface_set_flags
  1.334365558: api-msg-done(mp-safe): sw_interface_set_flags

With this fix:

  1.369092258: api-msg: sw_interface_dump
  1.369123551: api-msg-done(mp-safe): sw_interface_dump
  1.369125154: api-msg: control_ping
  1.369132839: api-msg-done(mp-safe): control_ping
  1.370686609: api-msg: sw_interface_set_flags
  1.370735169: api-msg-done(barrier): sw_interface_set_flags

Type: fix
Change-Id: Ib892a83cf801da5fea722eebffd220fabfaa1537
Signed-off-by: Alexander Chernavin <[email protected]>
src/vlibapi/api_shared.c

index 1f02aef..112b063 100644 (file)
@@ -608,7 +608,7 @@ msg_handler_internal (api_main_t *am, void *the_msg, uword msg_len,
       if (m && m->name)
        {
          ed->c = elog_string (am->elog_main, (char *) m->name);
-         ed->barrier = !m->is_mp_safe;
+         ed->barrier = m->is_mp_safe;
        }
       else
        {