VPP-237 Coding standards cleanup 37/2237/1
authorDave Barach <dave@barachs.net>
Fri, 5 Aug 2016 22:09:54 +0000 (18:09 -0400)
committerDave Barach <dave@barachs.net>
Fri, 5 Aug 2016 22:10:06 +0000 (18:10 -0400)
Change-Id: I239143f920285050ad85244ece6893236195534f
Signed-off-by: Dave Barach <dave@barachs.net>
22 files changed:
build-root/emacs-lisp/fix-coding-style.el
vpp/app/l2t.c
vpp/app/l2t_ip6.c
vpp/app/l2t_l2.c
vpp/app/sticky_hash.c
vpp/app/version.c
vpp/app/vpe_cli.c
vpp/oam/oam.c
vpp/oam/oam.h
vpp/stats/stats.c
vpp/stats/stats.h
vpp/vnet/main.c
vpp/vpp-api/api.c
vpp/vpp-api/custom_dump.c
vpp/vpp-api/gmon.c
vpp/vpp-api/summary_stats_client.c
vpp/vpp-api/test_client.c
vpp/vpp-api/test_ha.c
vpp/vpp-api/vpe.api
vpp/vpp-api/vpe_all_api_h.h
vpp/vpp-api/vpe_msg_enum.h
vpp/vpp-api/vpp_get_metrics.c

index 6010ac2..d79f2d9 100755 (executable)
@@ -68,6 +68,8 @@
 (defun fix-vlib-register-node () (interactive)
        (fix-initializer "VLIB_REGISTER_NODE *("))
 
+(defun fix-reply-macro2 () (interactive)
+       (fix-initializer "REPLY_MACRO2 *("))
 
 ;; Driver routine which runs the set of functions
 ;; defined above, as well as the bottom boilerplate function
@@ -83,6 +85,7 @@
        (fix-vlib-register-thread)
        (fix-vlib-cli-command)
        (fix-vlib-register-node)
+       (fix-reply-macro2)
        (insert-style-boilerplate))
 
 
         (message "Processing %s..." (elt argv index))
         (find-file (elt argv index))
         (fd-io-styleify)
-        (setq index (1+ index))
-        (save-buffers-kill-emacs t))))
+        (setq index (1+ index))))
+  (if (> index 0)
+      (save-buffers-kill-emacs t)))
+  
+
index eb6848f..45dd280 100644 (file)
 
 l2t_main_t l2t_main;
 
-/* $$$$ unused? 
+/* $$$$ unused?
  * get_interface_ethernet_address
  * paints the ethernet address for a given interface
  * into the supplied destination
  */
-void get_interface_ethernet_address (l2t_main_t *lm, 
-                                     u8 *dst, u32 sw_if_index)
+void
+get_interface_ethernet_address (l2t_main_t * lm, u8 * dst, u32 sw_if_index)
 {
-    ethernet_main_t *em = ethernet_get_main (lm->vlib_main);
-    ethernet_interface_t *ei;
-    vnet_hw_interface_t *hi;
+  ethernet_main_t *em = ethernet_get_main (lm->vlib_main);
+  ethernet_interface_t *ei;
+  vnet_hw_interface_t *hi;
 
-    hi = vnet_get_sup_hw_interface (lm->vnet_main, sw_if_index);
-    ei = pool_elt_at_index (em->interfaces, hi->hw_instance);
-    clib_memcpy (dst, ei->address, sizeof (ei->address));
+  hi = vnet_get_sup_hw_interface (lm->vnet_main, sw_if_index);
+  ei = pool_elt_at_index (em->interfaces, hi->hw_instance);
+  clib_memcpy (dst, ei->address, sizeof (ei->address));
 }
 
 /* packet trace format function */
-u8 * format_l2t_trace (u8 * s, va_list * args)
+u8 *
+format_l2t_trace (u8 * s, va_list * args)
 {
   CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
-  l2t_trace_t * t = va_arg (*args, l2t_trace_t *);
-    
+  l2t_trace_t *t = va_arg (*args, l2t_trace_t *);
+
   if (t->is_user_to_network)
-      s = format (s, "L2T: %U (client) -> %U (our) session %d", 
-                  format_ip6_address, &t->client_address,
-                  format_ip6_address, &t->our_address,
-                  t->session_index);
+    s = format (s, "L2T: %U (client) -> %U (our) session %d",
+               format_ip6_address, &t->client_address,
+               format_ip6_address, &t->our_address, t->session_index);
   else
-      s = format (s, "L2T: %U (our) -> %U (client) session %d)",
-                  format_ip6_address, &t->our_address,
-                  format_ip6_address, &t->client_address,
-                  t->session_index);
+    s = format (s, "L2T: %U (our) -> %U (client) session %d)",
+               format_ip6_address, &t->our_address,
+               format_ip6_address, &t->client_address, t->session_index);
   return s;
 }
 
-u8 * format_l2t_session (u8 * s, va_list * args)
+u8 *
+format_l2t_session (u8 * s, va_list * args)
 {
-  l2t_session_t * session = va_arg (*args, l2t_session_t *);
-  l2t_main_t * lm = &l2t_main;
+  l2t_session_t *session = va_arg (*args, l2t_session_t *);
+  l2t_main_t *lm = &l2t_main;
   u32 counter_index;
   vlib_counter_t v;
 
-  s = format (s, "[%d] %U (our) %U (client) vlan-id %d rx_sw_if_index %d\n", 
-              session - lm->sessions,
-              format_ip6_address, &session->our_address,
-              format_ip6_address, &session->client_address,
-              clib_net_to_host_u16(session->vlan_id), session->sw_if_index);
+  s = format (s, "[%d] %U (our) %U (client) vlan-id %d rx_sw_if_index %d\n",
+             session - lm->sessions,
+             format_ip6_address, &session->our_address,
+             format_ip6_address, &session->client_address,
+             clib_net_to_host_u16 (session->vlan_id), session->sw_if_index);
 
   s = format (s, "   local cookie %llx remote cookie %llx\n",
-              clib_net_to_host_u64 (session->local_cookie),
-              clib_net_to_host_u64 (session->remote_cookie));
+             clib_net_to_host_u64 (session->local_cookie),
+             clib_net_to_host_u64 (session->remote_cookie));
 
-  if (session->cookie_flags & L2TP_COOKIE_ROLLOVER_LOCAL) {
-      s = format (s, "   local rollover cookie %llx\n", 
+  if (session->cookie_flags & L2TP_COOKIE_ROLLOVER_LOCAL)
+    {
+      s = format (s, "   local rollover cookie %llx\n",
                  clib_net_to_host_u64 (session->lcl_ro_cookie));
-  }
+    }
 
   s = format (s, "   local session-id %d remote session-id %d\n",
-              clib_net_to_host_u32 (session->local_session_id),
-              clib_net_to_host_u32 (session->remote_session_id));
+             clib_net_to_host_u32 (session->local_session_id),
+             clib_net_to_host_u32 (session->remote_session_id));
 
-  s = format (s, "   l2 specific sublayer %s\n", 
-              session->l2_sublayer_present ? "preset" : "absent");
+  s = format (s, "   l2 specific sublayer %s\n",
+             session->l2_sublayer_present ? "preset" : "absent");
 
-  counter_index = 
-      session_index_to_counter_index (session - lm->sessions,
-                                      SESSION_COUNTER_USER_TO_NETWORK);
+  counter_index =
+    session_index_to_counter_index (session - lm->sessions,
+                                   SESSION_COUNTER_USER_TO_NETWORK);
 
   vlib_get_combined_counter (&lm->counter_main, counter_index, &v);
   if (v.packets != 0)
-      s = format (s, "   user-to-net: %llu pkts %llu bytes\n",
-                  v.packets, v.bytes);
+    s = format (s, "   user-to-net: %llu pkts %llu bytes\n",
+               v.packets, v.bytes);
 
-  vlib_get_combined_counter (&lm->counter_main, counter_index+1, &v);
+  vlib_get_combined_counter (&lm->counter_main, counter_index + 1, &v);
 
   if (v.packets != 0)
-      s = format (s, "   net-to-user: %llu pkts %llu bytes\n",
-                  v.packets, v.bytes);
+    s = format (s, "   net-to-user: %llu pkts %llu bytes\n",
+               v.packets, v.bytes);
   return s;
 }
 
 static clib_error_t *
 show_session_summary_command_fn (vlib_main_t * vm,
-                                unformat_input_t * input,
-                                vlib_cli_command_t * cmd)
+                                unformat_input_t * input,
+                                vlib_cli_command_t * cmd)
 {
-    l2t_main_t *lm = &l2t_main;
-    
-    vlib_cli_output (vm, "%d active sessions\n", pool_elts (lm->sessions));
+  l2t_main_t *lm = &l2t_main;
 
-    return 0;
+  vlib_cli_output (vm, "%d active sessions\n", pool_elts (lm->sessions));
+
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (show_session_summary_command) = {
-    .path = "show session",
-    .short_help = "show session summary",
-    .function = show_session_summary_command_fn,
+  .path = "show session",
+  .short_help = "show session summary",
+  .function = show_session_summary_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 show_session_detail_command_fn (vlib_main_t * vm,
-                                unformat_input_t * input,
-                                vlib_cli_command_t * cmd)
+                               unformat_input_t * input,
+                               vlib_cli_command_t * cmd)
 {
-    l2t_session_t *session;
-    l2t_main_t *lm = &l2t_main;
+  l2t_session_t *session;
+  l2t_main_t *lm = &l2t_main;
 
-    pool_foreach (session, lm->sessions, 
-    ({
-        vlib_cli_output (vm, "%U", format_l2t_session, session);
-    }));
+  /* *INDENT-OFF* */
+  pool_foreach (session, lm->sessions,
+  ({
+    vlib_cli_output (vm, "%U", format_l2t_session, session);
+  }));
+  /* *INDENT-ON* */
 
-    return 0;
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (show_session_detail_command) = {
-    .path = "show session detail",
-    .short_help = "show session table detail",
-    .function = show_session_detail_command_fn,
+  .path = "show session detail",
+  .short_help = "show session table detail",
+  .function = show_session_detail_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 test_counters_command_fn (vlib_main_t * vm,
-                          unformat_input_t * input,
-                          vlib_cli_command_t * cmd)
+                         unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-    l2t_session_t *session;
-    l2t_main_t *lm = &l2t_main;
-    u32 session_index;
-    u32 counter_index;
-    u32 nincr=0;
-
-    pool_foreach (session, lm->sessions, 
-    ({
-        session_index = session - lm->sessions;
-        counter_index = 
-            session_index_to_counter_index (session_index, 
-                                            SESSION_COUNTER_USER_TO_NETWORK);
-        vlib_increment_combined_counter (&lm->counter_main,
-                                         counter_index, 
-                                         1/*pkt*/, 1111 /*bytes*/);
-        vlib_increment_combined_counter (&lm->counter_main,
-                                         counter_index+1, 
-                                         1/*pkt*/, 2222 /*bytes*/);
-        nincr++;
-        
-    }));
-    vlib_cli_output (vm, "Incremented %d active counters\n", nincr);
-
-    return 0;
+  l2t_session_t *session;
+  l2t_main_t *lm = &l2t_main;
+  u32 session_index;
+  u32 counter_index;
+  u32 nincr = 0;
+
+  /* *INDENT-OFF* */
+  pool_foreach (session, lm->sessions,
+  ({
+    session_index = session - lm->sessions;
+    counter_index =
+      session_index_to_counter_index (session_index,
+                                      SESSION_COUNTER_USER_TO_NETWORK);
+    vlib_increment_combined_counter (&lm->counter_main,
+                                     counter_index,
+                                     1/*pkt*/, 1111 /*bytes*/);
+    vlib_increment_combined_counter (&lm->counter_main,
+                                     counter_index+1,
+                                     1/*pkt*/, 2222 /*bytes*/);
+    nincr++;
+  }));
+  /* *INDENT-ON* */
+  vlib_cli_output (vm, "Incremented %d active counters\n", nincr);
+
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (test_counters_command) = {
-    .path = "test counters",
-    .short_help = "increment all active counters",
-    .function = test_counters_command_fn,
+  .path = "test counters",
+  .short_help = "increment all active counters",
+  .function = test_counters_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 clear_counters_command_fn (vlib_main_t * vm,
-                          unformat_input_t * input,
-                          vlib_cli_command_t * cmd)
+                          unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-    l2t_session_t *session;
-    l2t_main_t *lm = &l2t_main;
-    u32 session_index;
-    u32 counter_index;
-    u32 nincr=0;
-
-    pool_foreach (session, lm->sessions, 
-    ({
-        session_index = session - lm->sessions;
-        counter_index = 
-            session_index_to_counter_index (session_index, 
-                                            SESSION_COUNTER_USER_TO_NETWORK);
-        vlib_zero_combined_counter (&lm->counter_main, counter_index);
-        vlib_zero_combined_counter (&lm->counter_main, counter_index+1);
-        nincr++;
-        
-    }));
-    vlib_cli_output (vm, "Cleared %d active counters\n", nincr);
-
-    return 0;
+  l2t_session_t *session;
+  l2t_main_t *lm = &l2t_main;
+  u32 session_index;
+  u32 counter_index;
+  u32 nincr = 0;
+
+  /* *INDENT-OFF* */
+  pool_foreach (session, lm->sessions,
+  ({
+    session_index = session - lm->sessions;
+    counter_index =
+      session_index_to_counter_index (session_index,
+                                      SESSION_COUNTER_USER_TO_NETWORK);
+    vlib_zero_combined_counter (&lm->counter_main, counter_index);
+    vlib_zero_combined_counter (&lm->counter_main, counter_index+1);
+    nincr++;
+  }));
+  /* *INDENT-ON* */
+  vlib_cli_output (vm, "Cleared %d active counters\n", nincr);
+
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (clear_counters_command) = {
-    .path = "clear counters",
-    .short_help = "clear all active counters",
-    .function = clear_counters_command_fn,
+  .path = "clear counters",
+  .short_help = "clear all active counters",
+  .function = clear_counters_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 l2tp_session_add_command_fn (vlib_main_t * vm,
-                             unformat_input_t * input,
-                             vlib_cli_command_t * cmd)
+                            unformat_input_t * input,
+                            vlib_cli_command_t * cmd)
 {
-    ip6_address_t client_address, our_address;
-    ip6_address_t * dst_address_copy, * src_address_copy;
-    unformat_input_t _line_input, * line_input = &_line_input;
-    u32 vlan_id;
-    u32 sw_if_index = (u32)~0;
-    l2t_main_t *lm = &l2t_main;
-    l2t_session_t *s;
-    uword *p;
-    vnet_hw_interface_t * hi;
-    vnet_sw_interface_t * si;
-    u32 next_index;
-    uword vlan_and_sw_if_index_key;
-    u32 counter_index;
-    u64 local_cookie = (u64)~0, remote_cookie = (u64)~0;
-    u32 local_session_id = 1, remote_session_id = 1;
-    int our_address_set = 0, client_address_set = 0;
-    int l2_sublayer_present = 0;
-
-    /* Get a line of input. */
-    if (! unformat_user (input, unformat_line_input, line_input))
-        return 0;
-
-    while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat (line_input, "client %U", 
-                      unformat_ip6_address, &client_address))
-            client_address_set = 1;
-        else if (unformat (line_input, "our %U",
-                           unformat_ip6_address, &our_address))
-            our_address_set = 1;
-        else if (unformat (line_input, "vlan %d", &vlan_id))
-            ;
-        else if (unformat (line_input, "l2-interface %U",
-                           unformat_vnet_sw_interface, 
-                           vnet_get_main(), &sw_if_index))
-            ;
-        else if (unformat (line_input, "interface %U",
-                           unformat_vnet_sw_interface, 
-                           vnet_get_main(), &sw_if_index))
-            ;
-        else if (unformat (line_input, "local-cookie %llx", &local_cookie))
-            ;
-        else if (unformat (line_input, "remote-cookie %llx", &remote_cookie))
-            ;
-        else if (unformat (line_input, "local-session-id %d", 
-                           &local_session_id))
-            ;
-        else if (unformat (line_input, "remote-session-id %d", 
-                           &remote_session_id))
-            ;
-        else if (unformat (line_input, "l2-sublayer-present"))
-            l2_sublayer_present = 1;
-        else 
-            return clib_error_return (0, "parse error: '%U'", 
-                                      format_unformat_error, line_input);
+  ip6_address_t client_address, our_address;
+  ip6_address_t *dst_address_copy, *src_address_copy;
+  unformat_input_t _line_input, *line_input = &_line_input;
+  u32 vlan_id;
+  u32 sw_if_index = (u32) ~ 0;
+  l2t_main_t *lm = &l2t_main;
+  l2t_session_t *s;
+  uword *p;
+  vnet_hw_interface_t *hi;
+  vnet_sw_interface_t *si;
+  u32 next_index;
+  uword vlan_and_sw_if_index_key;
+  u32 counter_index;
+  u64 local_cookie = (u64) ~ 0, remote_cookie = (u64) ~ 0;
+  u32 local_session_id = 1, remote_session_id = 1;
+  int our_address_set = 0, client_address_set = 0;
+  int l2_sublayer_present = 0;
+
+  /* Get a line of input. */
+  if (!unformat_user (input, unformat_line_input, line_input))
+    return 0;
+
+  while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (line_input, "client %U",
+                   unformat_ip6_address, &client_address))
+       client_address_set = 1;
+      else if (unformat (line_input, "our %U",
+                        unformat_ip6_address, &our_address))
+       our_address_set = 1;
+      else if (unformat (line_input, "vlan %d", &vlan_id))
+       ;
+      else if (unformat (line_input, "l2-interface %U",
+                        unformat_vnet_sw_interface,
+                        vnet_get_main (), &sw_if_index))
+       ;
+      else if (unformat (line_input, "interface %U",
+                        unformat_vnet_sw_interface,
+                        vnet_get_main (), &sw_if_index))
+       ;
+      else if (unformat (line_input, "local-cookie %llx", &local_cookie))
+       ;
+      else if (unformat (line_input, "remote-cookie %llx", &remote_cookie))
+       ;
+      else if (unformat (line_input, "local-session-id %d",
+                        &local_session_id))
+       ;
+      else if (unformat (line_input, "remote-session-id %d",
+                        &remote_session_id))
+       ;
+      else if (unformat (line_input, "l2-sublayer-present"))
+       l2_sublayer_present = 1;
+      else
+       return clib_error_return (0, "parse error: '%U'",
+                                 format_unformat_error, line_input);
     }
 
-    unformat_free (line_input);
+  unformat_free (line_input);
 
-    if (sw_if_index == (u32)~0)
-        return clib_error_return (0, "l2-interface not specified");
-    if (our_address_set == 0)
-        return clib_error_return (0, "our address not specified");
-    if (client_address_set == 0)
-        return clib_error_return (0, "client address not specified");
+  if (sw_if_index == (u32) ~ 0)
+    return clib_error_return (0, "l2-interface not specified");
+  if (our_address_set == 0)
+    return clib_error_return (0, "our address not specified");
+  if (client_address_set == 0)
+    return clib_error_return (0, "client address not specified");
 
-    remote_session_id = clib_host_to_net_u32 (remote_session_id);
-    local_session_id  = clib_host_to_net_u32 (local_session_id);
+  remote_session_id = clib_host_to_net_u32 (remote_session_id);
+  local_session_id = clib_host_to_net_u32 (local_session_id);
 
-    switch (lm->lookup_type) {
+  switch (lm->lookup_type)
+    {
     case L2T_LOOKUP_SRC_ADDRESS:
-        p = hash_get_mem (lm->session_by_src_address, &client_address);
-        if (p) 
-            return clib_error_return 
-                (0, "Session w/ client address %U already exists",
-                 format_ip6_address, &client_address);
-        break;
-        
+      p = hash_get_mem (lm->session_by_src_address, &client_address);
+      if (p)
+       return clib_error_return
+         (0, "Session w/ client address %U already exists",
+          format_ip6_address, &client_address);
+      break;
+
     case L2T_LOOKUP_DST_ADDRESS:
-        p = hash_get_mem (lm->session_by_dst_address, &our_address);
-        if (p) 
-            return clib_error_return 
-                (0, "Session w/ our address %U already exists",
-                 format_ip6_address, &our_address);
-        break;
+      p = hash_get_mem (lm->session_by_dst_address, &our_address);
+      if (p)
+       return clib_error_return
+         (0, "Session w/ our address %U already exists",
+          format_ip6_address, &our_address);
+      break;
 
     case L2T_LOOKUP_SESSION_ID:
-        p = hash_get (lm->session_by_session_id, local_session_id);
-        if (p) 
-            return clib_error_return 
-                (0, 
-                 "Session w/ local session id %d already exists",
-                 clib_net_to_host_u32 (local_session_id));
-        break;
+      p = hash_get (lm->session_by_session_id, local_session_id);
+      if (p)
+       return clib_error_return
+         (0,
+          "Session w/ local session id %d already exists",
+          clib_net_to_host_u32 (local_session_id));
+      break;
 
     default:
-        ASSERT(0);
+      ASSERT (0);
     }
-    
-    pool_get (lm->sessions, s);
-    memset (s, 0, sizeof (*s));
-    clib_memcpy (&s->our_address, &our_address, sizeof (s->our_address));
-    clib_memcpy (&s->client_address, &client_address, sizeof (s->client_address));
-    s->sw_if_index = sw_if_index;
-    s->vlan_id = clib_host_to_net_u16 (vlan_id);
-    s->local_cookie = clib_host_to_net_u64 (local_cookie);
-    l2tp_session_set_remote_cookie (s, remote_cookie);
-    s->local_session_id = local_session_id;
-    s->remote_session_id = remote_session_id;
-    s->l2_sublayer_present = l2_sublayer_present;
-    
-    hi = vnet_get_sup_hw_interface (lm->vnet_main, sw_if_index);
-    si = vnet_get_sup_sw_interface (lm->vnet_main, sw_if_index);
-
-    next_index = vlib_node_add_next (vm, l2t_ip6_node.index,
-                                     hi->output_node_index);
-    s->l2_output_next_index = next_index;
-    s->l2_output_sw_if_index = si->sw_if_index;
-
-    /* Setup hash table entries */
-    switch (lm->lookup_type) {
+
+  pool_get (lm->sessions, s);
+  memset (s, 0, sizeof (*s));
+  clib_memcpy (&s->our_address, &our_address, sizeof (s->our_address));
+  clib_memcpy (&s->client_address, &client_address,
+              sizeof (s->client_address));
+  s->sw_if_index = sw_if_index;
+  s->vlan_id = clib_host_to_net_u16 (vlan_id);
+  s->local_cookie = clib_host_to_net_u64 (local_cookie);
+  l2tp_session_set_remote_cookie (s, remote_cookie);
+  s->local_session_id = local_session_id;
+  s->remote_session_id = remote_session_id;
+  s->l2_sublayer_present = l2_sublayer_present;
+
+  hi = vnet_get_sup_hw_interface (lm->vnet_main, sw_if_index);
+  si = vnet_get_sup_sw_interface (lm->vnet_main, sw_if_index);
+
+  next_index = vlib_node_add_next (vm, l2t_ip6_node.index,
+                                  hi->output_node_index);
+  s->l2_output_next_index = next_index;
+  s->l2_output_sw_if_index = si->sw_if_index;
+
+  /* Setup hash table entries */
+  switch (lm->lookup_type)
+    {
     case L2T_LOOKUP_SRC_ADDRESS:
-        src_address_copy = clib_mem_alloc (sizeof (*src_address_copy));
-        clib_memcpy (src_address_copy, &client_address, sizeof (*src_address_copy));
-        hash_set_mem (lm->session_by_src_address, src_address_copy, 
-                      s - lm->sessions);
-        break;
+      src_address_copy = clib_mem_alloc (sizeof (*src_address_copy));
+      clib_memcpy (src_address_copy, &client_address,
+                  sizeof (*src_address_copy));
+      hash_set_mem (lm->session_by_src_address, src_address_copy,
+                   s - lm->sessions);
+      break;
     case L2T_LOOKUP_DST_ADDRESS:
-        dst_address_copy = clib_mem_alloc (sizeof (*dst_address_copy));
-        clib_memcpy (dst_address_copy, &our_address, sizeof (*dst_address_copy));
-        hash_set_mem (lm->session_by_dst_address, dst_address_copy, 
-                      s - lm->sessions);
-        break;
+      dst_address_copy = clib_mem_alloc (sizeof (*dst_address_copy));
+      clib_memcpy (dst_address_copy, &our_address,
+                  sizeof (*dst_address_copy));
+      hash_set_mem (lm->session_by_dst_address, dst_address_copy,
+                   s - lm->sessions);
+      break;
     case L2T_LOOKUP_SESSION_ID:
-        hash_set (lm->session_by_session_id, local_session_id, 
-                  s - lm->sessions);
-        break;
+      hash_set (lm->session_by_session_id, local_session_id,
+               s - lm->sessions);
+      break;
 
     default:
-        ASSERT(0);
+      ASSERT (0);
     }
 
-    vlan_and_sw_if_index_key = ((uword)(s->vlan_id)<<32) | sw_if_index;
-    hash_set (lm->session_by_vlan_and_rx_sw_if_index,
-              vlan_and_sw_if_index_key, s - lm->sessions);
-    
-    /* validate counters */
-    counter_index = 
-        session_index_to_counter_index (s - lm->sessions,
-                                        SESSION_COUNTER_USER_TO_NETWORK);
-    vlib_validate_counter (&lm->counter_main, counter_index);
-    vlib_validate_counter (&lm->counter_main, counter_index+1);
-        
-    /* Set promiscuous mode on the l2 interface */
-    ethernet_set_flags (lm->vnet_main, hi->hw_if_index, 
-                        ETHERNET_INTERFACE_FLAG_ACCEPT_ALL);
-    vnet_hw_interface_rx_redirect_to_node (lm->vnet_main, hi->hw_if_index,
-                                           l2t_l2_node.index);
-    return 0;
+  vlan_and_sw_if_index_key = ((uword) (s->vlan_id) << 32) | sw_if_index;
+  hash_set (lm->session_by_vlan_and_rx_sw_if_index,
+           vlan_and_sw_if_index_key, s - lm->sessions);
+
+  /* validate counters */
+  counter_index =
+    session_index_to_counter_index (s - lm->sessions,
+                                   SESSION_COUNTER_USER_TO_NETWORK);
+  vlib_validate_counter (&lm->counter_main, counter_index);
+  vlib_validate_counter (&lm->counter_main, counter_index + 1);
+
+  /* Set promiscuous mode on the l2 interface */
+  ethernet_set_flags (lm->vnet_main, hi->hw_if_index,
+                     ETHERNET_INTERFACE_FLAG_ACCEPT_ALL);
+  vnet_hw_interface_rx_redirect_to_node (lm->vnet_main, hi->hw_if_index,
+                                        l2t_l2_node.index);
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (l2tp_session_add_command) = {
-    .path = "l2tp session add",
-    .short_help = 
-    "l2tp session add client <ip6> our <ip6> vlan <id> local-cookie <hex> remote-cookie <hex> local-session <dec> remote-session <dec> l2-interface <int>",
-    .function = l2tp_session_add_command_fn,
+  .path = "l2tp session add",
+  .short_help =
+  "l2tp session add client <ip6> our <ip6> vlan <id> local-cookie <hex> remote-cookie <hex> local-session <dec> remote-session <dec> l2-interface <int>",
+  .function = l2tp_session_add_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 l2tp_session_del_command_fn (vlib_main_t * vm,
-                             unformat_input_t * input,
-                             vlib_cli_command_t * cmd)
+                            unformat_input_t * input,
+                            vlib_cli_command_t * cmd)
 {
-    l2t_main_t *lm = &l2t_main;
-    u32 session_index;
-    l2t_session_t *s;
-    hash_pair_t * hp;
-    void *key;
-    uword vlan_and_sw_if_index_key;
-
-    if (!unformat (input, "%d", &session_index)) 
-        return clib_error_return (0, "missing session index: '%U'", 
-                                  format_unformat_error, input);
-        
-    if (pool_is_free_index (lm->sessions, session_index))
-        return clib_error_return (0, "session %d not in use", session_index);
-
-    s = pool_elt_at_index (lm->sessions, session_index);
-
-    switch (lm->lookup_type) {
+  l2t_main_t *lm = &l2t_main;
+  u32 session_index;
+  l2t_session_t *s;
+  hash_pair_t *hp;
+  void *key;
+  uword vlan_and_sw_if_index_key;
+
+  if (!unformat (input, "%d", &session_index))
+    return clib_error_return (0, "missing session index: '%U'",
+                             format_unformat_error, input);
+
+  if (pool_is_free_index (lm->sessions, session_index))
+    return clib_error_return (0, "session %d not in use", session_index);
+
+  s = pool_elt_at_index (lm->sessions, session_index);
+
+  switch (lm->lookup_type)
+    {
     case L2T_LOOKUP_SRC_ADDRESS:
-        hp = hash_get_pair_mem (lm->session_by_src_address, &s->client_address);
-        if (hp) {
-            key = (void *)(hp->key);
-            hash_unset_mem (lm->session_by_src_address, &s->client_address);
-            clib_mem_free (key);
-        } else
-            clib_warning ("session %d src address key %U AWOL", 
-                          s - lm->sessions, 
-                          format_ip6_address, &s->client_address);
-        break;
+      hp = hash_get_pair_mem (lm->session_by_src_address, &s->client_address);
+      if (hp)
+       {
+         key = (void *) (hp->key);
+         hash_unset_mem (lm->session_by_src_address, &s->client_address);
+         clib_mem_free (key);
+       }
+      else
+       clib_warning ("session %d src address key %U AWOL",
+                     s - lm->sessions,
+                     format_ip6_address, &s->client_address);
+      break;
 
     case L2T_LOOKUP_DST_ADDRESS:
-        hp = hash_get_pair_mem (lm->session_by_dst_address, &s->our_address);
-        if (hp) {
-            key = (void *)(hp->key);
-            hash_unset_mem (lm->session_by_dst_address, &s->our_address);
-            clib_mem_free (key);
-        } else
-            clib_warning ("session %d dst address key %U AWOL", 
-                          s - lm->sessions, 
-                          format_ip6_address, &s->our_address);
-        break;
+      hp = hash_get_pair_mem (lm->session_by_dst_address, &s->our_address);
+      if (hp)
+       {
+         key = (void *) (hp->key);
+         hash_unset_mem (lm->session_by_dst_address, &s->our_address);
+         clib_mem_free (key);
+       }
+      else
+       clib_warning ("session %d dst address key %U AWOL",
+                     s - lm->sessions, format_ip6_address, &s->our_address);
+      break;
 
     case L2T_LOOKUP_SESSION_ID:
-        hash_unset (lm->session_by_session_id, s->local_session_id);
-        break;
-        
+      hash_unset (lm->session_by_session_id, s->local_session_id);
+      break;
+
     default:
-        ASSERT(0);
+      ASSERT (0);
     }
-        
-    vlan_and_sw_if_index_key = ((uword)(s->vlan_id)<<32) | s->sw_if_index;
 
-    hash_unset (lm->session_by_vlan_and_rx_sw_if_index, vlan_and_sw_if_index_key);
-        
-    pool_put (lm->sessions, s);
-    return 0;
+  vlan_and_sw_if_index_key = ((uword) (s->vlan_id) << 32) | s->sw_if_index;
+
+  hash_unset (lm->session_by_vlan_and_rx_sw_if_index,
+             vlan_and_sw_if_index_key);
+
+  pool_put (lm->sessions, s);
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (l2tp_session_del_command) = {
-    .path = "l2tp session delete",
-    .short_help = 
-    "l2tp session delete <session-id>",
-    .function = l2tp_session_del_command_fn,
+  .path = "l2tp session delete",
+  .short_help =
+  "l2tp session delete <session-id>",
+  .function = l2tp_session_del_command_fn,
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 l2tp_session_cookie_command_fn (vlib_main_t * vm,
                                unformat_input_t * input,
                                vlib_cli_command_t * cmd)
 {
-    l2t_main_t *lm = &l2t_main;
-    u32 session_index;
-    l2t_session_t *s;
-    u64 lcl_ro_cookie = (u64)~0, rem_ro_cookie = (u64)~0;
-    u8 cookie_flags = 0;
-
-    if (!unformat (input, "%d", &session_index)) 
-        return clib_error_return (0, "missing session index: '%U'", 
-                                  format_unformat_error, input);
-        
-    if (pool_is_free_index (lm->sessions, session_index))
-        return clib_error_return (0, "session %d not in use", session_index);
-
-    s = pool_elt_at_index (lm->sessions, session_index);
-
-    if (unformat (input, "commit")) {
-       if (!s->cookie_flags) {
-           return clib_error_return (0,
-                                     "no rollover cookie ready to commit");
-       } else {
-           l2tp_session_cookie_commit (s);
-           return 0;
+  l2t_main_t *lm = &l2t_main;
+  u32 session_index;
+  l2t_session_t *s;
+  u64 lcl_ro_cookie = (u64) ~ 0, rem_ro_cookie = (u64) ~ 0;
+  u8 cookie_flags = 0;
+
+  if (!unformat (input, "%d", &session_index))
+    return clib_error_return (0, "missing session index: '%U'",
+                             format_unformat_error, input);
+
+  if (pool_is_free_index (lm->sessions, session_index))
+    return clib_error_return (0, "session %d not in use", session_index);
+
+  s = pool_elt_at_index (lm->sessions, session_index);
+
+  if (unformat (input, "commit"))
+    {
+      if (!s->cookie_flags)
+       {
+         return clib_error_return (0, "no rollover cookie ready to commit");
+       }
+      else
+       {
+         l2tp_session_cookie_commit (s);
+         return 0;
        }
     }
-    if (!unformat (input, "rollover"))
-       return clib_error_return (0, "missing 'commit|rollover': '%U'", 
-                                  format_unformat_error, input);
-    if (unformat (input, "local %llx", &lcl_ro_cookie)) {
-       cookie_flags |= L2TP_COOKIE_ROLLOVER_LOCAL;
-       l2tp_session_set_local_rollover_cookie (s, lcl_ro_cookie);
+  if (!unformat (input, "rollover"))
+    return clib_error_return (0, "missing 'commit|rollover': '%U'",
+                             format_unformat_error, input);
+  if (unformat (input, "local %llx", &lcl_ro_cookie))
+    {
+      cookie_flags |= L2TP_COOKIE_ROLLOVER_LOCAL;
+      l2tp_session_set_local_rollover_cookie (s, lcl_ro_cookie);
     }
-    if (unformat (input, "remote %llx", &rem_ro_cookie)) {
-       cookie_flags |= L2TP_COOKIE_ROLLOVER_REMOTE;
-       l2tp_session_set_remote_cookie (s, rem_ro_cookie);
+  if (unformat (input, "remote %llx", &rem_ro_cookie))
+    {
+      cookie_flags |= L2TP_COOKIE_ROLLOVER_REMOTE;
+      l2tp_session_set_remote_cookie (s, rem_ro_cookie);
     }
-    if (!cookie_flags)
-       return clib_error_return (0, "no rollover cookie specified");
+  if (!cookie_flags)
+    return clib_error_return (0, "no rollover cookie specified");
 
-    return 0;
+  return 0;
 }
 
+/* *INDENT-OFF* */
 static VLIB_CLI_COMMAND (l2tp_session_cookie_command) = {
-    .path = "l2tp session cookie",
-    .short_help = 
-    "l2tp session cookie <session id> commit|rollover [local <hex>] [remote <hex>]",
-    .function = l2tp_session_cookie_command_fn,
+  .path = "l2tp session cookie",
+  .short_help =
+  "l2tp session cookie <session id> commit|rollover [local <hex>] [remote <hex>]",
+  .function = l2tp_session_cookie_command_fn,
 };
+/* *INDENT-ON* */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 8a1e23a..ff68073 100644 (file)
@@ -35,233 +35,237 @@ l2t_main_t l2t_main;
 #define foreach_l2t_ip6_error                                   \
 _(USER_TO_NETWORK, "User (v6) to L2 network pkts")              \
 _(SESSION_ID_MISMATCH, "l2tpv3 local session id mismatches")    \
-_(COOKIE_MISMATCH, "l2tpv3 local cookie mismatches")  
+_(COOKIE_MISMATCH, "l2tpv3 local cookie mismatches")
 
-static char * l2t_ip6_error_strings[] = {
+static char *l2t_ip6_error_strings[] = {
 #define _(sym,string) string,
   foreach_l2t_ip6_error
 #undef _
 };
 
-typedef enum {
+typedef enum
+{
 #define _(sym,str) L2T_IP6_ERROR_##sym,
-    foreach_l2t_ip6_error
+  foreach_l2t_ip6_error
 #undef _
     L2T_IP6_N_ERROR,
 } l2t_ip6_error_t;
 
 /*
- * Packets go to ip6-input when they don't match a mapping, 
+ * Packets go to ip6-input when they don't match a mapping,
  * example: v6 neighbor discovery. They go to ip4-input
  * when they do match, and are decapsulated.
  */
-typedef enum { 
-    L2T_IP6_NEXT_DROP,
-    L2T_IP6_NEXT_IP6_INPUT,
-    L2T_IP6_N_NEXT,
-    /* Pseudo next, fixed in last_stage */
-    L2T_IP6_NEXT_OUTPUT = L2T_IP6_N_NEXT,
+typedef enum
+{
+  L2T_IP6_NEXT_DROP,
+  L2T_IP6_NEXT_IP6_INPUT,
+  L2T_IP6_N_NEXT,
+  /* Pseudo next, fixed in last_stage */
+  L2T_IP6_NEXT_OUTPUT = L2T_IP6_N_NEXT,
 } l2t_ip6_next_t;
 
 vlib_node_registration_t l2t_ip6_node;
 
 #define NSTAGES 3
 
-static inline void stage0 (vlib_main_t * vm,
-                           vlib_node_runtime_t * node,
-                           u32 buffer_index)
+static inline void
+stage0 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 buffer_index)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, buffer_index);
-    vlib_prefetch_buffer_header (b, STORE);
-    /* l2tpv3 header is a long way away, need 2 cache lines */
-    CLIB_PREFETCH (b->data, 2*CLIB_CACHE_LINE_BYTES, STORE);
+  vlib_buffer_t *b = vlib_get_buffer (vm, buffer_index);
+  vlib_prefetch_buffer_header (b, STORE);
+  /* l2tpv3 header is a long way away, need 2 cache lines */
+  CLIB_PREFETCH (b->data, 2 * CLIB_CACHE_LINE_BYTES, STORE);
 }
 
-static inline void stage1 (vlib_main_t * vm,
-                           vlib_node_runtime_t * node,
-                           u32 bi)
+static inline void
+stage1 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, bi);
-    l2t_main_t *lm = &l2t_main;
-    ip6_header_t * ip6 = vlib_buffer_get_current (b);
-    u32 session_index;
-    uword *p;
-    l2tpv3_header_t * l2t;
-
-    /* Not L2tpv3 (0x73, 0t115)? Use the normal path. */
-    if (PREDICT_FALSE(ip6->protocol != 0x73)) {
-        vnet_buffer(b)->l2t.next_index = L2T_IP6_NEXT_IP6_INPUT;
-        return;
+  vlib_buffer_t *b = vlib_get_buffer (vm, bi);
+  l2t_main_t *lm = &l2t_main;
+  ip6_header_t *ip6 = vlib_buffer_get_current (b);
+  u32 session_index;
+  uword *p;
+  l2tpv3_header_t *l2t;
+
+  /* Not L2tpv3 (0x73, 0t115)? Use the normal path. */
+  if (PREDICT_FALSE (ip6->protocol != 0x73))
+    {
+      vnet_buffer (b)->l2t.next_index = L2T_IP6_NEXT_IP6_INPUT;
+      return;
     }
 
-    /* Make up your minds, people... */
-    switch (lm->lookup_type) {
+  /* Make up your minds, people... */
+  switch (lm->lookup_type)
+    {
     case L2T_LOOKUP_SRC_ADDRESS:
-        p = hash_get_mem (lm->session_by_src_address, &ip6->src_address);
-        break;
+      p = hash_get_mem (lm->session_by_src_address, &ip6->src_address);
+      break;
     case L2T_LOOKUP_DST_ADDRESS:
-        p = hash_get_mem (lm->session_by_dst_address, &ip6->dst_address);
-        break;
+      p = hash_get_mem (lm->session_by_dst_address, &ip6->dst_address);
+      break;
     case L2T_LOOKUP_SESSION_ID:
-        l2t = (l2tpv3_header_t*)(ip6+1);
-        p = hash_get (lm->session_by_session_id, l2t->session_id);
-        break;
+      l2t = (l2tpv3_header_t *) (ip6 + 1);
+      p = hash_get (lm->session_by_session_id, l2t->session_id);
+      break;
     default:
-        ASSERT(0);
+      ASSERT (0);
     }
 
-    if (PREDICT_FALSE(p == 0)) {
-        vnet_buffer(b)->l2t.next_index = L2T_IP6_NEXT_IP6_INPUT;
-        return;
-    } else {
-        session_index = p[0];
+  if (PREDICT_FALSE (p == 0))
+    {
+      vnet_buffer (b)->l2t.next_index = L2T_IP6_NEXT_IP6_INPUT;
+      return;
+    }
+  else
+    {
+      session_index = p[0];
     }
 
-    /* Remember mapping index, prefetch the mini counter */
-    vnet_buffer(b)->l2t.next_index = L2T_IP6_NEXT_OUTPUT;
-    vnet_buffer(b)->l2t.session_index = session_index;
+  /* Remember mapping index, prefetch the mini counter */
+  vnet_buffer (b)->l2t.next_index = L2T_IP6_NEXT_OUTPUT;
+  vnet_buffer (b)->l2t.session_index = session_index;
 
-    /* Each mapping has 2 x (pkt, byte) counters, hence the shift */
-    CLIB_PREFETCH(lm->counter_main.mini + (p[0]<<1), CLIB_CACHE_LINE_BYTES,
-                  STORE);
+  /* Each mapping has 2 x (pkt, byte) counters, hence the shift */
+  CLIB_PREFETCH (lm->counter_main.mini + (p[0] << 1), CLIB_CACHE_LINE_BYTES,
+                STORE);
 }
 
-static inline u32 last_stage (vlib_main_t *vm, vlib_node_runtime_t *node,
-                              u32 bi)
+static inline u32
+last_stage (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, bi);
-    l2t_main_t *lm = &l2t_main;
-    ip6_header_t * ip6 = vlib_buffer_get_current (b);
-    vlib_node_t *n = vlib_get_node (vm, l2t_ip6_node.index);
-    u32 node_counter_base_index = n->error_heap_index;
-    vlib_error_main_t * em = &vm->error_main;
-    ethernet_header_t * l2_payload;
-    l2tpv3_header_t * l2t;      /* original l2 header */
-    ethernet_vlan_header_t * vh; /* synthesized 802.1q vlan header */
-    u32 counter_index;
-    l2t_session_t * session;
-    u16 payload_ethertype;
-    u8 dst_mac_address[6];
-    u8 src_mac_address[6];
-    u8 *vlan_header_pos;
-    
-    /* Other-than-output pkt? We're done... */
-    if (vnet_buffer(b)->l2t.next_index != L2T_IP6_NEXT_OUTPUT) 
-        return vnet_buffer(b)->l2t.next_index;
-
-    em->counters[node_counter_base_index + L2T_IP6_ERROR_USER_TO_NETWORK] += 1;
-    
-    counter_index = 
-        session_index_to_counter_index (vnet_buffer(b)->l2t.session_index,
-                                        SESSION_COUNTER_USER_TO_NETWORK);
-
-    /* per-mapping byte stats include the ethernet header */
-    vlib_increment_combined_counter (&lm->counter_main, counter_index,
-                                     1 /* packet_increment */,
-                                     vlib_buffer_length_in_chain (vm, b) +
-                                     sizeof (ethernet_header_t));
-    
-    session = pool_elt_at_index (lm->sessions, 
-                                 vnet_buffer(b)->l2t.session_index);
-
-    /* build the 802.1q encaps. Advance past ip6 and l2tpv3 hds */
-    vlib_buffer_advance (b, sizeof (*ip6));
-    l2t = vlib_buffer_get_current (b);
-    
-    /* $$$ wonder if we really need these checks... */
-    if (PREDICT_FALSE(l2t->session_id != session->local_session_id)) {
-         b->error = lm->ip6_error_node->
-              errors[L2T_IP6_ERROR_SESSION_ID_MISMATCH];
-          return L2T_IP6_NEXT_DROP;
+  vlib_buffer_t *b = vlib_get_buffer (vm, bi);
+  l2t_main_t *lm = &l2t_main;
+  ip6_header_t *ip6 = vlib_buffer_get_current (b);
+  vlib_node_t *n = vlib_get_node (vm, l2t_ip6_node.index);
+  u32 node_counter_base_index = n->error_heap_index;
+  vlib_error_main_t *em = &vm->error_main;
+  ethernet_header_t *l2_payload;
+  l2tpv3_header_t *l2t;                /* original l2 header */
+  ethernet_vlan_header_t *vh;  /* synthesized 802.1q vlan header */
+  u32 counter_index;
+  l2t_session_t *session;
+  u16 payload_ethertype;
+  u8 dst_mac_address[6];
+  u8 src_mac_address[6];
+  u8 *vlan_header_pos;
+
+  /* Other-than-output pkt? We're done... */
+  if (vnet_buffer (b)->l2t.next_index != L2T_IP6_NEXT_OUTPUT)
+    return vnet_buffer (b)->l2t.next_index;
+
+  em->counters[node_counter_base_index + L2T_IP6_ERROR_USER_TO_NETWORK] += 1;
+
+  counter_index =
+    session_index_to_counter_index (vnet_buffer (b)->l2t.session_index,
+                                   SESSION_COUNTER_USER_TO_NETWORK);
+
+  /* per-mapping byte stats include the ethernet header */
+  vlib_increment_combined_counter (&lm->counter_main, counter_index,
+                                  1 /* packet_increment */ ,
+                                  vlib_buffer_length_in_chain (vm, b) +
+                                  sizeof (ethernet_header_t));
+
+  session = pool_elt_at_index (lm->sessions,
+                              vnet_buffer (b)->l2t.session_index);
+
+  /* build the 802.1q encaps. Advance past ip6 and l2tpv3 hds */
+  vlib_buffer_advance (b, sizeof (*ip6));
+  l2t = vlib_buffer_get_current (b);
+
+  /* $$$ wonder if we really need these checks... */
+  if (PREDICT_FALSE (l2t->session_id != session->local_session_id))
+    {
+      b->error =
+       lm->ip6_error_node->errors[L2T_IP6_ERROR_SESSION_ID_MISMATCH];
+      return L2T_IP6_NEXT_DROP;
     }
 
-    if (PREDICT_FALSE(!((l2t->cookie == session->local_cookie) || 
-                       ((session->cookie_flags & L2TP_COOKIE_ROLLOVER_LOCAL) &&
-                        (l2t->cookie == session->lcl_ro_cookie))))) {
-         b->error = lm->ip6_error_node->
-              errors[L2T_IP6_ERROR_COOKIE_MISMATCH];
-          return L2T_IP6_NEXT_DROP;
+  if (PREDICT_FALSE (!((l2t->cookie == session->local_cookie) ||
+                      ((session->cookie_flags & L2TP_COOKIE_ROLLOVER_LOCAL)
+                       && (l2t->cookie == session->lcl_ro_cookie)))))
+    {
+      b->error = lm->ip6_error_node->errors[L2T_IP6_ERROR_COOKIE_MISMATCH];
+      return L2T_IP6_NEXT_DROP;
     }
 
-    vnet_buffer(b)->sw_if_index[VLIB_TX] = session->l2_output_sw_if_index;
+  vnet_buffer (b)->sw_if_index[VLIB_TX] = session->l2_output_sw_if_index;
 
-    vlib_buffer_advance (b, sizeof (*l2t));
+  vlib_buffer_advance (b, sizeof (*l2t));
 
-    /* point at currrent l2 hdr */
-    l2_payload = vlib_buffer_get_current (b);
+  /* point at currrent l2 hdr */
+  l2_payload = vlib_buffer_get_current (b);
 
-    /* $$$$ rework for speed */
+  /* $$$$ rework for speed */
 
-    /* Save type */
-    payload_ethertype = l2_payload->type;
+  /* Save type */
+  payload_ethertype = l2_payload->type;
 
-    /* Save src/dst MAC addresses */
+  /* Save src/dst MAC addresses */
 #define _(i)  dst_mac_address[i] = l2_payload->dst_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
 #define _(i)  src_mac_address[i] = l2_payload->src_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
 
-    /* Punch in space for 802.1q tag */
-    vlib_buffer_advance (b, -4);
-    l2_payload = vlib_buffer_get_current (b);
+  /* Punch in space for 802.1q tag */
+  vlib_buffer_advance (b, -4);
+  l2_payload = vlib_buffer_get_current (b);
 
-    /* Restore MAC addresses */
+  /* Restore MAC addresses */
 #define _(i)  l2_payload->dst_address[i] = dst_mac_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
 #define _(i)  l2_payload->src_address[i] = src_mac_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
-    /* Set (outer) ethertype to 802.1q vlan */
-    l2_payload->type = clib_host_to_net_u16 (0x8100);
-    vlan_header_pos = (u8 *)(l2_payload+1);
+  /* Set (outer) ethertype to 802.1q vlan */
+  l2_payload->type = clib_host_to_net_u16 (0x8100);
+  vlan_header_pos = (u8 *) (l2_payload + 1);
 #if 0
-    vlan_header_pos = session->l2_sublayer_present ? 
-        vlan_header_pos : vlan_header_pos - 4;
+  vlan_header_pos = session->l2_sublayer_present ?
+    vlan_header_pos : vlan_header_pos - 4;
 #endif
-    vh = (ethernet_vlan_header_t *)vlan_header_pos;
-    vh->priority_cfi_and_id = session->vlan_id;
-    vh->type = payload_ethertype;
-
-    if (PREDICT_FALSE(b->flags & VLIB_BUFFER_IS_TRACED)) {
-        l2t_trace_t *t = vlib_add_trace (vm, node, b, sizeof (*t));
-        t->is_user_to_network = 1;
-        t->our_address.as_u64[0] = 
-            ip6->dst_address.as_u64[0];
-        t->our_address.as_u64[1] = 
-            ip6->dst_address.as_u64[1];
-        t->client_address.as_u64[0] = 
-            ip6->src_address.as_u64[0];
-        t->client_address.as_u64[1] = 
-            ip6->src_address.as_u64[1];
-        t->session_index = vnet_buffer(b)->l2t.session_index;
-        t->vlan_id_host_byte_order = clib_net_to_host_u16 (session->vlan_id);
+  vh = (ethernet_vlan_header_t *) vlan_header_pos;
+  vh->priority_cfi_and_id = session->vlan_id;
+  vh->type = payload_ethertype;
+
+  if (PREDICT_FALSE (b->flags & VLIB_BUFFER_IS_TRACED))
+    {
+      l2t_trace_t *t = vlib_add_trace (vm, node, b, sizeof (*t));
+      t->is_user_to_network = 1;
+      t->our_address.as_u64[0] = ip6->dst_address.as_u64[0];
+      t->our_address.as_u64[1] = ip6->dst_address.as_u64[1];
+      t->client_address.as_u64[0] = ip6->src_address.as_u64[0];
+      t->client_address.as_u64[1] = ip6->src_address.as_u64[1];
+      t->session_index = vnet_buffer (b)->l2t.session_index;
+      t->vlan_id_host_byte_order = clib_net_to_host_u16 (session->vlan_id);
     }
 
-    return session->l2_output_next_index;
+  return session->l2_output_next_index;
 }
 
 #include <vnet/pipeline.h>
 
-static uword ip6_l2t_node_fn (vlib_main_t * vm,
-                              vlib_node_runtime_t * node,
-                              vlib_frame_t * frame)
+static uword
+ip6_l2t_node_fn (vlib_main_t * vm,
+                vlib_node_runtime_t * node, vlib_frame_t * frame)
 {
-    l2t_main_t *lm = &l2t_main;
-    lm->ip6_error_node = vlib_node_get_runtime (vm, l2t_ip6_node.index);
+  l2t_main_t *lm = &l2t_main;
+  lm->ip6_error_node = vlib_node_get_runtime (vm, l2t_ip6_node.index);
 
-    return dispatch_pipeline (vm, node, frame);
+  return dispatch_pipeline (vm, node, frame);
 }
 
+/* *INDENT-OFF* */
 static VLIB_REGISTER_NODE (sw6_ip6_node) = {
   .function = ip6_l2t_node_fn,
   .name = "ip6-l2t-input",
   .vector_size = sizeof (u32),
   .format_trace = format_l2t_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  
+
   .n_errors = ARRAY_LEN(l2t_ip6_error_strings),
   .error_strings = l2t_ip6_error_strings,
 
@@ -269,61 +273,71 @@ static VLIB_REGISTER_NODE (sw6_ip6_node) = {
 
   /* edit / add dispositions here */
   .next_nodes = {
-        [L2T_IP6_NEXT_IP6_INPUT] = "ip6-input",
-        [L2T_IP6_NEXT_DROP] = "error-drop",
+    [L2T_IP6_NEXT_IP6_INPUT] = "ip6-input",
+    [L2T_IP6_NEXT_DROP] = "error-drop",
   },
 };
+/* *INDENT-ON* */
 
-VLIB_NODE_FUNCTION_MULTIARCH (sw6_ip6_node, ip6_l2t_node_fn)
-
+VLIB_NODE_FUNCTION_MULTIARCH (sw6_ip6_node, ip6_l2t_node_fn);
 static clib_error_t *
 l2tp_config (vlib_main_t * vm, unformat_input_t * input)
 {
-    l2t_main_t *lm = &l2t_main;
-    
-    while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat (input, "lookup-v6-src"))
-            lm->lookup_type = L2T_LOOKUP_SRC_ADDRESS;
-        else if (unformat (input, "lookup-v6-dst"))
-            lm->lookup_type = L2T_LOOKUP_DST_ADDRESS;
-        else if (unformat (input, "lookup-session-id"))
-            lm->lookup_type = L2T_LOOKUP_SESSION_ID;
-        else return clib_error_return (0, "unknown input `%U'",
-                                       format_unformat_error, input);
+  l2t_main_t *lm = &l2t_main;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "lookup-v6-src"))
+       lm->lookup_type = L2T_LOOKUP_SRC_ADDRESS;
+      else if (unformat (input, "lookup-v6-dst"))
+       lm->lookup_type = L2T_LOOKUP_DST_ADDRESS;
+      else if (unformat (input, "lookup-session-id"))
+       lm->lookup_type = L2T_LOOKUP_SESSION_ID;
+      else
+       return clib_error_return (0, "unknown input `%U'",
+                                 format_unformat_error, input);
     }
-    return 0;
+  return 0;
 }
 
 VLIB_CONFIG_FUNCTION (l2tp_config, "l2tp");
 
 clib_error_t *
-l2t_ip6_init (vlib_main_t *vm)
+l2t_ip6_init (vlib_main_t * vm)
 {
-    l2t_main_t *lm = &l2t_main;
-
-    lm->vnet_main = vnet_get_main();
-    lm->vlib_main = vm;
-    lm->lookup_type = L2T_LOOKUP_DST_ADDRESS;
-
-    lm->session_by_src_address = hash_create_mem 
-        (0, sizeof (ip6_address_t) /* key bytes */,
-         sizeof (u32) /* value bytes */);
-    lm->session_by_dst_address = hash_create_mem 
-        (0, sizeof (ip6_address_t) /* key bytes */,
-         sizeof (u32) /* value bytes */);
-    lm->session_by_session_id = hash_create (0, sizeof (uword));
-
-    lm->session_by_vlan_and_rx_sw_if_index = hash_create (0, sizeof (uword));
-    
+  l2t_main_t *lm = &l2t_main;
+
+  lm->vnet_main = vnet_get_main ();
+  lm->vlib_main = vm;
+  lm->lookup_type = L2T_LOOKUP_DST_ADDRESS;
+
+  lm->session_by_src_address = hash_create_mem
+    (0, sizeof (ip6_address_t) /* key bytes */ ,
+     sizeof (u32) /* value bytes */ );
+  lm->session_by_dst_address = hash_create_mem
+    (0, sizeof (ip6_address_t) /* key bytes */ ,
+     sizeof (u32) /* value bytes */ );
+  lm->session_by_session_id = hash_create (0, sizeof (uword));
+
+  lm->session_by_vlan_and_rx_sw_if_index = hash_create (0, sizeof (uword));
+
 #if DPDK == 0
-    vice_set_next_node (VICE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
-    ixgev_set_next_node (IXGEV_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
-    ixge_set_next_node (IXGE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
-    ige_set_next_node (IGE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
+  vice_set_next_node (VICE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
+  ixgev_set_next_node (IXGEV_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
+  ixge_set_next_node (IXGE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
+  ige_set_next_node (IGE_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
 #else
-    dpdk_set_next_node (DPDK_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
+  dpdk_set_next_node (DPDK_RX_NEXT_IP6_INPUT, "ip6-l2t-input");
 #endif
-    return 0;
+  return 0;
 }
 
 VLIB_INIT_FUNCTION (l2t_ip6_init);
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index f6385a5..07d30d9 100644 (file)
@@ -32,17 +32,18 @@ l2t_main_t l2t_main;
 
 /* Statistics (not really errors) */
 #define foreach_l2t_l2_error                       \
-_(NETWORK_TO_USER, "L2 network to user (ip6) pkts")  
+_(NETWORK_TO_USER, "L2 network to user (ip6) pkts")
 
-static char * l2t_l2_error_strings[] = {
+static char *l2t_l2_error_strings[] = {
 #define _(sym,string) string,
   foreach_l2t_l2_error
 #undef _
 };
 
-typedef enum {
+typedef enum
+{
 #define _(sym,str) L2T_L2_ERROR_##sym,
-    foreach_l2t_l2_error
+  foreach_l2t_l2_error
 #undef _
     L2T_L2_N_ERROR,
 } l2t_l2_error_t;
@@ -50,193 +51,197 @@ typedef enum {
 /*
  * Packets go to ethernet-input when they don't match a mapping
  */
-typedef enum { 
-    L2T_L2_NEXT_DROP,
-    L2T_L2_NEXT_ETHERNET_INPUT,
-    L2T_L2_NEXT_IP6_LOOKUP,
-    L2T_L2_N_NEXT,
+typedef enum
+{
+  L2T_L2_NEXT_DROP,
+  L2T_L2_NEXT_ETHERNET_INPUT,
+  L2T_L2_NEXT_IP6_LOOKUP,
+  L2T_L2_N_NEXT,
 } l2t_l2_next_t;
 
 vlib_node_registration_t l2t_l2_node;
 
 #define NSTAGES 3
 
-static inline void stage0 (vlib_main_t * vm,
-                           vlib_node_runtime_t * node,
-                           u32 buffer_index)
+static inline void
+stage0 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 buffer_index)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, buffer_index);
-    vlib_prefetch_buffer_header (b, STORE);
-    CLIB_PREFETCH (b->data, 2*CLIB_CACHE_LINE_BYTES, STORE);
+  vlib_buffer_t *b = vlib_get_buffer (vm, buffer_index);
+  vlib_prefetch_buffer_header (b, STORE);
+  CLIB_PREFETCH (b->data, 2 * CLIB_CACHE_LINE_BYTES, STORE);
 }
 
-static inline void stage1 (vlib_main_t * vm,
-                           vlib_node_runtime_t * node,
-                           u32 bi)
+static inline void
+stage1 (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, bi);
-    l2t_main_t *lm = &l2t_main;
-    ethernet_header_t * eh;
-    ethernet_vlan_header_t *vh;
-    u32 session_index;
-    uword *p;
-    uword vlan_and_sw_if_index_key;
-
-    /* just in case, needed to test with the tun/tap device */
-    vlib_buffer_reset(b);
-
-    eh = vlib_buffer_get_current (b);
-
-    /* Not a VLAN pkt? send to ethernet-input... */
-    if (PREDICT_FALSE(eh->type != clib_host_to_net_u16 (0x8100))) {
-        vnet_buffer(b)->l2t.next_index = L2T_L2_NEXT_ETHERNET_INPUT;
-        return;
+  vlib_buffer_t *b = vlib_get_buffer (vm, bi);
+  l2t_main_t *lm = &l2t_main;
+  ethernet_header_t *eh;
+  ethernet_vlan_header_t *vh;
+  u32 session_index;
+  uword *p;
+  uword vlan_and_sw_if_index_key;
+
+  /* just in case, needed to test with the tun/tap device */
+  vlib_buffer_reset (b);
+
+  eh = vlib_buffer_get_current (b);
+
+  /* Not a VLAN pkt? send to ethernet-input... */
+  if (PREDICT_FALSE (eh->type != clib_host_to_net_u16 (0x8100)))
+    {
+      vnet_buffer (b)->l2t.next_index = L2T_L2_NEXT_ETHERNET_INPUT;
+      return;
     }
-    vh = (ethernet_vlan_header_t *)(eh+1);
+  vh = (ethernet_vlan_header_t *) (eh + 1);
 
-    /* look up session */
-    vlan_and_sw_if_index_key = ((uword)(vh->priority_cfi_and_id)<<32) 
-        | vnet_buffer(b)->sw_if_index[VLIB_RX];
+  /* look up session */
+  vlan_and_sw_if_index_key = ((uword) (vh->priority_cfi_and_id) << 32)
+    | vnet_buffer (b)->sw_if_index[VLIB_RX];
 
-    p = hash_get (lm->session_by_vlan_and_rx_sw_if_index, 
-                  vlan_and_sw_if_index_key);
+  p = hash_get (lm->session_by_vlan_and_rx_sw_if_index,
+               vlan_and_sw_if_index_key);
 
-    if (PREDICT_FALSE(p == 0)) {
-        /* $$$ drop here if not for our MAC? */
-        vnet_buffer(b)->l2t.next_index = L2T_L2_NEXT_ETHERNET_INPUT;
-        return;
-    } else {
-        session_index = p[0];
+  if (PREDICT_FALSE (p == 0))
+    {
+      /* $$$ drop here if not for our MAC? */
+      vnet_buffer (b)->l2t.next_index = L2T_L2_NEXT_ETHERNET_INPUT;
+      return;
+    }
+  else
+    {
+      session_index = p[0];
     }
 
-    /* Remember mapping index, prefetch the mini counter */
-    vnet_buffer(b)->l2t.next_index = L2T_L2_NEXT_IP6_LOOKUP;
-    vnet_buffer(b)->l2t.session_index = session_index;
+  /* Remember mapping index, prefetch the mini counter */
+  vnet_buffer (b)->l2t.next_index = L2T_L2_NEXT_IP6_LOOKUP;
+  vnet_buffer (b)->l2t.session_index = session_index;
 
-    /* Each mapping has 2 x (pkt, byte) counters, hence the shift */
-    CLIB_PREFETCH(lm->counter_main.mini + (p[0]<<1), CLIB_CACHE_LINE_BYTES,
-                  STORE);
+  /* Each mapping has 2 x (pkt, byte) counters, hence the shift */
+  CLIB_PREFETCH (lm->counter_main.mini + (p[0] << 1), CLIB_CACHE_LINE_BYTES,
+                STORE);
 }
 
-static inline u32 last_stage (vlib_main_t *vm, vlib_node_runtime_t *node,
-                              u32 bi)
+static inline u32
+last_stage (vlib_main_t * vm, vlib_node_runtime_t * node, u32 bi)
 {
-    vlib_buffer_t *b = vlib_get_buffer (vm, bi);
-    l2t_main_t *lm = &l2t_main;
-    ethernet_header_t * eh = vlib_buffer_get_current (b);
-    vlib_node_t *n = vlib_get_node (vm, l2t_l2_node.index);
-    u32 node_counter_base_index = n->error_heap_index;
-    vlib_error_main_t * em = &vm->error_main;
-    l2tpv3_header_t * l2t;      /* l2 header */
-    ethernet_vlan_header_t * vh; /* 802.1q vlan header */
-    u32 counter_index;
-    l2t_session_t *s;
-    ip6_header_t *ip6;
-    u16 payload_ethertype;
-    u8 dst_mac_address[6];
-    u8 src_mac_address[6];
-    u16 payload_length;
-    i32 backup;
-    
-    /* Other-than-output pkt? We're done... */
-    if (vnet_buffer(b)->l2t.next_index != L2T_L2_NEXT_IP6_LOOKUP)
-        return vnet_buffer(b)->l2t.next_index;
-
-    vh = (ethernet_vlan_header_t *)(eh+1);
-
-    em->counters[node_counter_base_index + L2T_L2_ERROR_NETWORK_TO_USER] += 1;
-    
-    counter_index = 
-        session_index_to_counter_index (vnet_buffer(b)->l2t.session_index,
-                                        SESSION_COUNTER_NETWORK_TO_USER);
-    
-    /* per-mapping byte stats include the ethernet header */
-    vlib_increment_combined_counter (&lm->counter_main, counter_index,
-                                     1 /* packet_increment */,
-                                     vlib_buffer_length_in_chain (vm, b) +
-                                     sizeof (ethernet_header_t));
-    
-    s = pool_elt_at_index (lm->sessions, vnet_buffer(b)->l2t.session_index);
-
-    /* Save src/dst MAC addresses */
+  vlib_buffer_t *b = vlib_get_buffer (vm, bi);
+  l2t_main_t *lm = &l2t_main;
+  ethernet_header_t *eh = vlib_buffer_get_current (b);
+  vlib_node_t *n = vlib_get_node (vm, l2t_l2_node.index);
+  u32 node_counter_base_index = n->error_heap_index;
+  vlib_error_main_t *em = &vm->error_main;
+  l2tpv3_header_t *l2t;                /* l2 header */
+  ethernet_vlan_header_t *vh;  /* 802.1q vlan header */
+  u32 counter_index;
+  l2t_session_t *s;
+  ip6_header_t *ip6;
+  u16 payload_ethertype;
+  u8 dst_mac_address[6];
+  u8 src_mac_address[6];
+  u16 payload_length;
+  i32 backup;
+
+  /* Other-than-output pkt? We're done... */
+  if (vnet_buffer (b)->l2t.next_index != L2T_L2_NEXT_IP6_LOOKUP)
+    return vnet_buffer (b)->l2t.next_index;
+
+  vh = (ethernet_vlan_header_t *) (eh + 1);
+
+  em->counters[node_counter_base_index + L2T_L2_ERROR_NETWORK_TO_USER] += 1;
+
+  counter_index =
+    session_index_to_counter_index (vnet_buffer (b)->l2t.session_index,
+                                   SESSION_COUNTER_NETWORK_TO_USER);
+
+  /* per-mapping byte stats include the ethernet header */
+  vlib_increment_combined_counter (&lm->counter_main, counter_index,
+                                  1 /* packet_increment */ ,
+                                  vlib_buffer_length_in_chain (vm, b) +
+                                  sizeof (ethernet_header_t));
+
+  s = pool_elt_at_index (lm->sessions, vnet_buffer (b)->l2t.session_index);
+
+  /* Save src/dst MAC addresses */
 #define _(i)  dst_mac_address[i] = eh->dst_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
 #define _(i)  src_mac_address[i] = eh->src_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
-    
-    payload_ethertype = vh->type;
 
-    /* Splice out the 802.1q vlan tag */
-    vlib_buffer_advance (b, 4);
-    eh = vlib_buffer_get_current (b);
+  payload_ethertype = vh->type;
+
+  /* Splice out the 802.1q vlan tag */
+  vlib_buffer_advance (b, 4);
+  eh = vlib_buffer_get_current (b);
 
-    /* restore src/dst MAC addresses */
+  /* restore src/dst MAC addresses */
 #define _(i)   eh->dst_address[i] = dst_mac_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
 #define _(i)  eh->src_address[i] = src_mac_address[i];
-    _(0) _(1) _(2) _(3) _(4) _(5);
+  _(0) _(1) _(2) _(3) _(4) _(5);
 #undef _
-    eh->type = payload_ethertype;
-    
-    /* Paint on an l2tpv3 hdr */
-    backup = sizeof(*l2t);
+  eh->type = payload_ethertype;
+
+  /* Paint on an l2tpv3 hdr */
+  backup = sizeof (*l2t);
 #if 0
-    /* back up 4 bytes less if no l2 sublayer */
-    backup -= s->l2_sublayer_present ? 0 : 4;
+  /* back up 4 bytes less if no l2 sublayer */
+  backup -= s->l2_sublayer_present ? 0 : 4;
 #endif
-    
-    vlib_buffer_advance (b, -backup);
-    l2t = vlib_buffer_get_current (b);
 
-    l2t->session_id = s->remote_session_id;
-    l2t->cookie = s->remote_cookie;
+  vlib_buffer_advance (b, -backup);
+  l2t = vlib_buffer_get_current (b);
+
+  l2t->session_id = s->remote_session_id;
+  l2t->cookie = s->remote_cookie;
 
 #if 0
-    if (s->l2_sublayer_present)
-        l2t->l2_specific_sublayer = 0;
+  if (s->l2_sublayer_present)
+    l2t->l2_specific_sublayer = 0;
 #endif
 
-    /* Paint on an ip6 header */
-    vlib_buffer_advance (b, -(sizeof (*ip6)));
-    ip6 = vlib_buffer_get_current (b);
+  /* Paint on an ip6 header */
+  vlib_buffer_advance (b, -(sizeof (*ip6)));
+  ip6 = vlib_buffer_get_current (b);
 
-    ip6->ip_version_traffic_class_and_flow_label = 
-        clib_host_to_net_u32 (0x6<<28);
+  ip6->ip_version_traffic_class_and_flow_label =
+    clib_host_to_net_u32 (0x6 << 28);
 
-    /* calculate ip6 payload length */
-    payload_length = vlib_buffer_length_in_chain (vm, b);
-    payload_length -= sizeof (*ip6);
+  /* calculate ip6 payload length */
+  payload_length = vlib_buffer_length_in_chain (vm, b);
+  payload_length -= sizeof (*ip6);
 
-    ip6->payload_length = clib_host_to_net_u16 (payload_length);
-    ip6->protocol = 0x73; /* l2tpv3 */
-    ip6->hop_limit = 0xff;
-    ip6->src_address.as_u64[0] = s->our_address.as_u64[0];
-    ip6->src_address.as_u64[1] = s->our_address.as_u64[1];
-    ip6->dst_address.as_u64[0] = s->client_address.as_u64[0];
-    ip6->dst_address.as_u64[1] = s->client_address.as_u64[1];
+  ip6->payload_length = clib_host_to_net_u16 (payload_length);
+  ip6->protocol = 0x73;                /* l2tpv3 */
+  ip6->hop_limit = 0xff;
+  ip6->src_address.as_u64[0] = s->our_address.as_u64[0];
+  ip6->src_address.as_u64[1] = s->our_address.as_u64[1];
+  ip6->dst_address.as_u64[0] = s->client_address.as_u64[0];
+  ip6->dst_address.as_u64[1] = s->client_address.as_u64[1];
 
-    return L2T_L2_NEXT_IP6_LOOKUP;
+  return L2T_L2_NEXT_IP6_LOOKUP;
 }
 
 #include <vnet/pipeline.h>
 
-static uword l2t_l2_node_fn (vlib_main_t * vm,
-                             vlib_node_runtime_t * node,
-                             vlib_frame_t * frame)
+static uword
+l2t_l2_node_fn (vlib_main_t * vm,
+               vlib_node_runtime_t * node, vlib_frame_t * frame)
 {
-    return dispatch_pipeline (vm, node, frame);
+  return dispatch_pipeline (vm, node, frame);
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (l2t_l2_node) = {
   .function = l2t_l2_node_fn,
   .name = "l2t-l2-input",
   .vector_size = sizeof (u32),
   .format_trace = format_l2t_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  
+
   .n_errors = ARRAY_LEN(l2t_l2_error_strings),
   .error_strings = l2t_l2_error_strings,
 
@@ -244,11 +249,19 @@ VLIB_REGISTER_NODE (l2t_l2_node) = {
 
   /* edit / add dispositions here */
   .next_nodes = {
-        [L2T_L2_NEXT_IP6_LOOKUP] = "ip6-lookup",
-        [L2T_L2_NEXT_ETHERNET_INPUT] = "ethernet-input",
-        [L2T_L2_NEXT_DROP] = "error-drop",
+    [L2T_L2_NEXT_IP6_LOOKUP] = "ip6-lookup",
+    [L2T_L2_NEXT_ETHERNET_INPUT] = "ethernet-input",
+    [L2T_L2_NEXT_DROP] = "error-drop",
   },
 };
+/* *INDENT-ON* */
 
-VLIB_NODE_FUNCTION_MULTIARCH (l2t_l2_node, l2t_l2_node_fn)
+VLIB_NODE_FUNCTION_MULTIARCH (l2t_l2_node, l2t_l2_node_fn);
 
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index d6d3551..05d681f 100644 (file)
 #include <vnet/ip/ip6_packet.h>
 #include <vppinfra/error.h>
 
-typedef struct {
+typedef struct
+{
   u32 fwd_entry_index;
   u32 rev_entry_index;
   /* Not strictly needed, for show command */
   u32 fib_index;
 } sticky_hash_session_t;
 
-typedef struct {
+typedef struct
+{
   u32 cached_next_index;
 
   /* next index added to l2_classify */
   u32 fwd_miss_next_index;
 
   /* session pool */
-  sticky_hash_session_t * sessions;
+  sticky_hash_session_t *sessions;
 
   /* Forward and reverse data session setup buffers */
   u8 fdata[3 * sizeof (u32x4)];
   u8 rdata[3 * sizeof (u32x4)];
 
   /* convenience variables */
-  vlib_main_t * vlib_main;
-  vnet_main_t * vnet_main;
-  vnet_classify_main_t * vnet_classify_main;
-  l2_classify_main_t * l2_classify_main;
-} sticky_hash_main_t;
-
-typedef struct {
-  /* $$$$ fill in with per-pkt trace data */ 
+  vlib_main_t *vlib_main;
+  vnet_main_t *vnet_main;
+  vnet_classify_main_t *vnet_classify_main;
+  l2_classify_main_t *l2_classify_main;
+}
+sticky_hash_main_t;
+
+typedef struct
+{
+  /* $$$$ fill in with per-pkt trace data */
   u32 next_index;
   u32 sw_if_index;
 } sticky_hash_miss_trace_t;
 
 /* packet trace format function */
-static u8 * format_sticky_hash_miss_trace (u8 * s, va_list * args)
+static u8 *
+format_sticky_hash_miss_trace (u8 * s, va_list * args)
 {
   CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
-  sticky_hash_miss_trace_t * t = va_arg (*args, sticky_hash_miss_trace_t *);
-  
-  s = format (s, "STICKY_HASH_MISS: sw_if_index %d",
-      t->sw_if_index);
+  sticky_hash_miss_trace_t *t = va_arg (*args, sticky_hash_miss_trace_t *);
+
+  s = format (s, "STICKY_HASH_MISS: sw_if_index %d", t->sw_if_index);
   return s;
 }
 
-typedef CLIB_PACKED(struct {
-  ethernet_header_t eh;
-  ip4_header_t ip;
-}) classify_data_or_mask_t;
+typedef CLIB_PACKED (struct
+                    {
+                    ethernet_header_t eh; ip4_header_t ip;
+                    }) classify_data_or_mask_t;
 
 sticky_hash_main_t sticky_hash_main;
 
@@ -80,22 +84,23 @@ vlib_node_registration_t sticky_hash_miss_node;
 #define foreach_sticky_hash_miss_error \
 _(MISSES, "forward flow classify misses")
 
-typedef enum {
+typedef enum
+{
 #define _(sym,str) STICKY_HASH_MISS_ERROR_##sym,
   foreach_sticky_hash_miss_error
 #undef _
-  STICKY_HASH_MISS_N_ERROR,
+    STICKY_HASH_MISS_N_ERROR,
 } sticky_hash_miss_error_t;
 
-static char * sticky_hash_miss_error_strings[] = {
+static char *sticky_hash_miss_error_strings[] = {
 #define _(sym,string) string,
   foreach_sticky_hash_miss_error
 #undef _
 };
 
-/* 
+/*
  * To drop a pkt and increment one of the previous counters:
- * 
+ *
  * set b0->error = error_node->errors[STICKY_HASH_MISS_ERROR_EXAMPLE];
  * set next0 to a disposition index bound to "error-drop".
  *
@@ -105,27 +110,27 @@ static char * sticky_hash_miss_error_strings[] = {
  *  u32 node_counter_base_index = n->error_heap_index;
  *  vlib_error_main_t * em = &vm->error_main;
  *  em->counters[node_counter_base_index + STICKY_HASH_MISS_ERROR_EXAMPLE] += 1;
- * 
+ *
  */
 
-typedef enum {
+typedef enum
+{
   STICKY_HASH_MISS_NEXT_IP4_INPUT,
   STICKY_HASH_MISS_N_NEXT,
 } sticky_hash_miss_next_t;
 
 static uword
 sticky_hash_miss_node_fn (vlib_main_t * vm,
-                 vlib_node_runtime_t * node,
-                 vlib_frame_t * frame)
+                         vlib_node_runtime_t * node, vlib_frame_t * frame)
 {
-  u32 n_left_from, * from, * to_next;
+  u32 n_left_from, *from, *to_next;
   sticky_hash_miss_next_t next_index;
-  sticky_hash_main_t * mp = &sticky_hash_main;
+  sticky_hash_main_t *mp = &sticky_hash_main;
   vlib_node_t *n = vlib_get_node (vm, sticky_hash_miss_node.index);
   u32 node_counter_base_index = n->error_heap_index;
-  vlib_error_main_t * em = &vm->error_main;
-  vnet_classify_main_t * cm = mp->vnet_classify_main;
-  ip4_main_t * im = &ip4_main;
+  vlib_error_main_t *em = &vm->error_main;
+  vnet_classify_main_t *cm = mp->vnet_classify_main;
+  ip4_main_t *im = &ip4_main;
 
   from = vlib_frame_vector_args (frame);
   n_left_from = frame->n_vectors;
@@ -135,25 +140,24 @@ sticky_hash_miss_node_fn (vlib_main_t * vm,
     {
       u32 n_left_to_next;
 
-      vlib_get_next_frame (vm, node, next_index,
-                          to_next, n_left_to_next);
-      
+      vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
+
       while (n_left_from > 0 && n_left_to_next > 0)
        {
-          u32 bi0;
-         vlib_buffer_t * b0;
-          u32 next0;
-          u32 sw_if_index0;
-          u32 fib_index0, ft_index0, rt_index0;
-          vnet_classify_table_3_t * ft0, * rt0;
-          vnet_classify_entry_3_t * fe0, * re0;
-          classify_data_or_mask_t * h0;
-          u8 was_found0;
-          ip4_fib_t * fib0;
-          sticky_hash_session_t * s;
-          u32 tmp;
-          
-          /* speculatively enqueue b0 to the current next frame */
+         u32 bi0;
+         vlib_buffer_t *b0;
+         u32 next0;
+         u32 sw_if_index0;
+         u32 fib_index0, ft_index0, rt_index0;
+         vnet_classify_table_3_t *ft0, *rt0;
+         vnet_classify_entry_3_t *fe0, *re0;
+         classify_data_or_mask_t *h0;
+         u8 was_found0;
+         ip4_fib_t *fib0;
+         sticky_hash_session_t *s;
+         u32 tmp;
+
+         /* speculatively enqueue b0 to the current next frame */
          bi0 = from[0];
          to_next[0] = bi0;
          from += 1;
@@ -163,69 +167,71 @@ sticky_hash_miss_node_fn (vlib_main_t * vm,
 
          b0 = vlib_get_buffer (vm, bi0);
 
-          sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
-          next0 = mp->cached_next_index;
-
-          h0 = vlib_buffer_get_current (b0);
-
-          /* Add forward and reverse entries for this flow */
-          clib_memcpy (mp->fdata, h0, sizeof (mp->fdata));
-          clib_memcpy (mp->rdata, h0, sizeof (mp->rdata));
-
-          h0 = (classify_data_or_mask_t *)(mp->rdata);
-
-          /* swap src + dst addresses to form reverse data */
-          tmp = h0->ip.src_address.as_u32;
-          h0->ip.src_address.as_u32 = h0->ip.dst_address.as_u32;
-          h0->ip.dst_address.as_u32 = tmp;
-
-          /* dig up fwd + rev tables */
-          fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
-          fib0 = vec_elt_at_index (im->fibs, fib_index0);  
-
-          ft_index0 = fib0->fwd_classify_table_index;
-          rt_index0 = fib0->rev_classify_table_index;
-          
-          ft0 = (vnet_classify_table_3_t *)
-              pool_elt_at_index (cm->tables, ft_index0);
-          rt0 = (vnet_classify_table_3_t *)
-              pool_elt_at_index (cm->tables, rt_index0);
-
-          fe0 = vnet_classify_find_or_add_entry_3 (ft0, mp->fdata, &was_found0);
-          fe0->next_index = L2_CLASSIFY_NEXT_IP4_INPUT;
-          fe0->advance = sizeof (ethernet_header_t);
-          
-          re0 = vnet_classify_find_or_add_entry_3 (rt0, mp->rdata, 0);
-          re0->next_index = L2_CLASSIFY_NEXT_IP4_INPUT; /* $$$ FIXME */
-          re0->advance = sizeof (ethernet_header_t);
-
-          /* Note: we could get a whole vector of misses for the same sess */
-          if (was_found0 == 0)
-            {
-              pool_get (mp->sessions, s);
-              
-              fe0->opaque_index = s - mp->sessions;
-              re0->opaque_index = s - mp->sessions;
-              
-              s->fwd_entry_index = fe0 - ft0->entries;
-              s->rev_entry_index = re0 - rt0->entries;
-              s->fib_index = fib_index0;
-            }
-
-          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE) 
-                            && (b0->flags & VLIB_BUFFER_IS_TRACED))) {
-            sticky_hash_miss_trace_t *t = 
-               vlib_add_trace (vm, node, b0, sizeof (*t));
-            t->sw_if_index = sw_if_index0;
-            t->next_index = next0;
-            }
-            
-          em->counters[node_counter_base_index + STICKY_HASH_MISS_ERROR_MISSES]
-            += 1;
-
-          vlib_buffer_advance (b0, sizeof (ethernet_header_t));
-
-          /* verify speculative enqueue, maybe switch current next frame */
+         sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
+         next0 = mp->cached_next_index;
+
+         h0 = vlib_buffer_get_current (b0);
+
+         /* Add forward and reverse entries for this flow */
+         clib_memcpy (mp->fdata, h0, sizeof (mp->fdata));
+         clib_memcpy (mp->rdata, h0, sizeof (mp->rdata));
+
+         h0 = (classify_data_or_mask_t *) (mp->rdata);
+
+         /* swap src + dst addresses to form reverse data */
+         tmp = h0->ip.src_address.as_u32;
+         h0->ip.src_address.as_u32 = h0->ip.dst_address.as_u32;
+         h0->ip.dst_address.as_u32 = tmp;
+
+         /* dig up fwd + rev tables */
+         fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
+         fib0 = vec_elt_at_index (im->fibs, fib_index0);
+
+         ft_index0 = fib0->fwd_classify_table_index;
+         rt_index0 = fib0->rev_classify_table_index;
+
+         ft0 = (vnet_classify_table_3_t *)
+           pool_elt_at_index (cm->tables, ft_index0);
+         rt0 = (vnet_classify_table_3_t *)
+           pool_elt_at_index (cm->tables, rt_index0);
+
+         fe0 =
+           vnet_classify_find_or_add_entry_3 (ft0, mp->fdata, &was_found0);
+         fe0->next_index = L2_CLASSIFY_NEXT_IP4_INPUT;
+         fe0->advance = sizeof (ethernet_header_t);
+
+         re0 = vnet_classify_find_or_add_entry_3 (rt0, mp->rdata, 0);
+         re0->next_index = L2_CLASSIFY_NEXT_IP4_INPUT; /* $$$ FIXME */
+         re0->advance = sizeof (ethernet_header_t);
+
+         /* Note: we could get a whole vector of misses for the same sess */
+         if (was_found0 == 0)
+           {
+             pool_get (mp->sessions, s);
+
+             fe0->opaque_index = s - mp->sessions;
+             re0->opaque_index = s - mp->sessions;
+
+             s->fwd_entry_index = fe0 - ft0->entries;
+             s->rev_entry_index = re0 - rt0->entries;
+             s->fib_index = fib_index0;
+           }
+
+         if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE)
+                            && (b0->flags & VLIB_BUFFER_IS_TRACED)))
+           {
+             sticky_hash_miss_trace_t *t =
+               vlib_add_trace (vm, node, b0, sizeof (*t));
+             t->sw_if_index = sw_if_index0;
+             t->next_index = next0;
+           }
+
+         em->counters[node_counter_base_index +
+                      STICKY_HASH_MISS_ERROR_MISSES] += 1;
+
+         vlib_buffer_advance (b0, sizeof (ethernet_header_t));
+
+         /* verify speculative enqueue, maybe switch current next frame */
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
                                           to_next, n_left_to_next,
                                           bi0, next0);
@@ -237,13 +243,14 @@ sticky_hash_miss_node_fn (vlib_main_t * vm,
   return frame->n_vectors;
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (sticky_hash_miss_node) = {
   .function = sticky_hash_miss_node_fn,
   .name = "sticky-hash-miss",
   .vector_size = sizeof (u32),
   .format_trace = format_sticky_hash_miss_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  
+
   .n_errors = ARRAY_LEN(sticky_hash_miss_error_strings),
   .error_strings = sticky_hash_miss_error_strings,
 
@@ -251,16 +258,18 @@ VLIB_REGISTER_NODE (sticky_hash_miss_node) = {
 
   /* edit / add dispositions here */
   .next_nodes = {
-        [STICKY_HASH_MISS_NEXT_IP4_INPUT] = "ip4-input",
+    [STICKY_HASH_MISS_NEXT_IP4_INPUT] = "ip4-input",
   },
 };
+/* *INDENT-ON* */
 
-clib_error_t *sticky_hash_miss_init (vlib_main_t *vm)
+clib_error_t *
+sticky_hash_miss_init (vlib_main_t * vm)
 {
-  sticky_hash_main_t * mp = &sticky_hash_main;
-    
+  sticky_hash_main_t *mp = &sticky_hash_main;
+
   mp->vlib_main = vm;
-  mp->vnet_main = vnet_get_main();
+  mp->vnet_main = vnet_get_main ();
   mp->vnet_classify_main = &vnet_classify_main;
   mp->l2_classify_main = &l2_classify_main;
 
@@ -269,87 +278,86 @@ clib_error_t *sticky_hash_miss_init (vlib_main_t *vm)
 
 VLIB_INIT_FUNCTION (sticky_hash_miss_init);
 
-static int ip4_sticky_hash_enable_disable 
-(sticky_hash_main_t * mp,
- u32 fwd_sw_if_index, u8 * fwd_mask, 
- u32 rev_sw_if_index, u8 * rev_mask, 
- u32 nbuckets, int enable_disable)
+static int ip4_sticky_hash_enable_disable
+  (sticky_hash_main_t * mp,
+   u32 fwd_sw_if_index, u8 * fwd_mask,
+   u32 rev_sw_if_index, u8 * rev_mask, u32 nbuckets, int enable_disable)
 {
-  ip4_main_t * im = &ip4_main;
+  ip4_main_t *im = &ip4_main;
   u32 fib_index;
-  ip4_fib_t * fib;
-  vnet_classify_main_t * cm = mp->vnet_classify_main;
-  l2_classify_main_t * l2cm = mp->l2_classify_main;
-  vnet_classify_table_3_t * ft, * rt;
-  
+  ip4_fib_t *fib;
+  vnet_classify_main_t *cm = mp->vnet_classify_main;
+  l2_classify_main_t *l2cm = mp->l2_classify_main;
+  vnet_classify_table_3_t *ft, *rt;
+
   fib_index = vec_elt (im->fib_index_by_sw_if_index, fwd_sw_if_index);
-  fib = vec_elt_at_index (im->fibs, fib_index);  
-  
+  fib = vec_elt_at_index (im->fibs, fib_index);
+
   if (fib->fwd_classify_table_index == ~0)
     {
       /* Set up forward table */
-      ft = (vnet_classify_table_3_t *) 
-        vnet_classify_new_table (cm, fwd_mask, nbuckets, 
-                                 0 /* skip */, 3 /* match */);
-      fib->fwd_classify_table_index 
-        = ft - (vnet_classify_table_3_t *) cm->tables;
-      mp->fwd_miss_next_index = 
-        vlib_node_add_next (mp->vlib_main, l2_classify_node.index,
-                            sticky_hash_miss_node.index);
+      ft = (vnet_classify_table_3_t *)
+       vnet_classify_new_table (cm, fwd_mask, nbuckets,
+                                0 /* skip */ , 3 /* match */ );
+      fib->fwd_classify_table_index
+       = ft - (vnet_classify_table_3_t *) cm->tables;
+      mp->fwd_miss_next_index =
+       vlib_node_add_next (mp->vlib_main, l2_classify_node.index,
+                           sticky_hash_miss_node.index);
       ft->miss_next_index = mp->fwd_miss_next_index;
 
       /* Set up reverse table */
-      rt = (vnet_classify_table_3_t *) 
-        vnet_classify_new_table (cm, rev_mask, nbuckets,
-                                 0 /* skip */, 3 /* match */);
-      fib->rev_classify_table_index 
-        = rt - (vnet_classify_table_3_t *) cm->tables;
+      rt = (vnet_classify_table_3_t *)
+       vnet_classify_new_table (cm, rev_mask, nbuckets,
+                                0 /* skip */ , 3 /* match */ );
+      fib->rev_classify_table_index
+       = rt - (vnet_classify_table_3_t *) cm->tables;
     }
 
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4], 
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4],
      fwd_sw_if_index);
-  
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6], 
+
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6],
      fwd_sw_if_index);
-  
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER], 
+
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER],
      fwd_sw_if_index);
-  
+
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4]
     [fwd_sw_if_index] = fib->fwd_classify_table_index;
 
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6]
     [fwd_sw_if_index] = ~0;
-  
+
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER]
     [fwd_sw_if_index] = ~0;
-  
 
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4], 
+
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4],
      rev_sw_if_index);
-  
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6], 
+
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6],
      rev_sw_if_index);
-  
-  vec_validate 
-    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER], 
+
+  vec_validate
+    (l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER],
      rev_sw_if_index);
 
-  
+
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP4]
     [rev_sw_if_index] = fib->rev_classify_table_index;
-  
+
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_IP6]
     [rev_sw_if_index] = ~0;
-  
+
   l2cm->classify_table_index_by_sw_if_index[L2_CLASSIFY_TABLE_OTHER]
     [rev_sw_if_index] = ~0;
-  
+
   vnet_l2_classify_enable_disable (fwd_sw_if_index, enable_disable);
   vnet_l2_classify_enable_disable (rev_sw_if_index, enable_disable);
   return 0;
@@ -357,33 +365,37 @@ static int ip4_sticky_hash_enable_disable
 
 static clib_error_t *
 ip4_sticky_hash_init_command_fn (vlib_main_t * vm,
-                                 unformat_input_t * input,
-                                 vlib_cli_command_t * cmd)
+                                unformat_input_t * input,
+                                vlib_cli_command_t * cmd)
 {
   u32 fwd_sw_if_index = ~0, rev_sw_if_index = ~0;
   int enable_disable = 1;
   u32 nbuckets = 2;
   int rv;
-  sticky_hash_main_t * mp = &sticky_hash_main;
+  sticky_hash_main_t *mp = &sticky_hash_main;
   classify_data_or_mask_t fwd_mask, rev_mask;
-  u8 * fm = 0, * rm = 0;
-  
-  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-    if (unformat (input, "fwd %U", unformat_vnet_sw_interface, mp->vnet_main,
-                  &fwd_sw_if_index))
-      ;
-    if (unformat (input, "rev %U", unformat_vnet_sw_interface, mp->vnet_main,
-                  &rev_sw_if_index))
-      ;
-    else if (unformat (input, "nbuckets %d", &nbuckets))
-      ;
-    else if (unformat (input, "disable"))
-      enable_disable = 0;
-
-    else break;
-  }
+  u8 *fm = 0, *rm = 0;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat
+         (input, "fwd %U", unformat_vnet_sw_interface, mp->vnet_main,
+          &fwd_sw_if_index))
+       ;
+      if (unformat
+         (input, "rev %U", unformat_vnet_sw_interface, mp->vnet_main,
+          &rev_sw_if_index))
+       ;
+      else if (unformat (input, "nbuckets %d", &nbuckets))
+       ;
+      else if (unformat (input, "disable"))
+       enable_disable = 0;
+
+      else
+       break;
+    }
 
-  nbuckets = 1<<max_log2(nbuckets);
+  nbuckets = 1 << max_log2 (nbuckets);
 
   if (fwd_sw_if_index == ~0)
     return clib_error_return (0, "fwd interface not set");
@@ -391,27 +403,27 @@ ip4_sticky_hash_init_command_fn (vlib_main_t * vm,
   if (rev_sw_if_index == ~0)
     return clib_error_return (0, "rev interface not set");
 
-  if (!is_pow2(nbuckets))
+  if (!is_pow2 (nbuckets))
     return clib_error_return (0, "nbuckets %d not a power of 2", nbuckets);
-  
-  ASSERT(sizeof(fwd_mask) <= 3 * sizeof (u32x4));
+
+  ASSERT (sizeof (fwd_mask) <= 3 * sizeof (u32x4));
 
   /* Mask on src/dst address, depending on direction */
-  memset(&fwd_mask, 0, sizeof (fwd_mask));
+  memset (&fwd_mask, 0, sizeof (fwd_mask));
   memset (&fwd_mask.ip.src_address, 0xff, 4);
 
-  memset(&rev_mask, 0, sizeof (rev_mask));
+  memset (&rev_mask, 0, sizeof (rev_mask));
   memset (&rev_mask.ip.dst_address, 0xff, 4);
 
-  vec_validate (fm, 3 * sizeof(u32x4) - 1);
-  vec_validate (rm, 3 * sizeof(u32x4) - 1);
+  vec_validate (fm, 3 * sizeof (u32x4) - 1);
+  vec_validate (rm, 3 * sizeof (u32x4) - 1);
 
   clib_memcpy (fm, &fwd_mask, sizeof (fwd_mask));
   clib_memcpy (rm, &rev_mask, sizeof (rev_mask));
-  
-  rv = ip4_sticky_hash_enable_disable (mp, fwd_sw_if_index, fm, 
-                                       rev_sw_if_index, rm,
-                                       nbuckets, enable_disable);
+
+  rv = ip4_sticky_hash_enable_disable (mp, fwd_sw_if_index, fm,
+                                      rev_sw_if_index, rm,
+                                      nbuckets, enable_disable);
 
   vec_free (fm);
   vec_free (rm);
@@ -421,63 +433,66 @@ ip4_sticky_hash_init_command_fn (vlib_main_t * vm,
       return 0;
 
     default:
-      return clib_error_return (0, "ip4_sticky_hash_enable_disable returned %d",
-                                rv);
+      return clib_error_return (0,
+                               "ip4_sticky_hash_enable_disable returned %d",
+                               rv);
     }
 
   return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (sticky_hash_init_command, static) = {
-    .path = "ip sticky classify",
-    .short_help = "ip sticky classify fwd <intfc> rev <intfc> " 
-    "[nbuckets <nn>][disable]",
-    .function = ip4_sticky_hash_init_command_fn,
+  .path = "ip sticky classify",
+  .short_help = "ip sticky classify fwd <intfc> rev <intfc> "
+  "[nbuckets <nn>][disable]",
+  .function = ip4_sticky_hash_init_command_fn,
 };
+/* *INDENT-ON* */
 
 
-u8 * format_sticky_hash_session (u8 * s, va_list * args)
+u8 *
+format_sticky_hash_session (u8 * s, va_list * args)
 {
-  sticky_hash_main_t * mp = va_arg(*args, sticky_hash_main_t *);
-  sticky_hash_session_t * session = va_arg(*args, sticky_hash_session_t *);
-  vnet_classify_table_3_t * t;
-  vnet_classify_entry_3_t * e;
-  ip4_main_t * im = &ip4_main;
-  vnet_classify_main_t * cm = mp->vnet_classify_main;
-  ip4_fib_t * fib;
-  classify_data_or_mask_t * match;
+  sticky_hash_main_t *mp = va_arg (*args, sticky_hash_main_t *);
+  sticky_hash_session_t *session = va_arg (*args, sticky_hash_session_t *);
+  vnet_classify_table_3_t *t;
+  vnet_classify_entry_3_t *e;
+  ip4_main_t *im = &ip4_main;
+  vnet_classify_main_t *cm = mp->vnet_classify_main;
+  ip4_fib_t *fib;
+  classify_data_or_mask_t *match;
 
   fib = vec_elt_at_index (im->fibs, session->fib_index);
 
-  t = (vnet_classify_table_3_t *) 
+  t = (vnet_classify_table_3_t *)
     pool_elt_at_index (cm->tables, fib->fwd_classify_table_index);
   e = pool_elt_at_index (t->entries, session->fwd_entry_index);
-  match = (classify_data_or_mask_t *)(e->key);
-
-  s = format 
-      (s, 
-       "[%6d] fwd src %U next index %d session %d fib %d\n"
-       "         hits %lld last-heard %.6f\n",
-       e - t->entries, 
-       format_ip4_address, &match->ip.src_address,
-       e->next_index, e->opaque_index, fib->table_id,
-       e->hits, e->last_heard);
-  
+  match = (classify_data_or_mask_t *) (e->key);
+
+  s = format
+    (s,
+     "[%6d] fwd src %U next index %d session %d fib %d\n"
+     "         hits %lld last-heard %.6f\n",
+     e - t->entries,
+     format_ip4_address, &match->ip.src_address,
+     e->next_index, e->opaque_index, fib->table_id, e->hits, e->last_heard);
+
   if (e->opaque_index != session - mp->sessions)
     s = format (s, "WARNING: forward session index mismatch!\n");
 
   t = (vnet_classify_table_3_t *)
     pool_elt_at_index (cm->tables, fib->rev_classify_table_index);
   e = pool_elt_at_index (t->entries, session->rev_entry_index);
-  match = (classify_data_or_mask_t *)(e->key);
-  
-  s = format 
-      (s, 
-       "[%6d] rev dst %U next index %d session %d\n"
-       "         hits %lld last-heard %.6f\n",
-       e - t->entries, 
-       format_ip4_address, &match->ip.dst_address,
-       e->next_index, e->opaque_index, e->hits, e->last_heard);
+  match = (classify_data_or_mask_t *) (e->key);
+
+  s = format
+    (s,
+     "[%6d] rev dst %U next index %d session %d\n"
+     "         hits %lld last-heard %.6f\n",
+     e - t->entries,
+     format_ip4_address, &match->ip.dst_address,
+     e->next_index, e->opaque_index, e->hits, e->last_heard);
 
   if (e->opaque_index != session - mp->sessions)
     s = format (s, "WARNING: reverse session index mismatch!\n");
@@ -488,67 +503,79 @@ u8 * format_sticky_hash_session (u8 * s, va_list * args)
 
 static clib_error_t *
 show_ip4_sticky_hash_command_fn (vlib_main_t * vm,
-                                 unformat_input_t * input,
-                                 vlib_cli_command_t * cmd)
+                                unformat_input_t * input,
+                                vlib_cli_command_t * cmd)
 {
-  sticky_hash_main_t * mp = &sticky_hash_main;
-  sticky_hash_session_t * s;
+  sticky_hash_main_t *mp = &sticky_hash_main;
+  sticky_hash_session_t *s;
   int verbose = 0;
   int dump_classifier_tables = 0;
-  ip4_fib_t * fib;
-  ip4_main_t * im4 = &ip4_main;
-  vnet_classify_main_t * cm = mp->vnet_classify_main;
-  
-  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-    if (unformat (input, "verbose"))
-      verbose = 1;
-    else if (unformat (input, "dump-tables")
-             || unformat (input, "dump-classifier-tables"))
-      dump_classifier_tables = 1;
-    else
-      break;
-  }
+  ip4_fib_t *fib;
+  ip4_main_t *im4 = &ip4_main;
+  vnet_classify_main_t *cm = mp->vnet_classify_main;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "verbose"))
+       verbose = 1;
+      else if (unformat (input, "dump-tables")
+              || unformat (input, "dump-classifier-tables"))
+       dump_classifier_tables = 1;
+      else
+       break;
+    }
 
   if (pool_elts (mp->sessions) == 0)
     vlib_cli_output (vm, "No ip sticky hash sessions");
-  
 
-  vlib_cli_output (vm, "%d active sessions\n",
-                   pool_elts (mp->sessions));
+
+  vlib_cli_output (vm, "%d active sessions\n", pool_elts (mp->sessions));
 
   vec_foreach (fib, im4->fibs)
-    {
-      if (fib->fwd_classify_table_index != ~0)
-          vlib_cli_output (vm, "fib %d fwd table: \n%U", 
-                           fib->table_id, 
-                           format_classify_table, 
-                           cm,
-                           pool_elt_at_index 
-                           (cm->tables, fib->fwd_classify_table_index),
-                           dump_classifier_tables);
-      if (fib->rev_classify_table_index != ~0)
-          vlib_cli_output (vm, "fib %d rev table: \n%U", 
-                           fib->table_id, 
-                           format_classify_table, 
-                           cm,
-                           pool_elt_at_index 
-                           (cm->tables, fib->rev_classify_table_index),
-                           dump_classifier_tables);
-    }
+  {
+    if (fib->fwd_classify_table_index != ~0)
+      vlib_cli_output (vm, "fib %d fwd table: \n%U",
+                      fib->table_id,
+                      format_classify_table,
+                      cm,
+                      pool_elt_at_index
+                      (cm->tables, fib->fwd_classify_table_index),
+                      dump_classifier_tables);
+    if (fib->rev_classify_table_index != ~0)
+      vlib_cli_output (vm, "fib %d rev table: \n%U",
+                      fib->table_id,
+                      format_classify_table,
+                      cm,
+                      pool_elt_at_index
+                      (cm->tables, fib->rev_classify_table_index),
+                      dump_classifier_tables);
+  }
 
   if (verbose)
     {
-      pool_foreach (s, mp->sessions, 
+      /* *INDENT-OFF* */
+      pool_foreach (s, mp->sessions,
       ({
         vlib_cli_output (vm, "%U", format_sticky_hash_session, mp, s);
       }));
+      /* *INDENT-ON* */
     }
   return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (show_sticky_hash_command, static) = {
-    .path = "show sticky classify",
-    .short_help = "Display sticky classifier tables", 
-    .function = show_ip4_sticky_hash_command_fn,
+  .path = "show sticky classify",
+  .short_help = "Display sticky classifier tables",
+  .function = show_ip4_sticky_hash_command_fn,
 };
+/* *INDENT-ON* */
 
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 9a278d0..cf442df 100644 (file)
 #include <vnet/devices/dpdk/dpdk.h>
 #endif /* DPDK */
 
-static char * vpe_version_string = 
-    "vpp v" VPP_BUILD_VER 
-    " built by " VPP_BUILD_USER 
-    " on " VPP_BUILD_HOST 
-    " at " VPP_BUILD_DATE;
+static char *vpe_version_string =
+  "vpp v" VPP_BUILD_VER
+  " built by " VPP_BUILD_USER " on " VPP_BUILD_HOST " at " VPP_BUILD_DATE;
 
-static char * vpe_compiler =
+static char *vpe_compiler =
 #if defined(__INTEL_COMPILER)
 #define __(x) #x
 #define _(x) __(x)
-       "icc " _(__INTEL_COMPILER) " (" __VERSION__ ")";
+  "icc " _(__INTEL_COMPILER) " (" __VERSION__ ")";
 #undef _
 #undef __
 #elif defined(__clang__)
-       "Clang/LLVM " __clang_version__;
+  "Clang/LLVM " __clang_version__;
 #elif defined (__GNUC__)
-       "GCC " __VERSION__;
+  "GCC " __VERSION__;
 #else
-       "unknown compiler";
+  "unknown compiler";
 #endif
 
 static clib_error_t *
 show_vpe_version_command_fn (vlib_main_t * vm,
-                unformat_input_t * input,
-                vlib_cli_command_t * cmd)
+                            unformat_input_t * input,
+                            vlib_cli_command_t * cmd)
 {
   if (unformat (input, "verbose"))
     {
@@ -60,9 +58,9 @@ show_vpe_version_command_fn (vlib_main_t * vm,
       _("CPU model name", "%U", format_cpu_model_name);
       _("CPU microarchitecture", "%U", format_cpu_uarch);
       _("CPU flags", "%U", format_cpu_flags);
-      _("Current PID", "%d", getpid());
+      _("Current PID", "%d", getpid ());
 #if DPDK > 0
-      _("DPDK Version", "%s", rte_version());
+      _("DPDK Version", "%s", rte_version ());
       _("DPDK EAL init args", "%s", dpdk_config_main.eal_init_args_str);
 #endif
 #undef _
@@ -72,22 +70,36 @@ show_vpe_version_command_fn (vlib_main_t * vm,
   return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (show_vpe_version_command, static) = {
   .path = "show version",
   .short_help = "show version information",
   .function = show_vpe_version_command_fn,
 };
+/* *INDENT-ON* */
 
-char * vpe_api_get_build_directory (void) 
+char *
+vpe_api_get_build_directory (void)
 {
   return VPP_BUILD_TOPDIR;
 }
 
-char * vpe_api_get_version (void) 
+char *
+vpe_api_get_version (void)
 {
   return VPP_BUILD_VER;
 }
-char * vpe_api_get_build_date (void) 
+
+char *
+vpe_api_get_build_date (void)
 {
   return VPP_BUILD_DATE;
 }
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index b9f717b..b9f7968 100644 (file)
 #include <vnet/ip/ip.h>
 #include <vnet/ethernet/ethernet.h>
 
-typedef struct {
-    u8 mac_addr[6];
+typedef struct
+{
+  u8 mac_addr[6];
 } mac_addr_t;
 
 static clib_error_t *
 virtual_ip_cmd_fn_command_fn (vlib_main_t * vm,
-                unformat_input_t * input,
-                vlib_cli_command_t * cmd)
+                             unformat_input_t * input,
+                             vlib_cli_command_t * cmd)
 {
-    unformat_input_t _line_input, * line_input = &_line_input;
-    vnet_main_t * vnm = vnet_get_main();
-    ip4_main_t * im = &ip4_main;
-    ip_lookup_main_t * lm = &im->lookup_main;
-    ip4_address_t ip_addr, next_hop;
-    u8 mac_addr[6];
-    mac_addr_t *mac_addrs = 0;
-    u32 sw_if_index;
-    u32 i, f;
+  unformat_input_t _line_input, *line_input = &_line_input;
+  vnet_main_t *vnm = vnet_get_main ();
+  ip4_main_t *im = &ip4_main;
+  ip_lookup_main_t *lm = &im->lookup_main;
+  ip4_address_t ip_addr, next_hop;
+  u8 mac_addr[6];
+  mac_addr_t *mac_addrs = 0;
+  u32 sw_if_index;
+  u32 i, f;
 
-    /* Get a line of input. */
-    if (! unformat_user (input, unformat_line_input, line_input))
-        return 0;
+  /* Get a line of input. */
+  if (!unformat_user (input, unformat_line_input, line_input))
+    return 0;
 
-    if (!unformat(line_input, "%U %U", 
-                  unformat_ip4_address, &ip_addr,
-                  unformat_vnet_sw_interface, vnm, &sw_if_index))
-        goto barf;
+  if (!unformat (line_input, "%U %U",
+                unformat_ip4_address, &ip_addr,
+                unformat_vnet_sw_interface, vnm, &sw_if_index))
+    goto barf;
 
-    while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) {
-       if (unformat (line_input, "mac %U", 
-                      unformat_ethernet_address, 
-                      &mac_addr))
-        {
-            mac_addr_t *ma;
-            vec_add2 (mac_addrs, ma, 1);
-            clib_memcpy(ma, mac_addr, sizeof (mac_addr));
-        } else {
-        barf:
-           return clib_error_return (0, "unknown input `%U'",
-                                     format_unformat_error, input);
-        }
+  while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (line_input, "mac %U",
+                   unformat_ethernet_address, &mac_addr))
+       {
+         mac_addr_t *ma;
+         vec_add2 (mac_addrs, ma, 1);
+         clib_memcpy (ma, mac_addr, sizeof (mac_addr));
+       }
+      else
+       {
+       barf:
+         return clib_error_return (0, "unknown input `%U'",
+                                   format_unformat_error, input);
+       }
     }
-    if (vec_len (mac_addrs) == 0)
-        goto barf;
+  if (vec_len (mac_addrs) == 0)
+    goto barf;
+
+  /* Create / delete special interface route /32's */
+  next_hop.as_u32 = 0;
+
+  for (i = 0; i < vec_len (mac_addrs); i++)
+    {
+      ip_adjacency_t adj;
+      u32 adj_index;
+
+      memset (&adj, 0, sizeof (adj));
+      adj.lookup_next_index = IP_LOOKUP_NEXT_REWRITE;
 
-    /* Create / delete special interface route /32's */
-    next_hop.as_u32 = 0;
+      vnet_rewrite_for_sw_interface (vnm, VNET_L3_PACKET_TYPE_IP4, sw_if_index, ip4_rewrite_node.index, &mac_addrs[i], /* destination address */
+                                    &adj.rewrite_header,
+                                    sizeof (adj.rewrite_data));
 
-    for (i = 0; i < vec_len(mac_addrs); i++) {
-        ip_adjacency_t adj;
-        u32 adj_index;
-        
-        memset(&adj, 0, sizeof(adj));
-        adj.lookup_next_index = IP_LOOKUP_NEXT_REWRITE;
-        
-        vnet_rewrite_for_sw_interface
-            (vnm,
-             VNET_L3_PACKET_TYPE_IP4,
-             sw_if_index,
-             ip4_rewrite_node.index,
-             &mac_addrs[i],     /* destination address */
-             &adj.rewrite_header,
-             sizeof (adj.rewrite_data));
+      ip_add_adjacency (lm, &adj, 1 /* one adj */ ,
+                       &adj_index);
 
-        ip_add_adjacency (lm, &adj, 1 /* one adj */,
-                          &adj_index);
-        
-        f = (i + 1 < vec_len(mac_addrs)) ? IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP : 0;
-        ip4_add_del_route_next_hop (im,
-                                    IP4_ROUTE_FLAG_ADD | f,
-                                    &ip_addr,
-                                    32 /* insert /32's */,
-                                    &next_hop,
-                                    sw_if_index,
-                                    1 /* weight */, 
-                                    adj_index, 
-                                    (u32)~0 /* explicit fib index */);
+      f =
+       (i + 1 < vec_len (mac_addrs)) ? IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP : 0;
+      ip4_add_del_route_next_hop (im, IP4_ROUTE_FLAG_ADD | f, &ip_addr,
+                                 32 /* insert /32's */ ,
+                                 &next_hop, sw_if_index, 1 /* weight */ ,
+                                 adj_index,
+                                 (u32) ~ 0 /* explicit fib index */ );
     }
 
-    vec_free (mac_addrs);
+  vec_free (mac_addrs);
 
-    return 0;
+  return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (virtual_ip_cmd_fn_command, static) = {
-    .path = "ip virtual",
-    .short_help = "ip virtual <addr> <interface> [mac <Mi>]+",
-    .function = virtual_ip_cmd_fn_command_fn,
+  .path = "ip virtual",
+  .short_help = "ip virtual <addr> <interface> [mac <Mi>]+",
+  .function = virtual_ip_cmd_fn_command_fn,
 };
+/* *INDENT-ON* */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 75e172b..600817c 100644 (file)
@@ -22,276 +22,294 @@ oam_main_t oam_main;
 
 static vlib_node_registration_t oam_node;
 
-static void init_oam_packet_template (oam_main_t *om, oam_target_t * t)
+static void
+init_oam_packet_template (oam_main_t * om, oam_target_t * t)
 {
-    oam_template_t * h;
-    int i;
-    ip_csum_t sum;
-    u16 csum;
-
-    vec_validate_aligned (t->template, 0, CLIB_CACHE_LINE_BYTES);
-
-    h = t->template;
-    memset (h, 0, sizeof (*h));
-
-    h->ip4.src_address.as_u32 = t->src_address.as_u32;
-    h->ip4.dst_address.as_u32 = t->dst_address.as_u32;
-    h->ip4.ip_version_and_header_length = 0x45;
-    h->ip4.length = clib_host_to_net_u16 (sizeof(*h));
-    h->ip4.ttl = 64; /* as in linux */
-    h->ip4.protocol = IP_PROTOCOL_ICMP;
-    h->ip4.checksum = ip4_header_checksum (&h->ip4);
-    
-    /* 
-     * Template has seq = 0. Each time we send one of these puppies,
-     * change the sequence number and fix the execrated checksum
-     */
-    h->icmp.type = ICMP4_echo_request;
-    h->id = clib_host_to_net_u16 (t->id);
-
-    for (i = 0; i < ARRAY_LEN(h->data); i++)
-        h->data[i] = 'A' + i;
-
-    sum = ip_incremental_checksum (0, &h->icmp, 
-                                   sizeof(h->icmp) + sizeof (h->id) + 
-                                   sizeof (h->seq) + sizeof (h->data));
-    csum = ~ip_csum_fold (sum);
-    h->icmp.checksum = csum;
+  oam_template_t *h;
+  int i;
+  ip_csum_t sum;
+  u16 csum;
+
+  vec_validate_aligned (t->template, 0, CLIB_CACHE_LINE_BYTES);
+
+  h = t->template;
+  memset (h, 0, sizeof (*h));
+
+  h->ip4.src_address.as_u32 = t->src_address.as_u32;
+  h->ip4.dst_address.as_u32 = t->dst_address.as_u32;
+  h->ip4.ip_version_and_header_length = 0x45;
+  h->ip4.length = clib_host_to_net_u16 (sizeof (*h));
+  h->ip4.ttl = 64;             /* as in linux */
+  h->ip4.protocol = IP_PROTOCOL_ICMP;
+  h->ip4.checksum = ip4_header_checksum (&h->ip4);
+
+  /*
+   * Template has seq = 0. Each time we send one of these puppies,
+   * change the sequence number and fix the execrated checksum
+   */
+  h->icmp.type = ICMP4_echo_request;
+  h->id = clib_host_to_net_u16 (t->id);
+
+  for (i = 0; i < ARRAY_LEN (h->data); i++)
+    h->data[i] = 'A' + i;
+
+  sum = ip_incremental_checksum (0, &h->icmp,
+                                sizeof (h->icmp) + sizeof (h->id) +
+                                sizeof (h->seq) + sizeof (h->data));
+  csum = ~ip_csum_fold (sum);
+  h->icmp.checksum = csum;
 }
 
-int vpe_oam_add_del_target (ip4_address_t *src_address, 
-                            ip4_address_t *dst_address, u32 fib_id, int is_add)
+int
+vpe_oam_add_del_target (ip4_address_t * src_address,
+                       ip4_address_t * dst_address, u32 fib_id, int is_add)
 {
-    u64 key;
-    uword *p;
-    oam_main_t * om = &oam_main;
-    oam_target_t * t;
-    ip4_main_t * im = &ip4_main;
-    u32 fib_index;
-
-    /* Make sure the FIB actually exists */
-    p = hash_get (im->fib_index_by_table_id, fib_id);
-    if (! p) 
-        return VNET_API_ERROR_NO_SUCH_FIB;
-    
-    fib_index = p[0];
-
-    key = ((u64)fib_index<<32) | (dst_address->as_u32);
-    p = hash_get (om->target_by_address_and_fib_id, key);
-
-    if (is_add) {
-        if (p)
-            return VNET_API_ERROR_INVALID_REGISTRATION; /* already there... */
-
-        pool_get (om->targets, t);
-        memset (t, 0, sizeof (*t));
-        t->src_address.as_u32 = src_address->as_u32;
-        t->dst_address.as_u32 = dst_address->as_u32;
-        t->fib_id = fib_id;
-        t->fib_index = fib_index;
-        t->state = OAM_STATE_DEAD;
-        t->last_heard_time = vlib_time_now (om->vlib_main);
-        t->last_heard_seq = (u16) ~om->misses_allowed;
-        t->id = (u16) random_u32 (&om->random_seed);
-        t->seq = 1;
-        init_oam_packet_template (om, t);
-        hash_set (om->target_by_address_and_fib_id, key, t - om->targets);
-    } else {
-        if (!p)
-            return VNET_API_ERROR_NO_SUCH_ENTRY; /* no such oam target */
-        t = pool_elt_at_index (om->targets, p[0]);
-        vec_free (t->template);
-        hash_unset (om->target_by_address_and_fib_id, key);
-        pool_put (om->targets, t);
+  u64 key;
+  uword *p;
+  oam_main_t *om = &oam_main;
+  oam_target_t *t;
+  ip4_main_t *im = &ip4_main;
+  u32 fib_index;
+
+  /* Make sure the FIB actually exists */
+  p = hash_get (im->fib_index_by_table_id, fib_id);
+  if (!p)
+    return VNET_API_ERROR_NO_SUCH_FIB;
+
+  fib_index = p[0];
+
+  key = ((u64) fib_index << 32) | (dst_address->as_u32);
+  p = hash_get (om->target_by_address_and_fib_id, key);
+
+  if (is_add)
+    {
+      if (p)
+       return VNET_API_ERROR_INVALID_REGISTRATION;     /* already there... */
+
+      pool_get (om->targets, t);
+      memset (t, 0, sizeof (*t));
+      t->src_address.as_u32 = src_address->as_u32;
+      t->dst_address.as_u32 = dst_address->as_u32;
+      t->fib_id = fib_id;
+      t->fib_index = fib_index;
+      t->state = OAM_STATE_DEAD;
+      t->last_heard_time = vlib_time_now (om->vlib_main);
+      t->last_heard_seq = (u16) ~ om->misses_allowed;
+      t->id = (u16) random_u32 (&om->random_seed);
+      t->seq = 1;
+      init_oam_packet_template (om, t);
+      hash_set (om->target_by_address_and_fib_id, key, t - om->targets);
     }
-    return 0;
+  else
+    {
+      if (!p)
+       return VNET_API_ERROR_NO_SUCH_ENTRY;    /* no such oam target */
+      t = pool_elt_at_index (om->targets, p[0]);
+      vec_free (t->template);
+      hash_unset (om->target_by_address_and_fib_id, key);
+      pool_put (om->targets, t);
+    }
+  return 0;
 }
-                                
+
 static clib_error_t *
 oam_add_del_target_command_fn (vlib_main_t * vm,
-                unformat_input_t * input,
-                vlib_cli_command_t * cmd)
+                              unformat_input_t * input,
+                              vlib_cli_command_t * cmd)
 {
-    int is_add = -1;
-    ip4_address_t src_address;
-    int src_set = 0;
-    ip4_address_t dst_address;
-    int dst_set = 0;
-    u32 fib_id = 0;
-
-    while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat(input, "add"))
-            is_add = 1;
-        else if (unformat(input, "del"))
-            is_add = 0;
-        else if (unformat(input, "src %U", 
-                          unformat_ip4_address, &src_address))
-            src_set = 1;
-        else if (unformat(input, "dst %U", 
-                          unformat_ip4_address, &dst_address))
-            dst_set = 1;
-        else if (unformat (input, "fib %d", &fib_id))
-            ;
-       else
-           return clib_error_return (0, "unknown input `%U'",
-                                     format_unformat_error, input);
+  int is_add = -1;
+  ip4_address_t src_address;
+  int src_set = 0;
+  ip4_address_t dst_address;
+  int dst_set = 0;
+  u32 fib_id = 0;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "add"))
+       is_add = 1;
+      else if (unformat (input, "del"))
+       is_add = 0;
+      else if (unformat (input, "src %U", unformat_ip4_address, &src_address))
+       src_set = 1;
+      else if (unformat (input, "dst %U", unformat_ip4_address, &dst_address))
+       dst_set = 1;
+      else if (unformat (input, "fib %d", &fib_id))
+       ;
+      else
+       return clib_error_return (0, "unknown input `%U'",
+                                 format_unformat_error, input);
     }
 
-    if (is_add == -1)
-        return clib_error_return (0, "missing add / del qualifier");
-    if (src_set == 0)
-        return clib_error_return (0, "src address not set");
-    if (dst_set == 0)
-        return clib_error_return (0, "dst address not set");
+  if (is_add == -1)
+    return clib_error_return (0, "missing add / del qualifier");
+  if (src_set == 0)
+    return clib_error_return (0, "src address not set");
+  if (dst_set == 0)
+    return clib_error_return (0, "dst address not set");
 
-    (void) vpe_oam_add_del_target (&src_address, &dst_address, fib_id, is_add);
+  (void) vpe_oam_add_del_target (&src_address, &dst_address, fib_id, is_add);
 
-    return 0;
+  return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (oam_add_del_target_command, static) = {
-    .path = "oam",
-    .short_help = "oam [add|del] target <ip4-address> fib <fib-id>",
-    .function = oam_add_del_target_command_fn,
+  .path = "oam",
+  .short_help = "oam [add|del] target <ip4-address> fib <fib-id>",
+  .function = oam_add_del_target_command_fn,
 };
+/* *INDENT-ON* */
 
 static uword
-oam_process (vlib_main_t * vm,
-             vlib_node_runtime_t * rt,
-             vlib_frame_t * f_arg)
+oam_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f_arg)
 {
-    oam_main_t * om = &oam_main;
-    uword *event_data = 0;
-    oam_target_t * t;
-    oam_template_t *h0;
-    u32 bi0;
-    u16 new_seq;
-    ip_csum_t sum0;
-    vlib_frame_t * f;
-    u32 * to_next, * from;
-    u32 ip4_lookup_node_index;
-    vlib_node_t * ip4_lookup_node;
-    vlib_buffer_t * b0;
-    static u32 * buffers;
-    oam_template_copy_t * copy_src, * copy_dst;
-    void send_oam_event (oam_target_t * t);
-    u32 nalloc;
-
-    /* Enqueue pkts to ip4-lookup */
-    ip4_lookup_node = vlib_get_node_by_name (vm, (u8 *) "ip4-lookup");
-    ip4_lookup_node_index = ip4_lookup_node->index;
-
-    while (1) {
-        /* Only timeout events at the moment */
-        vlib_process_wait_for_event_or_clock (vm, om->interval);
-        vec_reset_length (event_data);
-
-        if (pool_elts (om->targets) == 0)
-            continue;
-
-        if (vec_len(buffers) < pool_elts(om->targets))
-            vec_validate (buffers, pool_elts(om->targets)-1);
-
-        nalloc = vlib_buffer_alloc (vm, buffers, pool_elts(om->targets));
-        if (nalloc < pool_elts(om->targets)) {
-            vlib_buffer_free (vm, buffers, nalloc);
-            continue;
-        }
-
-        f = vlib_get_frame_to_node (vm, ip4_lookup_node_index);
-        f->n_vectors = 0;
-        to_next = vlib_frame_vector_args (f);
-        from = buffers;
-        
-        pool_foreach (t, om->targets,
-        ({
-            /* State transition announcement... */
-            if ((t->seq - t->last_heard_seq) >= om->misses_allowed) {
-                if (t->state == OAM_STATE_ALIVE) {
-                    if (CLIB_DEBUG > 0)
-                        clib_warning ("oam target %U now DEAD", 
-                                      format_ip4_address, &t->dst_address);
-                    t->state = OAM_STATE_DEAD;
-                    send_oam_event (t);
-                } 
-            } else {
-                if (t->state == OAM_STATE_DEAD) {
-                    if (CLIB_DEBUG > 0)
-                        clib_warning ("oam target %U now ALIVE", 
-                                      format_ip4_address, &t->dst_address);
-                    t->state = OAM_STATE_ALIVE;
-                    send_oam_event (t);
-                }
-            }
-            
-            /* Send a new icmp */
-            t->seq++;
-            new_seq = clib_host_to_net_u16 (t->seq);
-            
-            bi0 = from[0];
-            from++;
-            
-            b0 = vlib_get_buffer (vm, bi0);
-            vnet_buffer (b0)->sw_if_index[VLIB_RX] = 0;
-            vnet_buffer (b0)->sw_if_index [VLIB_TX] = t->fib_index;
-            
-            /* Marginally faster than memcpy, probably */
-            copy_dst = (oam_template_copy_t *) b0->data;
-            copy_src = (oam_template_copy_t *) t->template;
-            
-            copy_dst->v8[0] = copy_src->v8[0];
-            copy_dst->v8[1] = copy_src->v8[1];
-            copy_dst->v8[2] = copy_src->v8[2];
-            copy_dst->v8[3] = copy_src->v8[3];
-            copy_dst->v4 = copy_src->v4;
-            
-            b0->current_data = 0;
-            b0->current_length = sizeof (*t->template);
-            h0 = vlib_buffer_get_current (b0);
-            
-            sum0 = h0->icmp.checksum;
-            sum0 = ip_csum_update(sum0, 0 /* old seq */,
-                                  new_seq, oam_template_t, seq);
-            h0->seq = new_seq;
-            h0->icmp.checksum = ip_csum_fold (sum0);
-            
-            to_next[0] = bi0;
-            to_next++;
-            f->n_vectors++;
-            if (f->n_vectors == VLIB_FRAME_SIZE) {
-                clib_warning ("Too many OAM clients...");
-                goto out;
-            }
-        }));
+  oam_main_t *om = &oam_main;
+  uword *event_data = 0;
+  oam_target_t *t;
+  oam_template_t *h0;
+  u32 bi0;
+  u16 new_seq;
+  ip_csum_t sum0;
+  vlib_frame_t *f;
+  u32 *to_next, *from;
+  u32 ip4_lookup_node_index;
+  vlib_node_t *ip4_lookup_node;
+  vlib_buffer_t *b0;
+  static u32 *buffers;
+  oam_template_copy_t *copy_src, *copy_dst;
+  void send_oam_event (oam_target_t * t);
+  u32 nalloc;
+
+  /* Enqueue pkts to ip4-lookup */
+  ip4_lookup_node = vlib_get_node_by_name (vm, (u8 *) "ip4-lookup");
+  ip4_lookup_node_index = ip4_lookup_node->index;
+
+  while (1)
+    {
+      /* Only timeout events at the moment */
+      vlib_process_wait_for_event_or_clock (vm, om->interval);
+      vec_reset_length (event_data);
+
+      if (pool_elts (om->targets) == 0)
+       continue;
+
+      if (vec_len (buffers) < pool_elts (om->targets))
+       vec_validate (buffers, pool_elts (om->targets) - 1);
+
+      nalloc = vlib_buffer_alloc (vm, buffers, pool_elts (om->targets));
+      if (nalloc < pool_elts (om->targets))
+       {
+         vlib_buffer_free (vm, buffers, nalloc);
+         continue;
+       }
+
+      f = vlib_get_frame_to_node (vm, ip4_lookup_node_index);
+      f->n_vectors = 0;
+      to_next = vlib_frame_vector_args (f);
+      from = buffers;
+
+      /* *INDENT-OFF* */
+      pool_foreach (t, om->targets,
+      ({
+        /* State transition announcement... */
+        if ((t->seq - t->last_heard_seq) >= om->misses_allowed)
+          {
+            if (t->state == OAM_STATE_ALIVE)
+              {
+                if (CLIB_DEBUG > 0)
+                  clib_warning ("oam target %U now DEAD",
+                                format_ip4_address, &t->dst_address);
+                t->state = OAM_STATE_DEAD;
+                send_oam_event (t);
+              }
+          }
+        else
+          {
+            if (t->state == OAM_STATE_DEAD)
+              {
+                if (CLIB_DEBUG > 0)
+                  clib_warning ("oam target %U now ALIVE",
+                                format_ip4_address, &t->dst_address);
+                t->state = OAM_STATE_ALIVE;
+                send_oam_event (t);
+              }
+          }
+
+        /* Send a new icmp */
+        t->seq++;
+        new_seq = clib_host_to_net_u16 (t->seq);
+
+        bi0 = from[0];
+        from++;
+
+        b0 = vlib_get_buffer (vm, bi0);
+        vnet_buffer (b0)->sw_if_index[VLIB_RX] = 0;
+        vnet_buffer (b0)->sw_if_index [VLIB_TX] = t->fib_index;
+
+        /* Marginally faster than memcpy, probably */
+        copy_dst = (oam_template_copy_t *) b0->data;
+        copy_src = (oam_template_copy_t *) t->template;
+
+        copy_dst->v8[0] = copy_src->v8[0];
+        copy_dst->v8[1] = copy_src->v8[1];
+        copy_dst->v8[2] = copy_src->v8[2];
+        copy_dst->v8[3] = copy_src->v8[3];
+        copy_dst->v4 = copy_src->v4;
+
+        b0->current_data = 0;
+        b0->current_length = sizeof (*t->template);
+        h0 = vlib_buffer_get_current (b0);
+
+        sum0 = h0->icmp.checksum;
+        sum0 = ip_csum_update(sum0, 0 /* old seq */,
+                              new_seq, oam_template_t, seq);
+        h0->seq = new_seq;
+        h0->icmp.checksum = ip_csum_fold (sum0);
+
+        to_next[0] = bi0;
+        to_next++;
+        f->n_vectors++;
+        if (f->n_vectors == VLIB_FRAME_SIZE)
+          {
+            clib_warning ("Too many OAM clients...");
+            goto out;
+          }
+      }));
+      /* *INDENT-ON* */
 
     out:
-        vlib_put_frame_to_node (vm, ip4_lookup_node_index, f);
+      vlib_put_frame_to_node (vm, ip4_lookup_node_index, f);
     }
-    return 0;                   /* not so much */
+  return 0;                    /* not so much */
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (oam_process_node,static) = {
-    .function = oam_process,
-    .type = VLIB_NODE_TYPE_PROCESS,
-    .name = "vpe-oam-process",
+  .function = oam_process,
+  .type = VLIB_NODE_TYPE_PROCESS,
+  .name = "vpe-oam-process",
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
 oam_config (vlib_main_t * vm, unformat_input_t * input)
 {
-    oam_main_t * om = &oam_main;
-    f64 interval;
-    u32 misses_allowed;
-    
-    while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat (input, "interval %f", &interval))
-            om->interval = interval;
-        else if (unformat (input, "misses-allowed %d", &misses_allowed))
-            om->interval = misses_allowed;
-        else return clib_error_return (0, "unknown input `%U'",
-                                       format_unformat_error, input);
+  oam_main_t *om = &oam_main;
+  f64 interval;
+  u32 misses_allowed;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "interval %f", &interval))
+       om->interval = interval;
+      else if (unformat (input, "misses-allowed %d", &misses_allowed))
+       om->interval = misses_allowed;
+      else
+       return clib_error_return (0, "unknown input `%U'",
+                                 format_unformat_error, input);
     }
-    return 0;
+  return 0;
 }
 
 VLIB_CONFIG_FUNCTION (oam_config, "oam");
@@ -299,89 +317,93 @@ VLIB_CONFIG_FUNCTION (oam_config, "oam");
 static clib_error_t *
 oam_init (vlib_main_t * vm)
 {
-    oam_main_t * om = &oam_main;
-    
-    om->vlib_main = vm;
-    om->vnet_main = vnet_get_main();
-    om->interval = 2.04;
-    om->misses_allowed = 3;
-    om->random_seed = (u32) (vlib_time_now(vm)*1e6);
-    om->target_by_address_and_fib_id = hash_create (0, sizeof(uword));
-    om->icmp_id = random_u32 (&om->random_seed);
-
-    ip4_icmp_register_type (vm, ICMP4_echo_reply, oam_node.index);
-
-    return 0;
+  oam_main_t *om = &oam_main;
+
+  om->vlib_main = vm;
+  om->vnet_main = vnet_get_main ();
+  om->interval = 2.04;
+  om->misses_allowed = 3;
+  om->random_seed = (u32) (vlib_time_now (vm) * 1e6);
+  om->target_by_address_and_fib_id = hash_create (0, sizeof (uword));
+  om->icmp_id = random_u32 (&om->random_seed);
+
+  ip4_icmp_register_type (vm, ICMP4_echo_reply, oam_node.index);
+
+  return 0;
 }
 
 VLIB_INIT_FUNCTION (oam_init);
 
-static u8 * format_oam_target (u8 * s, va_list * args)
+static u8 *
+format_oam_target (u8 * s, va_list * args)
 {
-    oam_target_t *t = va_arg (*args, oam_target_t *);
-    int verbose = va_arg (*args, int);
-
-    if (t == 0)
-        return format(s, "%=6s%=14s%=14s%=12s%=10s",
-                      "Fib", "Src", "Dst", "Last Heard", "State");
-
-    s = format (s, "%=6d%=14U%=14U%=12.2f%=10s",
-                t->fib_id, 
-                format_ip4_address, &t->src_address,
-                format_ip4_address, &t->dst_address,
-                t->last_heard_time, 
-                (t->state == OAM_STATE_ALIVE) ? "alive" : "dead");
-    if (verbose)
-        s = format (s, "   seq %d last_heard_seq %d", 
-                    t->seq, t->last_heard_seq);
-
-    return s;
+  oam_target_t *t = va_arg (*args, oam_target_t *);
+  int verbose = va_arg (*args, int);
+
+  if (t == 0)
+    return format (s, "%=6s%=14s%=14s%=12s%=10s",
+                  "Fib", "Src", "Dst", "Last Heard", "State");
+
+  s = format (s, "%=6d%=14U%=14U%=12.2f%=10s",
+             t->fib_id,
+             format_ip4_address, &t->src_address,
+             format_ip4_address, &t->dst_address,
+             t->last_heard_time,
+             (t->state == OAM_STATE_ALIVE) ? "alive" : "dead");
+  if (verbose)
+    s = format (s, "   seq %d last_heard_seq %d", t->seq, t->last_heard_seq);
+
+  return s;
 }
 
 static clib_error_t *
 show_oam_command_fn (vlib_main_t * vm,
-                unformat_input_t * input,
-                vlib_cli_command_t * cmd)
+                    unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-    oam_main_t * om = &oam_main;
-    oam_target_t * t;
-    int verbose = 0;
-
-    if (unformat (input, "verbose") ||
-        unformat (input, "v"))
-        verbose = 1;
-
-    /* print header */
-    vlib_cli_output (vm, "%U", format_oam_target, 0, verbose);
-
-    pool_foreach (t, om->targets,
-    ({
-        vlib_cli_output (vm, "%U", format_oam_target, t, verbose);
-    }));
-    
-    return 0;
+  oam_main_t *om = &oam_main;
+  oam_target_t *t;
+  int verbose = 0;
+
+  if (unformat (input, "verbose") || unformat (input, "v"))
+    verbose = 1;
+
+  /* print header */
+  vlib_cli_output (vm, "%U", format_oam_target, 0, verbose);
+
+  /* *INDENT-OFF* */
+  pool_foreach (t, om->targets,
+  ({
+    vlib_cli_output (vm, "%U", format_oam_target, t, verbose);
+  }));
+  /* *INDENT-ON* */
+
+  return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (show_oam_command, static) = {
-    .path = "show oam",
-    .short_help = "show oam",
-    .function = show_oam_command_fn,
+  .path = "show oam",
+  .short_help = "show oam",
+  .function = show_oam_command_fn,
 };
+/* *INDENT-ON* */
 
-typedef struct {
-    u32 target_pool_index;
-    ip4_address_t address;
+typedef struct
+{
+  u32 target_pool_index;
+  ip4_address_t address;
 } oam_trace_t;
 
 /* packet trace format function */
-static u8 * format_swap_trace (u8 * s, va_list * args)
+static u8 *
+format_swap_trace (u8 * s, va_list * args)
 {
   CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
-  oam_trace_t * t = va_arg (*args, oam_trace_t *);
-  
-  s = format (s, "OAM: rx from address %U, target index %d", 
-              format_ip4_address, &t->address, t->target_pool_index);
+  oam_trace_t *t = va_arg (*args, oam_trace_t *);
+
+  s = format (s, "OAM: rx from address %U, target index %d",
+             format_ip4_address, &t->address, t->target_pool_index);
   return s;
 }
 
@@ -390,22 +412,23 @@ static u8 * format_swap_trace (u8 * s, va_list * args)
 _(PROCESSED, "vpe icmp4 oam replies processed")         \
 _(DROPPED, "icmp4 replies dropped (no registration)")
 
-typedef enum {
+typedef enum
+{
 #define _(sym,str) OAM_ERROR_##sym,
   foreach_oam_error
 #undef _
-  OAM_N_ERROR,
+    OAM_N_ERROR,
 } oam_error_t;
 
-static char * oam_error_strings[] = {
+static char *oam_error_strings[] = {
 #define _(sym,string) string,
   foreach_oam_error
 #undef _
 };
 
-/* 
+/*
  * To drop a pkt and increment one of the previous counters:
- * 
+ *
  * set b0->error = error_node->errors[OAM_ERROR_EXAMPLE];
  * set next0 to a disposition index bound to "error-drop".
  *
@@ -415,10 +438,11 @@ static char * oam_error_strings[] = {
  *  u32 node_counter_base_index = n->error_heap_index;
  *  vlib_error_main_t * em = &vm->error_main;
  *  em->counters[node_counter_base_index + OAM_ERROR_EXAMPLE] += 1;
- * 
+ *
  */
 
-typedef enum {
+typedef enum
+{
   OAM_NEXT_DROP,
   OAM_NEXT_PUNT,
   OAM_N_NEXT,
@@ -426,177 +450,181 @@ typedef enum {
 
 static uword
 oam_node_fn (vlib_main_t * vm,
-                 vlib_node_runtime_t * node,
-                 vlib_frame_t * frame)
+            vlib_node_runtime_t * node, vlib_frame_t * frame)
 {
-    u32 n_left_from, * from, * to_next;
-    oam_next_t next_index;
-    oam_main_t * om = &oam_main;
-    u32 next01 = OAM_NEXT_DROP; /* all pkts go to the hopper... */
-    uword * u0, * u1;
-    oam_template_t * oam0, * oam1;
-    u32 fib_index0, fib_index1;
-    u64 key0, key1;
-    oam_target_t * t0, *t1;
-    ip4_main_t * im = &ip4_main;
-
-    from = vlib_frame_vector_args (frame);
-    n_left_from = frame->n_vectors;
-    next_index = node->cached_next_index;
-
-    while (n_left_from > 0)
+  u32 n_left_from, *from, *to_next;
+  oam_next_t next_index;
+  oam_main_t *om = &oam_main;
+  u32 next01 = OAM_NEXT_DROP;  /* all pkts go to the hopper... */
+  uword *u0, *u1;
+  oam_template_t *oam0, *oam1;
+  u32 fib_index0, fib_index1;
+  u64 key0, key1;
+  oam_target_t *t0, *t1;
+  ip4_main_t *im = &ip4_main;
+
+  from = vlib_frame_vector_args (frame);
+  n_left_from = frame->n_vectors;
+  next_index = node->cached_next_index;
+
+  while (n_left_from > 0)
     {
-        u32 n_left_to_next;
+      u32 n_left_to_next;
 
-        vlib_get_next_frame (vm, node, next_index,
-                             to_next, n_left_to_next);
+      vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
 
-        while (n_left_from >= 4 && n_left_to_next >= 2)
+      while (n_left_from >= 4 && n_left_to_next >= 2)
        {
-            u32 bi0, bi1;
-            vlib_buffer_t * b0, * b1;
-            u32 sw_if_index0, sw_if_index1;
-          
-            /* Prefetch next iteration. */
-            {
-                vlib_buffer_t * p2, * p3;
-            
-                p2 = vlib_get_buffer (vm, from[2]);
-                p3 = vlib_get_buffer (vm, from[3]);
-            
-                vlib_prefetch_buffer_header (p2, LOAD);
-                vlib_prefetch_buffer_header (p3, LOAD);
-
-                CLIB_PREFETCH (p2->data, CLIB_CACHE_LINE_BYTES, STORE);
-                CLIB_PREFETCH (p3->data, CLIB_CACHE_LINE_BYTES, STORE);
-            }
-
-            /* speculatively enqueue b0 and b1 to the current next frame */
-            to_next[0] = bi0 = from[0];
-            to_next[1] = bi1 = from[1];
-            from += 2;
-            to_next += 2;
-            n_left_from -= 2;
-            n_left_to_next -= 2;
-
-            b0 = vlib_get_buffer (vm, bi0);
-            b1 = vlib_get_buffer (vm, bi1);
-
-            sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
-            sw_if_index1 = vnet_buffer(b1)->sw_if_index[VLIB_RX];
-
-            oam0 = vlib_buffer_get_current (b0);
-            oam1 = vlib_buffer_get_current (b1);
-            fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
-            fib_index1 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index1);
-
-            key0 = ((u64)fib_index0<<32) | oam0->ip4.src_address.as_u32;
-            u0 = hash_get (om->target_by_address_and_fib_id, key0);
-            if (u0) {
-                t0 = pool_elt_at_index (om->targets, u0[0]);
-                t0->last_heard_time = vlib_time_now (vm);
-                t0->last_heard_seq = clib_net_to_host_u16(oam0->seq);
-                b0->error = node->errors[OAM_ERROR_PROCESSED];
-            } else 
-                b0->error = node->errors[OAM_ERROR_DROPPED];
-
-            key1 = ((u64)fib_index1<<32) | oam1->ip4.src_address.as_u32;
-            u1 = hash_get (om->target_by_address_and_fib_id, key1);
-            if (u1) {
-                t1 = pool_elt_at_index (om->targets, u1[0]);
-                t1->last_heard_time = vlib_time_now (vm);
-                t1->last_heard_seq = clib_net_to_host_u16(oam1->seq);
-                b1->error = node->errors[OAM_ERROR_PROCESSED];
-            } else 
-                b1->error = node->errors[OAM_ERROR_DROPPED];
-
-            if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE)))
-            {
-                if (b0->flags & VLIB_BUFFER_IS_TRACED) {
-                    oam_trace_t *t = 
-                        vlib_add_trace (vm, node, b0, sizeof (*t));
-                    t->target_pool_index = u0 ? u0[0] : (u32)~0;
-                    t->address.as_u32 = oam0->ip4.src_address.as_u32;
-                }
-                if (b1->flags & VLIB_BUFFER_IS_TRACED) 
-                {
-                    oam_trace_t *t = 
-                        vlib_add_trace (vm, node, b1, sizeof (*t));
-                    t->target_pool_index = u1 ? u1[0] : (u32)~0;
-                    t->address.as_u32 = oam1->ip4.src_address.as_u32;
-
-                }
-            }
-
-            if (vm->os_punt_frame)
-                next01 = OAM_NEXT_PUNT;
-
-            /* verify speculative enqueues, maybe switch current next frame */
-            vlib_validate_buffer_enqueue_x2 (vm, node, next_index,
-                                             to_next, n_left_to_next,
-                                             bi0, bi1, next01, next01);
-        }
-      
-        while (n_left_from > 0 && n_left_to_next > 0)
+         u32 bi0, bi1;
+         vlib_buffer_t *b0, *b1;
+         u32 sw_if_index0, sw_if_index1;
+
+         /* Prefetch next iteration. */
+         {
+           vlib_buffer_t *p2, *p3;
+
+           p2 = vlib_get_buffer (vm, from[2]);
+           p3 = vlib_get_buffer (vm, from[3]);
+
+           vlib_prefetch_buffer_header (p2, LOAD);
+           vlib_prefetch_buffer_header (p3, LOAD);
+
+           CLIB_PREFETCH (p2->data, CLIB_CACHE_LINE_BYTES, STORE);
+           CLIB_PREFETCH (p3->data, CLIB_CACHE_LINE_BYTES, STORE);
+         }
+
+         /* speculatively enqueue b0 and b1 to the current next frame */
+         to_next[0] = bi0 = from[0];
+         to_next[1] = bi1 = from[1];
+         from += 2;
+         to_next += 2;
+         n_left_from -= 2;
+         n_left_to_next -= 2;
+
+         b0 = vlib_get_buffer (vm, bi0);
+         b1 = vlib_get_buffer (vm, bi1);
+
+         sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
+         sw_if_index1 = vnet_buffer (b1)->sw_if_index[VLIB_RX];
+
+         oam0 = vlib_buffer_get_current (b0);
+         oam1 = vlib_buffer_get_current (b1);
+         fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
+         fib_index1 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index1);
+
+         key0 = ((u64) fib_index0 << 32) | oam0->ip4.src_address.as_u32;
+         u0 = hash_get (om->target_by_address_and_fib_id, key0);
+         if (u0)
+           {
+             t0 = pool_elt_at_index (om->targets, u0[0]);
+             t0->last_heard_time = vlib_time_now (vm);
+             t0->last_heard_seq = clib_net_to_host_u16 (oam0->seq);
+             b0->error = node->errors[OAM_ERROR_PROCESSED];
+           }
+         else
+           b0->error = node->errors[OAM_ERROR_DROPPED];
+
+         key1 = ((u64) fib_index1 << 32) | oam1->ip4.src_address.as_u32;
+         u1 = hash_get (om->target_by_address_and_fib_id, key1);
+         if (u1)
+           {
+             t1 = pool_elt_at_index (om->targets, u1[0]);
+             t1->last_heard_time = vlib_time_now (vm);
+             t1->last_heard_seq = clib_net_to_host_u16 (oam1->seq);
+             b1->error = node->errors[OAM_ERROR_PROCESSED];
+           }
+         else
+           b1->error = node->errors[OAM_ERROR_DROPPED];
+
+         if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE)))
+           {
+             if (b0->flags & VLIB_BUFFER_IS_TRACED)
+               {
+                 oam_trace_t *t = vlib_add_trace (vm, node, b0, sizeof (*t));
+                 t->target_pool_index = u0 ? u0[0] : (u32) ~ 0;
+                 t->address.as_u32 = oam0->ip4.src_address.as_u32;
+               }
+             if (b1->flags & VLIB_BUFFER_IS_TRACED)
+               {
+                 oam_trace_t *t = vlib_add_trace (vm, node, b1, sizeof (*t));
+                 t->target_pool_index = u1 ? u1[0] : (u32) ~ 0;
+                 t->address.as_u32 = oam1->ip4.src_address.as_u32;
+
+               }
+           }
+
+         if (vm->os_punt_frame)
+           next01 = OAM_NEXT_PUNT;
+
+         /* verify speculative enqueues, maybe switch current next frame */
+         vlib_validate_buffer_enqueue_x2 (vm, node, next_index,
+                                          to_next, n_left_to_next,
+                                          bi0, bi1, next01, next01);
+       }
+
+      while (n_left_from > 0 && n_left_to_next > 0)
        {
-            u32 bi0, sw_if_index0;
-            vlib_buffer_t * b0;
-
-            /* speculatively enqueue b0 to the current next frame */
-            bi0 = from[0];
-            to_next[0] = bi0;
-            from += 1;
-            to_next += 1;
-            n_left_from -= 1;
-            n_left_to_next -= 1;
-
-            b0 = vlib_get_buffer (vm, bi0);
-
-            sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
-
-            oam0 = vlib_buffer_get_current (b0);
-            fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
-
-            key0 = ((u64)fib_index0<<32) | oam0->ip4.src_address.as_u32;
-            u0 = hash_get (om->target_by_address_and_fib_id, key0);
-            if (u0) {
-                t0 = pool_elt_at_index (om->targets, u0[0]);
-                t0->last_heard_time = vlib_time_now (vm);
-                t0->last_heard_seq = clib_net_to_host_u16(oam0->seq);
-                b0->error = node->errors[OAM_ERROR_PROCESSED];
-            } else 
-                b0->error = node->errors[OAM_ERROR_DROPPED];
-
-            if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE) 
-                              && (b0->flags & VLIB_BUFFER_IS_TRACED))) {
-                oam_trace_t *t = 
-                    vlib_add_trace (vm, node, b0, sizeof (*t));
-                t->target_pool_index = u0 ? u0[0] : (u32)~0;
-                t->address.as_u32 = oam0->ip4.src_address.as_u32;
-            }
-
-            if (vm->os_punt_frame)
-                next01 = OAM_NEXT_PUNT;
-
-            /* verify speculative enqueue, maybe switch current next frame */
-            vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
-                                             to_next, n_left_to_next,
-                                             bi0, next01);
+         u32 bi0, sw_if_index0;
+         vlib_buffer_t *b0;
+
+         /* speculatively enqueue b0 to the current next frame */
+         bi0 = from[0];
+         to_next[0] = bi0;
+         from += 1;
+         to_next += 1;
+         n_left_from -= 1;
+         n_left_to_next -= 1;
+
+         b0 = vlib_get_buffer (vm, bi0);
+
+         sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
+
+         oam0 = vlib_buffer_get_current (b0);
+         fib_index0 = vec_elt (im->fib_index_by_sw_if_index, sw_if_index0);
+
+         key0 = ((u64) fib_index0 << 32) | oam0->ip4.src_address.as_u32;
+         u0 = hash_get (om->target_by_address_and_fib_id, key0);
+         if (u0)
+           {
+             t0 = pool_elt_at_index (om->targets, u0[0]);
+             t0->last_heard_time = vlib_time_now (vm);
+             t0->last_heard_seq = clib_net_to_host_u16 (oam0->seq);
+             b0->error = node->errors[OAM_ERROR_PROCESSED];
+           }
+         else
+           b0->error = node->errors[OAM_ERROR_DROPPED];
+
+         if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE)
+                            && (b0->flags & VLIB_BUFFER_IS_TRACED)))
+           {
+             oam_trace_t *t = vlib_add_trace (vm, node, b0, sizeof (*t));
+             t->target_pool_index = u0 ? u0[0] : (u32) ~ 0;
+             t->address.as_u32 = oam0->ip4.src_address.as_u32;
+           }
+
+         if (vm->os_punt_frame)
+           next01 = OAM_NEXT_PUNT;
+
+         /* verify speculative enqueue, maybe switch current next frame */
+         vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
+                                          to_next, n_left_to_next,
+                                          bi0, next01);
        }
 
-        vlib_put_next_frame (vm, node, next_index, n_left_to_next);
+      vlib_put_next_frame (vm, node, next_index, n_left_to_next);
     }
 
-    return frame->n_vectors;
+  return frame->n_vectors;
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (oam_node,static) = {
   .function = oam_node_fn,
   .name = "vpe-icmp4-oam",
   .vector_size = sizeof (u32),
   .format_trace = format_swap_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  
+
   .n_errors = ARRAY_LEN(oam_error_strings),
   .error_strings = oam_error_strings,
 
@@ -604,10 +632,16 @@ VLIB_REGISTER_NODE (oam_node,static) = {
 
   /* edit / add dispositions here */
   .next_nodes = {
-        [OAM_NEXT_DROP] = "error-drop",
-        [OAM_NEXT_PUNT] = "error-punt",
+    [OAM_NEXT_DROP] = "error-drop",
+    [OAM_NEXT_PUNT] = "error-punt",
   },
 };
+/* *INDENT-ON* */
 
-
-
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 79478a0..f6af978 100644 (file)
 #include <vnet/interface.h>
 
 /* 36 octets, make a note of it... */
-typedef CLIB_PACKED(struct {
-    ip4_header_t ip4;
-    icmp46_header_t icmp;
-    u16 id;
-    u16 seq;
-    u8 data[8];
+/* *INDENT-OFF* */
+typedef CLIB_PACKED (struct {
+  ip4_header_t ip4;
+  icmp46_header_t icmp;
+  u16 id;
+  u16 seq;
+  u8 data[8];
 }) oam_template_t;
+/* *INDENT-ON* */
 
-typedef CLIB_PACKED(struct {
-    u64 v8[4];
-    u32 v4;
+/* *INDENT-OFF* */
+typedef CLIB_PACKED (struct {
+  u64 v8[4];
+  u32 v4;
 }) oam_template_copy_t;
+/* *INDENT-ON* */
 
-typedef enum {
-    OAM_STATE_UNKNOWN = 0,
-    OAM_STATE_ALIVE,
-    OAM_STATE_DEAD,
+typedef enum
+{
+  OAM_STATE_UNKNOWN = 0,
+  OAM_STATE_ALIVE,
+  OAM_STATE_DEAD,
 } oam_state_t;
 
-typedef struct {
-    ip4_address_t src_address;
-    ip4_address_t dst_address;
-    u32 fib_id;
-    u32 fib_index;
-    f64 last_heard_time;
-    u16 seq;
-    u16 last_heard_seq;
-    u16 id;
-    u8 state;
-    oam_template_t * template;
+typedef struct
+{
+  ip4_address_t src_address;
+  ip4_address_t dst_address;
+  u32 fib_id;
+  u32 fib_index;
+  f64 last_heard_time;
+  u16 seq;
+  u16 last_heard_seq;
+  u16 id;
+  u8 state;
+  oam_template_t *template;
 } oam_target_t;
 
-typedef struct {
-    /* OAM targets */
-    oam_target_t * targets;
-    uword * target_by_address_and_fib_id;
+typedef struct
+{
+  /* OAM targets */
+  oam_target_t *targets;
+  uword *target_by_address_and_fib_id;
 
-    /* Config parameters */
-    f64 interval;
-    u32 misses_allowed;
+  /* Config parameters */
+  f64 interval;
+  u32 misses_allowed;
 
-    /* random number seed */
-    u32 random_seed;
-    u16 icmp_id;
+  /* random number seed */
+  u32 random_seed;
+  u16 icmp_id;
 
-    /* oam packet template */
-    vlib_packet_template_t packet_template;
+  /* oam packet template */
+  vlib_packet_template_t packet_template;
 
-    /* convenience */
-    vlib_main_t * vlib_main;
-    vnet_main_t * vnet_main;
+  /* convenience */
+  vlib_main_t *vlib_main;
+  vnet_main_t *vnet_main;
 } oam_main_t;
 
-int vpe_oam_add_del_target (ip4_address_t *src_address, 
-                            ip4_address_t *dst_address, 
-                            u32 fib_id, int is_add);
+int vpe_oam_add_del_target (ip4_address_t * src_address,
+                           ip4_address_t * dst_address,
+                           u32 fib_id, int is_add);
 
 #endif /* __included_oam_h__ */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 2d366fa..823e064 100644 (file)
@@ -27,12 +27,12 @@ stats_main_t stats_main;
 #define f64_endian(a)
 #define f64_print(a,b)
 
-#define vl_typedefs             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_typedefs            /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_endianfun           /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
 /* instantiate all the print functions we know about */
@@ -58,383 +58,420 @@ _(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters)
 #define STATS_RELEASE_DELAY_NS (1000 * 1000 * 5)
 /*                              ns/us  us/ms        */
 
-void dslock (stats_main_t *sm, int release_hint, int tag)
+void
+dslock (stats_main_t * sm, int release_hint, int tag)
 {
-    u32 thread_id;
-    data_structure_lock_t *l = sm->data_structure_lock;
+  u32 thread_id;
+  data_structure_lock_t *l = sm->data_structure_lock;
 
-    if(PREDICT_FALSE(l == 0))
-        return;
+  if (PREDICT_FALSE (l == 0))
+    return;
 
-    thread_id = os_get_cpu_number();
-    if (l->lock && l->thread_id == thread_id) {
-        l->count++;
-        return;
+  thread_id = os_get_cpu_number ();
+  if (l->lock && l->thread_id == thread_id)
+    {
+      l->count++;
+      return;
     }
 
-    if (release_hint)
-        l->release_hint++;
+  if (release_hint)
+    l->release_hint++;
 
-    while (__sync_lock_test_and_set (&l->lock, 1))
-      /* zzzz */ ;
-    l->tag = tag;
-    l->thread_id = thread_id;
-    l->count = 1;
+  while (__sync_lock_test_and_set (&l->lock, 1))
+    /* zzzz */ ;
+  l->tag = tag;
+  l->thread_id = thread_id;
+  l->count = 1;
 }
 
-void dsunlock (stats_main_t *sm)
+void
+dsunlock (stats_main_t * sm)
 {
-    u32 thread_id;
-    data_structure_lock_t *l = sm->data_structure_lock;
-
-    if(PREDICT_FALSE(l == 0))
-        return;
-
-    thread_id = os_get_cpu_number();
-    ASSERT (l->lock && l->thread_id == thread_id);
-    l->count--;
-    if (l->count == 0) {
-        l->tag = -l->tag;
-        l->release_hint = 0;
-        CLIB_MEMORY_BARRIER();
-        l->lock = 0;
+  u32 thread_id;
+  data_structure_lock_t *l = sm->data_structure_lock;
+
+  if (PREDICT_FALSE (l == 0))
+    return;
+
+  thread_id = os_get_cpu_number ();
+  ASSERT (l->lock && l->thread_id == thread_id);
+  l->count--;
+  if (l->count == 0)
+    {
+      l->tag = -l->tag;
+      l->release_hint = 0;
+      CLIB_MEMORY_BARRIER ();
+      l->lock = 0;
     }
 }
 
-static void do_simple_interface_counters (stats_main_t * sm)
+static void
+do_simple_interface_counters (stats_main_t * sm)
 {
-    vl_api_vnet_interface_counters_t * mp = 0;
-    vnet_interface_main_t * im = sm->interface_main;
-    api_main_t * am = sm->api_main;
-    vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
-    unix_shared_memory_queue_t * q = shmem_hdr->vl_input_queue;
-    vlib_simple_counter_main_t * cm;
-    u32 items_this_message = 0;
-    u64 v, *vp = 0;
-    int i;
-
-    /* 
-     * Prevent interface registration from expanding / moving the vectors...
-     * That tends never to happen, so we can hold this lock for a while.
-     */
-    vnet_interface_counter_lock (im);
-
-    vec_foreach (cm, im->sw_if_counters) {
-
-        for (i = 0; i < vec_len (cm->maxi); i++) {
-            if (mp == 0) {
-                items_this_message = clib_min (SIMPLE_COUNTER_BATCH_SIZE,
-                                               vec_len (cm->maxi) - i);
-
-                mp = vl_msg_api_alloc_as_if_client 
-                    (sizeof (*mp) + items_this_message * sizeof (v));
-                mp->_vl_msg_id = ntohs (VL_API_VNET_INTERFACE_COUNTERS);
-                mp->vnet_counter_type = cm - im->sw_if_counters;
-                mp->is_combined = 0;
-                mp->first_sw_if_index = htonl (i);
-                mp->count = 0;
-                vp = (u64 *) mp->data;
-            }
-            v = vlib_get_simple_counter (cm, i);
-            clib_mem_unaligned (vp, u64) = clib_host_to_net_u64 (v);
-            vp++;
-            mp->count++;
-            if (mp->count == items_this_message) {
-                mp->count = htonl (items_this_message);
-                /* Send to the main thread... */
-                vl_msg_api_send_shmem (q, (u8 *)&mp);
-                mp = 0;
-            }
-        }
-        ASSERT (mp == 0);
-    }
-    vnet_interface_counter_unlock (im);
+  vl_api_vnet_interface_counters_t *mp = 0;
+  vnet_interface_main_t *im = sm->interface_main;
+  api_main_t *am = sm->api_main;
+  vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+  unix_shared_memory_queue_t *q = shmem_hdr->vl_input_queue;
+  vlib_simple_counter_main_t *cm;
+  u32 items_this_message = 0;
+  u64 v, *vp = 0;
+  int i;
+
+  /*
+   * Prevent interface registration from expanding / moving the vectors...
+   * That tends never to happen, so we can hold this lock for a while.
+   */
+  vnet_interface_counter_lock (im);
+
+  vec_foreach (cm, im->sw_if_counters)
+  {
+
+    for (i = 0; i < vec_len (cm->maxi); i++)
+      {
+       if (mp == 0)
+         {
+           items_this_message = clib_min (SIMPLE_COUNTER_BATCH_SIZE,
+                                          vec_len (cm->maxi) - i);
+
+           mp = vl_msg_api_alloc_as_if_client
+             (sizeof (*mp) + items_this_message * sizeof (v));
+           mp->_vl_msg_id = ntohs (VL_API_VNET_INTERFACE_COUNTERS);
+           mp->vnet_counter_type = cm - im->sw_if_counters;
+           mp->is_combined = 0;
+           mp->first_sw_if_index = htonl (i);
+           mp->count = 0;
+           vp = (u64 *) mp->data;
+         }
+       v = vlib_get_simple_counter (cm, i);
+       clib_mem_unaligned (vp, u64) = clib_host_to_net_u64 (v);
+       vp++;
+       mp->count++;
+       if (mp->count == items_this_message)
+         {
+           mp->count = htonl (items_this_message);
+           /* Send to the main thread... */
+           vl_msg_api_send_shmem (q, (u8 *) & mp);
+           mp = 0;
+         }
+      }
+    ASSERT (mp == 0);
+  }
+  vnet_interface_counter_unlock (im);
 }
 
-static void do_combined_interface_counters (stats_main_t * sm)
+static void
+do_combined_interface_counters (stats_main_t * sm)
 {
-    vl_api_vnet_interface_counters_t * mp = 0;
-    vnet_interface_main_t * im = sm->interface_main;
-    api_main_t * am = sm->api_main;
-    vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
-    unix_shared_memory_queue_t * q = shmem_hdr->vl_input_queue;
-    vlib_combined_counter_main_t * cm;
-    u32 items_this_message = 0;
-    vlib_counter_t v, *vp = 0;
-    int i;
-
-    vnet_interface_counter_lock (im);
-
-    vec_foreach (cm, im->combined_sw_if_counters) {
-
-        for (i = 0; i < vec_len (cm->maxi); i++) {
-            if (mp == 0) {
-                items_this_message = clib_min (COMBINED_COUNTER_BATCH_SIZE,
-                                               vec_len (cm->maxi) - i);
-                
-                mp = vl_msg_api_alloc_as_if_client 
-                    (sizeof (*mp) + items_this_message * sizeof (v));
-                mp->_vl_msg_id = ntohs (VL_API_VNET_INTERFACE_COUNTERS);
-                mp->vnet_counter_type = cm - im->combined_sw_if_counters;
-                mp->is_combined = 1;
-                mp->first_sw_if_index = htonl (i);
-                mp->count = 0;
-                vp = (vlib_counter_t *)mp->data;
-            }
-            vlib_get_combined_counter (cm, i, &v);
-            clib_mem_unaligned (&vp->packets, u64) 
-                = clib_host_to_net_u64 (v.packets);
-            clib_mem_unaligned (&vp->bytes, u64) 
-                = clib_host_to_net_u64 (v.bytes);
-            vp++;
-            mp->count++;
-            if (mp->count == items_this_message) {
-                mp->count = htonl (items_this_message);
-                /* Send to the main thread... */
-                vl_msg_api_send_shmem (q, (u8 *)&mp);
-                mp = 0;
-            }
-        }
-        ASSERT (mp == 0);
-    }
-    vnet_interface_counter_unlock (im);
+  vl_api_vnet_interface_counters_t *mp = 0;
+  vnet_interface_main_t *im = sm->interface_main;
+  api_main_t *am = sm->api_main;
+  vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+  unix_shared_memory_queue_t *q = shmem_hdr->vl_input_queue;
+  vlib_combined_counter_main_t *cm;
+  u32 items_this_message = 0;
+  vlib_counter_t v, *vp = 0;
+  int i;
+
+  vnet_interface_counter_lock (im);
+
+  vec_foreach (cm, im->combined_sw_if_counters)
+  {
+
+    for (i = 0; i < vec_len (cm->maxi); i++)
+      {
+       if (mp == 0)
+         {
+           items_this_message = clib_min (COMBINED_COUNTER_BATCH_SIZE,
+                                          vec_len (cm->maxi) - i);
+
+           mp = vl_msg_api_alloc_as_if_client
+             (sizeof (*mp) + items_this_message * sizeof (v));
+           mp->_vl_msg_id = ntohs (VL_API_VNET_INTERFACE_COUNTERS);
+           mp->vnet_counter_type = cm - im->combined_sw_if_counters;
+           mp->is_combined = 1;
+           mp->first_sw_if_index = htonl (i);
+           mp->count = 0;
+           vp = (vlib_counter_t *) mp->data;
+         }
+       vlib_get_combined_counter (cm, i, &v);
+       clib_mem_unaligned (&vp->packets, u64)
+         = clib_host_to_net_u64 (v.packets);
+       clib_mem_unaligned (&vp->bytes, u64) = clib_host_to_net_u64 (v.bytes);
+       vp++;
+       mp->count++;
+       if (mp->count == items_this_message)
+         {
+           mp->count = htonl (items_this_message);
+           /* Send to the main thread... */
+           vl_msg_api_send_shmem (q, (u8 *) & mp);
+           mp = 0;
+         }
+      }
+    ASSERT (mp == 0);
+  }
+  vnet_interface_counter_unlock (im);
 }
 
 /* from .../vnet/vnet/ip/lookup.c. Yuck */
-typedef CLIB_PACKED (struct {
-  ip4_address_t address;
-
-  u32 address_length : 6;
-
-  u32 index : 26;
-}) ip4_route_t;
-
-static void ip46_fib_stats_delay (stats_main_t * sm, u32 sec, u32 nsec)
+typedef CLIB_PACKED (struct
+                    {
+                    ip4_address_t address;
+u32 address_length: 6;
+u32 index:          26;
+                    }) ip4_route_t;
+
+static void
+ip46_fib_stats_delay (stats_main_t * sm, u32 sec, u32 nsec)
 {
-    struct timespec _req, *req = &_req;
-    struct timespec _rem, *rem = &_rem;
-    
-    req->tv_sec = sec;
-    req->tv_nsec = nsec;
-    while (1) {
-        if (nanosleep (req, rem) == 0)
-            break;
-        *req = *rem;
-        if (errno == EINTR)
-            continue;
-        clib_unix_warning ("nanosleep");
-        break;
+  struct timespec _req, *req = &_req;
+  struct timespec _rem, *rem = &_rem;
+
+  req->tv_sec = sec;
+  req->tv_nsec = nsec;
+  while (1)
+    {
+      if (nanosleep (req, rem) == 0)
+       break;
+      *req = *rem;
+      if (errno == EINTR)
+       continue;
+      clib_unix_warning ("nanosleep");
+      break;
     }
 }
 
-static void do_ip4_fibs (stats_main_t * sm)
+static void
+do_ip4_fibs (stats_main_t * sm)
 {
-    ip4_main_t * im4 = &ip4_main;
-    api_main_t * am = sm->api_main;
-    vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
-    unix_shared_memory_queue_t * q = shmem_hdr->vl_input_queue;
-    static ip4_route_t * routes;
-    ip4_route_t * r;
-    ip4_fib_t * fib;
-    ip_lookup_main_t * lm = &im4->lookup_main;
-    static uword * results;
-    vl_api_vnet_ip4_fib_counters_t * mp = 0;
-    u32 items_this_message;
-    vl_api_ip4_fib_counter_t *ctrp = 0;
-    u32 start_at_fib_index = 0;
-    int i;
+  ip4_main_t *im4 = &ip4_main;
+  api_main_t *am = sm->api_main;
+  vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+  unix_shared_memory_queue_t *q = shmem_hdr->vl_input_queue;
+  static ip4_route_t *routes;
+  ip4_route_t *r;
+  ip4_fib_t *fib;
+  ip_lookup_main_t *lm = &im4->lookup_main;
+  static uword *results;
+  vl_api_vnet_ip4_fib_counters_t *mp = 0;
+  u32 items_this_message;
+  vl_api_ip4_fib_counter_t *ctrp = 0;
+  u32 start_at_fib_index = 0;
+  int i;
 
 again:
-    vec_foreach (fib, im4->fibs) {
-        /* We may have bailed out due to control-plane activity */
-        while ((fib - im4->fibs) < start_at_fib_index)
-            continue;
-
-        if (mp == 0) {
-            items_this_message = IP4_FIB_COUNTER_BATCH_SIZE;
-            mp = vl_msg_api_alloc_as_if_client 
-                (sizeof(*mp) + 
-                 items_this_message*sizeof(vl_api_ip4_fib_counter_t));
-            mp->_vl_msg_id = ntohs (VL_API_VNET_IP4_FIB_COUNTERS);
-            mp->count = 0;
-            mp->vrf_id = ntohl(fib->table_id);
-            ctrp = (vl_api_ip4_fib_counter_t *)mp->c;
-        } else {
-            /* happens if the last FIB was empty... */
-            ASSERT(mp->count == 0);
-            mp->vrf_id = ntohl(fib->table_id);
-        }
-
-        dslock (sm, 0 /* release hint */, 1 /* tag */);
-      
-        vec_reset_length (routes);
-        vec_reset_length (results);
-
-        for (i = 0; i < ARRAY_LEN (fib->adj_index_by_dst_address); i++) {
-            uword * hash = fib->adj_index_by_dst_address[i];
-            hash_pair_t * p;
-            ip4_route_t x;
-
-            x.address_length = i;
-
-            hash_foreach_pair (p, hash, 
-            ({
-                x.address.data_u32 = p->key;
-                if (lm->fib_result_n_words > 1) {
-                    x.index = vec_len (results);
-                    vec_add (results, p->value, lm->fib_result_n_words);
-                }
-                else
-                    x.index = p->value[0];
-                
-                vec_add1 (routes, x);
-                if (sm->data_structure_lock->release_hint) {
-                    start_at_fib_index = fib - im4->fibs;
-                    dsunlock (sm);
-                    ip46_fib_stats_delay (sm, 0 /* sec */, 
-                                         STATS_RELEASE_DELAY_NS);
-                    mp->count = 0;
-                    ctrp = (vl_api_ip4_fib_counter_t *)mp->c;
-                    goto again;
-                }
-            }));
-        }
-      
-        vec_foreach (r, routes) {
-            vlib_counter_t c, sum;
-            uword i, j, n_left, n_nhs, adj_index, * result = 0;
-            ip_adjacency_t * adj;
-            ip_multipath_next_hop_t * nhs, tmp_nhs[1];
-
-            adj_index = r->index;
-            if (lm->fib_result_n_words > 1) {
-                result = vec_elt_at_index (results, adj_index);
-                adj_index = result[0];
-           }
+  vec_foreach (fib, im4->fibs)
+  {
+    /* We may have bailed out due to control-plane activity */
+    while ((fib - im4->fibs) < start_at_fib_index)
+      continue;
+
+    if (mp == 0)
+      {
+       items_this_message = IP4_FIB_COUNTER_BATCH_SIZE;
+       mp = vl_msg_api_alloc_as_if_client
+         (sizeof (*mp) +
+          items_this_message * sizeof (vl_api_ip4_fib_counter_t));
+       mp->_vl_msg_id = ntohs (VL_API_VNET_IP4_FIB_COUNTERS);
+       mp->count = 0;
+       mp->vrf_id = ntohl (fib->table_id);
+       ctrp = (vl_api_ip4_fib_counter_t *) mp->c;
+      }
+    else
+      {
+       /* happens if the last FIB was empty... */
+       ASSERT (mp->count == 0);
+       mp->vrf_id = ntohl (fib->table_id);
+      }
+
+    dslock (sm, 0 /* release hint */ , 1 /* tag */ );
+
+    vec_reset_length (routes);
+    vec_reset_length (results);
+
+    for (i = 0; i < ARRAY_LEN (fib->adj_index_by_dst_address); i++)
+      {
+       uword *hash = fib->adj_index_by_dst_address[i];
+       hash_pair_t *p;
+       ip4_route_t x;
+
+       x.address_length = i;
+
+        /* *INDENT-OFF* */
+        hash_foreach_pair (p, hash,
+        ({
+          x.address.data_u32 = p->key;
+          if (lm->fib_result_n_words > 1)
+            {
+              x.index = vec_len (results);
+              vec_add (results, p->value, lm->fib_result_n_words);
+            }
+          else
+            x.index = p->value[0];
+
+          vec_add1 (routes, x);
+          if (sm->data_structure_lock->release_hint)
+            {
+              start_at_fib_index = fib - im4->fibs;
+              dsunlock (sm);
+              ip46_fib_stats_delay (sm, 0 /* sec */,
+                                    STATS_RELEASE_DELAY_NS);
+              mp->count = 0;
+              ctrp = (vl_api_ip4_fib_counter_t *)mp->c;
+              goto again;
+            }
+        }));
+        /* *INDENT-ON* */
+      }
 
-            adj = ip_get_adjacency (lm, adj_index);
-            if (adj->n_adj == 1) {
-                nhs = &tmp_nhs[0];
-                nhs[0].next_hop_adj_index = ~0; /* not used */
-                nhs[0].weight = 1;
-                n_nhs = 1;
-           } else {
-                ip_multipath_adjacency_t * madj;
-                madj = vec_elt_at_index (lm->multipath_adjacencies, 
-                                         adj->heap_handle);
-                nhs = heap_elt_at_index 
-                    (lm->next_hop_heap, 
-                     madj->normalized_next_hops.heap_offset);
-                n_nhs = madj->normalized_next_hops.count;
-           }
-            
-            n_left = nhs[0].weight;
-            vlib_counter_zero (&sum);
-            for (i = j = 0; i < adj->n_adj; i++) {
-                n_left -= 1;
-                vlib_get_combined_counter (&lm->adjacency_counters, 
-                                           adj_index + i, &c);
-                vlib_counter_add (&sum, &c);
-                /* 
-                 * If we're done with this adj and it has actually
-                 * seen at least one packet, send it.
-                 */
-                if (n_left == 0 && sum.packets > 0) {
-                    
-                    /* already in net byte order */
-                    ctrp->address = r->address.as_u32;
-                    ctrp->address_length = r->address_length;
-                    ctrp->packets = clib_host_to_net_u64 (sum.packets);
-                    ctrp->bytes = clib_host_to_net_u64(sum.bytes);
-                    mp->count++;
-                    ctrp++;
-                    
-                    if (mp->count == items_this_message) {
-                        mp->count = htonl (items_this_message);
-                        /*
-                         * If the main thread's input queue is stuffed,
-                         * drop the data structure lock (which the main thread
-                         * may want), and take a pause.
-                         */
-                        unix_shared_memory_queue_lock (q);
-                        if (unix_shared_memory_queue_is_full (q)) {
-                            dsunlock (sm);
-                            vl_msg_api_send_shmem_nolock (q, (u8 *)&mp);
-                            unix_shared_memory_queue_unlock (q);
-                            mp = 0;
-                            ip46_fib_stats_delay (sm, 0 /* sec */, 
-                                                  STATS_RELEASE_DELAY_NS);
-                            goto again;
-                        } 
-                        vl_msg_api_send_shmem_nolock (q, (u8 *)&mp);
-                        unix_shared_memory_queue_unlock (q);
-                        
-                        items_this_message = IP4_FIB_COUNTER_BATCH_SIZE;
-                        mp = vl_msg_api_alloc_as_if_client 
-                            (sizeof(*mp) + 
-                             items_this_message*
-                             sizeof(vl_api_ip4_fib_counter_t));
-                        mp->_vl_msg_id = ntohs (VL_API_VNET_IP4_FIB_COUNTERS);
-                        mp->count = 0;
-                        mp->vrf_id = ntohl(fib->table_id);
-                        ctrp = (vl_api_ip4_fib_counter_t *)mp->c;
-                    }
-                    
-                    j++;
-                    if (j < n_nhs) {
-                        n_left = nhs[j].weight;
-                        vlib_counter_zero (&sum);
+    vec_foreach (r, routes)
+    {
+      vlib_counter_t c, sum;
+      uword i, j, n_left, n_nhs, adj_index, *result = 0;
+      ip_adjacency_t *adj;
+      ip_multipath_next_hop_t *nhs, tmp_nhs[1];
+
+      adj_index = r->index;
+      if (lm->fib_result_n_words > 1)
+       {
+         result = vec_elt_at_index (results, adj_index);
+         adj_index = result[0];
+       }
+
+      adj = ip_get_adjacency (lm, adj_index);
+      if (adj->n_adj == 1)
+       {
+         nhs = &tmp_nhs[0];
+         nhs[0].next_hop_adj_index = ~0;       /* not used */
+         nhs[0].weight = 1;
+         n_nhs = 1;
+       }
+      else
+       {
+         ip_multipath_adjacency_t *madj;
+         madj = vec_elt_at_index (lm->multipath_adjacencies,
+                                  adj->heap_handle);
+         nhs = heap_elt_at_index
+           (lm->next_hop_heap, madj->normalized_next_hops.heap_offset);
+         n_nhs = madj->normalized_next_hops.count;
+       }
+
+      n_left = nhs[0].weight;
+      vlib_counter_zero (&sum);
+      for (i = j = 0; i < adj->n_adj; i++)
+       {
+         n_left -= 1;
+         vlib_get_combined_counter (&lm->adjacency_counters,
+                                    adj_index + i, &c);
+         vlib_counter_add (&sum, &c);
+         /*
+          * If we're done with this adj and it has actually
+          * seen at least one packet, send it.
+          */
+         if (n_left == 0 && sum.packets > 0)
+           {
+
+             /* already in net byte order */
+             ctrp->address = r->address.as_u32;
+             ctrp->address_length = r->address_length;
+             ctrp->packets = clib_host_to_net_u64 (sum.packets);
+             ctrp->bytes = clib_host_to_net_u64 (sum.bytes);
+             mp->count++;
+             ctrp++;
+
+             if (mp->count == items_this_message)
+               {
+                 mp->count = htonl (items_this_message);
+                 /*
+                  * If the main thread's input queue is stuffed,
+                  * drop the data structure lock (which the main thread
+                  * may want), and take a pause.
+                  */
+                 unix_shared_memory_queue_lock (q);
+                 if (unix_shared_memory_queue_is_full (q))
+                   {
+                     dsunlock (sm);
+                     vl_msg_api_send_shmem_nolock (q, (u8 *) & mp);
+                     unix_shared_memory_queue_unlock (q);
+                     mp = 0;
+                     ip46_fib_stats_delay (sm, 0 /* sec */ ,
+                                           STATS_RELEASE_DELAY_NS);
+                     goto again;
                    }
+                 vl_msg_api_send_shmem_nolock (q, (u8 *) & mp);
+                 unix_shared_memory_queue_unlock (q);
+
+                 items_this_message = IP4_FIB_COUNTER_BATCH_SIZE;
+                 mp = vl_msg_api_alloc_as_if_client
+                   (sizeof (*mp) +
+                    items_this_message * sizeof (vl_api_ip4_fib_counter_t));
+                 mp->_vl_msg_id = ntohs (VL_API_VNET_IP4_FIB_COUNTERS);
+                 mp->count = 0;
+                 mp->vrf_id = ntohl (fib->table_id);
+                 ctrp = (vl_api_ip4_fib_counter_t *) mp->c;
                }
-            } /* for each (mp or single) adj */
-            if (sm->data_structure_lock->release_hint) {
-                start_at_fib_index = fib - im4->fibs;
-                dsunlock (sm);
-                ip46_fib_stats_delay (sm, 0 /* sec */, STATS_RELEASE_DELAY_NS);
-                mp->count = 0;
-                ctrp = (vl_api_ip4_fib_counter_t *)mp->c;
-                goto again;
-            }
-        } /* vec_foreach (routes) */      
-        
-        dsunlock(sm);
-
-        /* Flush any data from this fib */
-        if (mp->count) {
-            mp->count = htonl (mp->count);
-            vl_msg_api_send_shmem (q, (u8 *)&mp);
-            mp = 0;
-        } 
-    } /* vec_foreach (fib) */
-    /* If e.g. the last FIB had no reportable routes, free the buffer */
-    if (mp)
-        vl_msg_api_free (mp);
+
+             j++;
+             if (j < n_nhs)
+               {
+                 n_left = nhs[j].weight;
+                 vlib_counter_zero (&sum);
+               }
+           }
+       }                       /* for each (mp or single) adj */
+      if (sm->data_structure_lock->release_hint)
+       {
+         start_at_fib_index = fib - im4->fibs;
+         dsunlock (sm);
+         ip46_fib_stats_delay (sm, 0 /* sec */ , STATS_RELEASE_DELAY_NS);
+         mp->count = 0;
+         ctrp = (vl_api_ip4_fib_counter_t *) mp->c;
+         goto again;
+       }
+    }                          /* vec_foreach (routes) */
+
+    dsunlock (sm);
+
+    /* Flush any data from this fib */
+    if (mp->count)
+      {
+       mp->count = htonl (mp->count);
+       vl_msg_api_send_shmem (q, (u8 *) & mp);
+       mp = 0;
+      }
+  }                            /* vec_foreach (fib) */
+  /* If e.g. the last FIB had no reportable routes, free the buffer */
+  if (mp)
+    vl_msg_api_free (mp);
 }
 
-typedef struct {
+typedef struct
+{
   ip6_address_t address;
   u32 address_length;
   u32 index;
 } ip6_route_t;
 
-typedef struct {
+typedef struct
+{
   u32 fib_index;
-  ip6_route_t ** routep;
-  stats_main_t * sm;
+  ip6_route_t **routep;
+  stats_main_t *sm;
 } add_routes_in_fib_arg_t;
 
-static void add_routes_in_fib (BVT(clib_bihash_kv) * kvp, void *arg)
+static void
+add_routes_in_fib (BVT (clib_bihash_kv) * kvp, void *arg)
 {
-  add_routes_in_fib_arg_t * ap = arg;
-  stats_main_t * sm = ap->sm;
+  add_routes_in_fib_arg_t *ap = arg;
+  stats_main_t *sm = ap->sm;
 
   if (sm->data_structure_lock->release_hint)
     clib_longjmp (&sm->jmp_buf, 1);
 
-  if (kvp->key[2]>>32 == ap->fib_index)
+  if (kvp->key[2] >> 32 == ap->fib_index)
     {
       ip6_address_t *addr;
-      ip6_route_t * r;
+      ip6_route_t *r;
       addr = (ip6_address_t *) kvp;
       vec_add2 (*ap->routep, r, 1);
       r->address = addr[0];
@@ -443,457 +480,509 @@ static void add_routes_in_fib (BVT(clib_bihash_kv) * kvp, void *arg)
     }
 }
 
-static void do_ip6_fibs (stats_main_t * sm)
+static void
+do_ip6_fibs (stats_main_t * sm)
 {
-    ip6_main_t * im6 = &ip6_main;
-    api_main_t * am = sm->api_main;
-    vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
-    unix_shared_memory_queue_t * q = shmem_hdr->vl_input_queue;
-    static ip6_route_t * routes;
-    ip6_route_t * r;
-    ip6_fib_t * fib;
-    ip_lookup_main_t * lm = &im6->lookup_main;
-    static uword * results;
-    vl_api_vnet_ip6_fib_counters_t * mp = 0;
-    u32 items_this_message;
-    vl_api_ip6_fib_counter_t *ctrp = 0;
-    u32 start_at_fib_index = 0;
-    BVT(clib_bihash) * h = &im6->ip6_lookup_table;
-    add_routes_in_fib_arg_t _a, *a=&_a;
+  ip6_main_t *im6 = &ip6_main;
+  api_main_t *am = sm->api_main;
+  vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+  unix_shared_memory_queue_t *q = shmem_hdr->vl_input_queue;
+  static ip6_route_t *routes;
+  ip6_route_t *r;
+  ip6_fib_t *fib;
+  ip_lookup_main_t *lm = &im6->lookup_main;
+  static uword *results;
+  vl_api_vnet_ip6_fib_counters_t *mp = 0;
+  u32 items_this_message;
+  vl_api_ip6_fib_counter_t *ctrp = 0;
+  u32 start_at_fib_index = 0;
+  BVT (clib_bihash) * h = &im6->ip6_lookup_table;
+  add_routes_in_fib_arg_t _a, *a = &_a;
 
 again:
-    vec_foreach (fib, im6->fibs) {
-        /* We may have bailed out due to control-plane activity */
-        while ((fib - im6->fibs) < start_at_fib_index)
-            continue;
-
-        if (mp == 0) {
-            items_this_message = IP6_FIB_COUNTER_BATCH_SIZE;
-            mp = vl_msg_api_alloc_as_if_client 
-                (sizeof(*mp) + 
-                 items_this_message*sizeof(vl_api_ip6_fib_counter_t));
-            mp->_vl_msg_id = ntohs (VL_API_VNET_IP6_FIB_COUNTERS);
-            mp->count = 0;
-            mp->vrf_id = ntohl(fib->table_id);
-            ctrp = (vl_api_ip6_fib_counter_t *)mp->c;
-        }
-
-        dslock (sm, 0 /* release hint */, 1 /* tag */);
-      
-        vec_reset_length (routes);
-        vec_reset_length (results);
-
-        a->fib_index = fib - im6->fibs;
-        a->routep = &routes;
-        a->sm = sm;
-
-        if (clib_setjmp(&sm->jmp_buf, 0) == 0)
-          {
-            start_at_fib_index = fib - im6->fibs;
-            BV(clib_bihash_foreach_key_value_pair)(h, add_routes_in_fib, a);
-          }
-        else
-          {
-            dsunlock (sm);
-            ip46_fib_stats_delay (sm, 0 /* sec */, 
-                                  STATS_RELEASE_DELAY_NS);
-            mp->count = 0;
-            ctrp = (vl_api_ip6_fib_counter_t *)mp->c;
-            goto again;
-          }
-
-        vec_foreach (r, routes) {
-            vlib_counter_t c, sum;
-            uword i, j, n_left, n_nhs, adj_index, * result = 0;
-            ip_adjacency_t * adj;
-            ip_multipath_next_hop_t * nhs, tmp_nhs[1];
-
-            adj_index = r->index;
-            if (lm->fib_result_n_words > 1) {
-                result = vec_elt_at_index (results, adj_index);
-                adj_index = result[0];
-           }
-
-            adj = ip_get_adjacency (lm, adj_index);
-            if (adj->n_adj == 1) {
-                nhs = &tmp_nhs[0];
-                nhs[0].next_hop_adj_index = ~0; /* not used */
-                nhs[0].weight = 1;
-                n_nhs = 1;
-           } else {
-                ip_multipath_adjacency_t * madj;
-                madj = vec_elt_at_index (lm->multipath_adjacencies, 
-                                         adj->heap_handle);
-                nhs = heap_elt_at_index 
-                    (lm->next_hop_heap, 
-                     madj->normalized_next_hops.heap_offset);
-                n_nhs = madj->normalized_next_hops.count;
-           }
-            
-            n_left = nhs[0].weight;
-            vlib_counter_zero (&sum);
-            for (i = j = 0; i < adj->n_adj; i++) {
-                n_left -= 1;
-                vlib_get_combined_counter (&lm->adjacency_counters, 
-                                           adj_index + i, &c);
-                vlib_counter_add (&sum, &c);
-                if (n_left == 0 && sum.packets > 0) {
-                    
-                    /* already in net byte order */
-                    ctrp->address[0] = r->address.as_u64[0];
-                    ctrp->address[1] = r->address.as_u64[1];
-                    ctrp->address_length = (u8) r->address_length;
-                    ctrp->packets = clib_host_to_net_u64 (sum.packets);
-                    ctrp->bytes = clib_host_to_net_u64(sum.bytes);
-                    mp->count++;
-                    ctrp++;
-                    
-                    if (mp->count == items_this_message) {
-                        mp->count = htonl (items_this_message);
-                        /*
-                         * If the main thread's input queue is stuffed,
-                         * drop the data structure lock (which the main thread
-                         * may want), and take a pause.
-                         */
-                        unix_shared_memory_queue_lock (q);
-                        if (unix_shared_memory_queue_is_full (q)) {
-                            dsunlock (sm);
-                            vl_msg_api_send_shmem_nolock (q, (u8 *)&mp);
-                            unix_shared_memory_queue_unlock (q);
-                            mp = 0;
-                            ip46_fib_stats_delay (sm, 0 /* sec */, 
-                                                  STATS_RELEASE_DELAY_NS);
-                            goto again;
-                        } 
-                        vl_msg_api_send_shmem_nolock (q, (u8 *)&mp);
-                        unix_shared_memory_queue_unlock (q);
-
-                        items_this_message = IP6_FIB_COUNTER_BATCH_SIZE;
-                        mp = vl_msg_api_alloc_as_if_client 
-                            (sizeof(*mp) + 
-                             items_this_message*
-                             sizeof(vl_api_ip6_fib_counter_t));
-                        mp->_vl_msg_id = ntohs (VL_API_VNET_IP6_FIB_COUNTERS);
-                        mp->count = 0;
-                        mp->vrf_id = ntohl(fib->table_id);
-                        ctrp = (vl_api_ip6_fib_counter_t *)mp->c;
-                    }
-                    
-                    j++;
-                    if (j < n_nhs) {
-                        n_left = nhs[j].weight;
-                        vlib_counter_zero (&sum);
+  vec_foreach (fib, im6->fibs)
+  {
+    /* We may have bailed out due to control-plane activity */
+    while ((fib - im6->fibs) < start_at_fib_index)
+      continue;
+
+    if (mp == 0)
+      {
+       items_this_message = IP6_FIB_COUNTER_BATCH_SIZE;
+       mp = vl_msg_api_alloc_as_if_client
+         (sizeof (*mp) +
+          items_this_message * sizeof (vl_api_ip6_fib_counter_t));
+       mp->_vl_msg_id = ntohs (VL_API_VNET_IP6_FIB_COUNTERS);
+       mp->count = 0;
+       mp->vrf_id = ntohl (fib->table_id);
+       ctrp = (vl_api_ip6_fib_counter_t *) mp->c;
+      }
+
+    dslock (sm, 0 /* release hint */ , 1 /* tag */ );
+
+    vec_reset_length (routes);
+    vec_reset_length (results);
+
+    a->fib_index = fib - im6->fibs;
+    a->routep = &routes;
+    a->sm = sm;
+
+    if (clib_setjmp (&sm->jmp_buf, 0) == 0)
+      {
+       start_at_fib_index = fib - im6->fibs;
+       BV (clib_bihash_foreach_key_value_pair) (h, add_routes_in_fib, a);
+      }
+    else
+      {
+       dsunlock (sm);
+       ip46_fib_stats_delay (sm, 0 /* sec */ ,
+                             STATS_RELEASE_DELAY_NS);
+       mp->count = 0;
+       ctrp = (vl_api_ip6_fib_counter_t *) mp->c;
+       goto again;
+      }
+
+    vec_foreach (r, routes)
+    {
+      vlib_counter_t c, sum;
+      uword i, j, n_left, n_nhs, adj_index, *result = 0;
+      ip_adjacency_t *adj;
+      ip_multipath_next_hop_t *nhs, tmp_nhs[1];
+
+      adj_index = r->index;
+      if (lm->fib_result_n_words > 1)
+       {
+         result = vec_elt_at_index (results, adj_index);
+         adj_index = result[0];
+       }
+
+      adj = ip_get_adjacency (lm, adj_index);
+      if (adj->n_adj == 1)
+       {
+         nhs = &tmp_nhs[0];
+         nhs[0].next_hop_adj_index = ~0;       /* not used */
+         nhs[0].weight = 1;
+         n_nhs = 1;
+       }
+      else
+       {
+         ip_multipath_adjacency_t *madj;
+         madj = vec_elt_at_index (lm->multipath_adjacencies,
+                                  adj->heap_handle);
+         nhs = heap_elt_at_index
+           (lm->next_hop_heap, madj->normalized_next_hops.heap_offset);
+         n_nhs = madj->normalized_next_hops.count;
+       }
+
+      n_left = nhs[0].weight;
+      vlib_counter_zero (&sum);
+      for (i = j = 0; i < adj->n_adj; i++)
+       {
+         n_left -= 1;
+         vlib_get_combined_counter (&lm->adjacency_counters,
+                                    adj_index + i, &c);
+         vlib_counter_add (&sum, &c);
+         if (n_left == 0 && sum.packets > 0)
+           {
+
+             /* already in net byte order */
+             ctrp->address[0] = r->address.as_u64[0];
+             ctrp->address[1] = r->address.as_u64[1];
+             ctrp->address_length = (u8) r->address_length;
+             ctrp->packets = clib_host_to_net_u64 (sum.packets);
+             ctrp->bytes = clib_host_to_net_u64 (sum.bytes);
+             mp->count++;
+             ctrp++;
+
+             if (mp->count == items_this_message)
+               {
+                 mp->count = htonl (items_this_message);
+                 /*
+                  * If the main thread's input queue is stuffed,
+                  * drop the data structure lock (which the main thread
+                  * may want), and take a pause.
+                  */
+                 unix_shared_memory_queue_lock (q);
+                 if (unix_shared_memory_queue_is_full (q))
+                   {
+                     dsunlock (sm);
+                     vl_msg_api_send_shmem_nolock (q, (u8 *) & mp);
+                     unix_shared_memory_queue_unlock (q);
+                     mp = 0;
+                     ip46_fib_stats_delay (sm, 0 /* sec */ ,
+                                           STATS_RELEASE_DELAY_NS);
+                     goto again;
                    }
+                 vl_msg_api_send_shmem_nolock (q, (u8 *) & mp);
+                 unix_shared_memory_queue_unlock (q);
+
+                 items_this_message = IP6_FIB_COUNTER_BATCH_SIZE;
+                 mp = vl_msg_api_alloc_as_if_client
+                   (sizeof (*mp) +
+                    items_this_message * sizeof (vl_api_ip6_fib_counter_t));
+                 mp->_vl_msg_id = ntohs (VL_API_VNET_IP6_FIB_COUNTERS);
+                 mp->count = 0;
+                 mp->vrf_id = ntohl (fib->table_id);
+                 ctrp = (vl_api_ip6_fib_counter_t *) mp->c;
                }
-            } /* for each (mp or single) adj */
-            if (sm->data_structure_lock->release_hint) {
-                start_at_fib_index = fib - im6->fibs;
-                dsunlock (sm);
-                ip46_fib_stats_delay (sm, 0 /* sec */, STATS_RELEASE_DELAY_NS);
-                mp->count = 0;
-                ctrp = (vl_api_ip6_fib_counter_t *)mp->c;
-                goto again;
-            }
-        } /* vec_foreach (routes) */      
-        
-        dsunlock(sm);
-
-        /* Flush any data from this fib */
-        if (mp->count) {
-            mp->count = htonl (mp->count);
-            vl_msg_api_send_shmem (q, (u8 *)&mp);
-            mp = 0;
-        }
-    } /* vec_foreach (fib) */
-    /* If e.g. the last FIB had no reportable routes, free the buffer */
-    if (mp) 
-        vl_msg_api_free (mp);
+
+             j++;
+             if (j < n_nhs)
+               {
+                 n_left = nhs[j].weight;
+                 vlib_counter_zero (&sum);
+               }
+           }
+       }                       /* for each (mp or single) adj */
+      if (sm->data_structure_lock->release_hint)
+       {
+         start_at_fib_index = fib - im6->fibs;
+         dsunlock (sm);
+         ip46_fib_stats_delay (sm, 0 /* sec */ , STATS_RELEASE_DELAY_NS);
+         mp->count = 0;
+         ctrp = (vl_api_ip6_fib_counter_t *) mp->c;
+         goto again;
+       }
+    }                          /* vec_foreach (routes) */
+
+    dsunlock (sm);
+
+    /* Flush any data from this fib */
+    if (mp->count)
+      {
+       mp->count = htonl (mp->count);
+       vl_msg_api_send_shmem (q, (u8 *) & mp);
+       mp = 0;
+      }
+  }                            /* vec_foreach (fib) */
+  /* If e.g. the last FIB had no reportable routes, free the buffer */
+  if (mp)
+    vl_msg_api_free (mp);
 }
 
-static void stats_thread_fn (void *arg)
+static void
+stats_thread_fn (void *arg)
 {
-    stats_main_t *sm = &stats_main;
-    vlib_worker_thread_t *w = (vlib_worker_thread_t *)arg;
-    vlib_thread_main_t *tm = vlib_get_thread_main();
-    
-    /* stats thread wants no signals. */
-    {
-        sigset_t s;
-        sigfillset (&s);
-        pthread_sigmask (SIG_SETMASK, &s, 0);
-    }
+  stats_main_t *sm = &stats_main;
+  vlib_worker_thread_t *w = (vlib_worker_thread_t *) arg;
+  vlib_thread_main_t *tm = vlib_get_thread_main ();
 
-    if (vec_len(tm->thread_prefix))
-        vlib_set_thread_name((char *)
-               format(0, "%v_stats%c", tm->thread_prefix, '\0'));
+  /* stats thread wants no signals. */
+  {
+    sigset_t s;
+    sigfillset (&s);
+    pthread_sigmask (SIG_SETMASK, &s, 0);
+  }
 
-    clib_mem_set_heap (w->thread_mheap);
+  if (vec_len (tm->thread_prefix))
+    vlib_set_thread_name ((char *)
+                         format (0, "%v_stats%c", tm->thread_prefix, '\0'));
 
-    while (1) {
-        /* 10 second poll interval */
-        ip46_fib_stats_delay (sm, 10 /* secs */, 0 /* nsec */);
+  clib_mem_set_heap (w->thread_mheap);
 
-        if (! (sm->enable_poller))
-            continue;
-        do_simple_interface_counters (sm);
-        do_combined_interface_counters (sm);
-        do_ip4_fibs (sm);
-        do_ip6_fibs (sm);
+  while (1)
+    {
+      /* 10 second poll interval */
+      ip46_fib_stats_delay (sm, 10 /* secs */ , 0 /* nsec */ );
+
+      if (!(sm->enable_poller))
+       continue;
+      do_simple_interface_counters (sm);
+      do_combined_interface_counters (sm);
+      do_ip4_fibs (sm);
+      do_ip6_fibs (sm);
     }
 }
 
-static void vl_api_vnet_interface_counters_t_handler (
-    vl_api_vnet_interface_counters_t *mp)
+static void
+vl_api_vnet_interface_counters_t_handler (vl_api_vnet_interface_counters_t *
+                                         mp)
 {
-    vpe_client_registration_t *reg;
-    stats_main_t * sm = &stats_main;
-    unix_shared_memory_queue_t *q, *q_prev = NULL;
-    vl_api_vnet_interface_counters_t *mp_copy = NULL;
-    u32 mp_size;
+  vpe_client_registration_t *reg;
+  stats_main_t *sm = &stats_main;
+  unix_shared_memory_queue_t *q, *q_prev = NULL;
+  vl_api_vnet_interface_counters_t *mp_copy = NULL;
+  u32 mp_size;
 
 #if STATS_DEBUG > 0
-    char *counter_name;
-    u32 count, sw_if_index;
-    int i;
+  char *counter_name;
+  u32 count, sw_if_index;
+  int i;
 #endif
-    
-    mp_size = sizeof (*mp) + (ntohl(mp->count) *
-            (mp->is_combined ? sizeof (vlib_counter_t) : sizeof (u64)));
-
-    pool_foreach(reg, sm->stats_registrations, 
-    ({
-        q = vl_api_client_index_to_input_queue (reg->client_index);
-        if (q) {
-            if (q_prev && (q_prev->cursize < q_prev->maxsize)) {
-                mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
-                clib_memcpy(mp_copy, mp, mp_size);
-                vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-                mp = mp_copy;
-            }
-            q_prev = q;
-        }
-    }));
+
+  mp_size = sizeof (*mp) + (ntohl (mp->count) *
+                           (mp->is_combined ? sizeof (vlib_counter_t) :
+                            sizeof (u64)));
+
+  /* *INDENT-OFF* */
+  pool_foreach(reg, sm->stats_registrations,
+  ({
+    q = vl_api_client_index_to_input_queue (reg->client_index);
+    if (q)
+      {
+        if (q_prev && (q_prev->cursize < q_prev->maxsize))
+          {
+            mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
+            clib_memcpy(mp_copy, mp, mp_size);
+            vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
+            mp = mp_copy;
+          }
+        q_prev = q;
+      }
+  }));
+  /* *INDENT-ON* */
 
 #if STATS_DEBUG > 0
-    count = ntohl (mp->count);
-    sw_if_index = ntohl (mp->first_sw_if_index);
-    if (mp->is_combined == 0) {
-        u64 * vp, v;
-        vp = (u64 *) mp->data;
-
-        switch (mp->vnet_counter_type) {
-        case  VNET_INTERFACE_COUNTER_DROP:
-            counter_name = "drop";
-            break;
-        case  VNET_INTERFACE_COUNTER_PUNT:
-            counter_name = "punt";
-            break;
-        case  VNET_INTERFACE_COUNTER_IP4:
-            counter_name = "ip4";
-            break;
-        case  VNET_INTERFACE_COUNTER_IP6:
-            counter_name = "ip6";
-            break;
-        case VNET_INTERFACE_COUNTER_RX_NO_BUF:
-            counter_name = "rx-no-buff";
-            break;
-        case VNET_INTERFACE_COUNTER_RX_MISS:,
-            counter_name = "rx-miss";
-            break;
-        case VNET_INTERFACE_COUNTER_RX_ERROR:,
-            counter_name = "rx-error (fifo-full)";
-            break;
-        case VNET_INTERFACE_COUNTER_TX_ERROR:,
-            counter_name = "tx-error (fifo-full)";
-            break;
-        default:
-            counter_name = "bogus";
-            break;
-        }
-        for (i = 0; i < count; i++) {
-            v = clib_mem_unaligned (vp, u64);
-            v = clib_net_to_host_u64 (v);
-            vp++;
-            fformat (stdout, "%U.%s %lld\n", format_vnet_sw_if_index_name, 
-                     sm->vnet_main, sw_if_index, counter_name, v);
-            sw_if_index++;
-        }
-    } else {
-        vlib_counter_t *vp;
-        u64 packets, bytes;
-        vp = (vlib_counter_t *) mp->data;
-
-        switch (mp->vnet_counter_type) {
-        case  VNET_INTERFACE_COUNTER_RX:
-            counter_name = "rx";
-            break;
-        case  VNET_INTERFACE_COUNTER_TX:
-            counter_name = "tx";
-            break;
-        default:
-            counter_name = "bogus";
-            break;
-        }
-        for (i = 0; i < count; i++) {
-            packets = clib_mem_unaligned (&vp->packets, u64);
-            packets = clib_net_to_host_u64 (packets);
-            bytes = clib_mem_unaligned (&vp->bytes, u64);
-            bytes = clib_net_to_host_u64 (bytes);
-            vp++;
-            fformat (stdout, "%U.%s.packets %lld\n", 
-                     format_vnet_sw_if_index_name, 
-                     sm->vnet_main, sw_if_index, counter_name, packets);
-            fformat (stdout, "%U.%s.bytes %lld\n", 
-                     format_vnet_sw_if_index_name, 
-                     sm->vnet_main, sw_if_index, counter_name, bytes);
-            sw_if_index++;
-        }
+  count = ntohl (mp->count);
+  sw_if_index = ntohl (mp->first_sw_if_index);
+  if (mp->is_combined == 0)
+    {
+      u64 *vp, v;
+      vp = (u64 *) mp->data;
+
+      switch (mp->vnet_counter_type)
+       {
+       case VNET_INTERFACE_COUNTER_DROP:
+         counter_name = "drop";
+         break;
+       case VNET_INTERFACE_COUNTER_PUNT:
+         counter_name = "punt";
+         break;
+       case VNET_INTERFACE_COUNTER_IP4:
+         counter_name = "ip4";
+         break;
+       case VNET_INTERFACE_COUNTER_IP6:
+         counter_name = "ip6";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_NO_BUF:
+         counter_name = "rx-no-buff";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_MISS:
+         , counter_name = "rx-miss";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_ERROR:
+         , counter_name = "rx-error (fifo-full)";
+         break;
+       case VNET_INTERFACE_COUNTER_TX_ERROR:
+         , counter_name = "tx-error (fifo-full)";
+         break;
+       default:
+         counter_name = "bogus";
+         break;
+       }
+      for (i = 0; i < count; i++)
+       {
+         v = clib_mem_unaligned (vp, u64);
+         v = clib_net_to_host_u64 (v);
+         vp++;
+         fformat (stdout, "%U.%s %lld\n", format_vnet_sw_if_index_name,
+                  sm->vnet_main, sw_if_index, counter_name, v);
+         sw_if_index++;
+       }
+    }
+  else
+    {
+      vlib_counter_t *vp;
+      u64 packets, bytes;
+      vp = (vlib_counter_t *) mp->data;
+
+      switch (mp->vnet_counter_type)
+       {
+       case VNET_INTERFACE_COUNTER_RX:
+         counter_name = "rx";
+         break;
+       case VNET_INTERFACE_COUNTER_TX:
+         counter_name = "tx";
+         break;
+       default:
+         counter_name = "bogus";
+         break;
+       }
+      for (i = 0; i < count; i++)
+       {
+         packets = clib_mem_unaligned (&vp->packets, u64);
+         packets = clib_net_to_host_u64 (packets);
+         bytes = clib_mem_unaligned (&vp->bytes, u64);
+         bytes = clib_net_to_host_u64 (bytes);
+         vp++;
+         fformat (stdout, "%U.%s.packets %lld\n",
+                  format_vnet_sw_if_index_name,
+                  sm->vnet_main, sw_if_index, counter_name, packets);
+         fformat (stdout, "%U.%s.bytes %lld\n",
+                  format_vnet_sw_if_index_name,
+                  sm->vnet_main, sw_if_index, counter_name, bytes);
+         sw_if_index++;
+       }
     }
 #endif
-    if (q_prev &&
-        (q_prev->cursize < q_prev->maxsize)) {
-            vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-    } else {
-        vl_msg_api_free (mp);
+  if (q_prev && (q_prev->cursize < q_prev->maxsize))
+    {
+      vl_msg_api_send_shmem (q_prev, (u8 *) & mp);
+    }
+  else
+    {
+      vl_msg_api_free (mp);
     }
 }
 
-static void vl_api_vnet_ip4_fib_counters_t_handler (
-    vl_api_vnet_ip4_fib_counters_t *mp)
+static void
+vl_api_vnet_ip4_fib_counters_t_handler (vl_api_vnet_ip4_fib_counters_t * mp)
 {
-    vpe_client_registration_t *reg;
-    stats_main_t * sm = &stats_main;
-    unix_shared_memory_queue_t *q, *q_prev = NULL;
-    vl_api_vnet_ip4_fib_counters_t *mp_copy = NULL;
-    u32 mp_size;
-
-    mp_size = sizeof(*mp_copy) +
-            ntohl(mp->count) * sizeof(vl_api_ip4_fib_counter_t);
-
-    pool_foreach(reg, sm->stats_registrations,
-    ({
-        q = vl_api_client_index_to_input_queue (reg->client_index);
-        if (q) {
-            if (q_prev && (q_prev->cursize < q_prev->maxsize)) {
-                mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
-                clib_memcpy(mp_copy, mp, mp_size);
-                vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-                mp = mp_copy;
-            }
-            q_prev = q;
-        }
-    }));
-    if (q_prev &&
-        (q_prev->cursize < q_prev->maxsize)) {
+  vpe_client_registration_t *reg;
+  stats_main_t *sm = &stats_main;
+  unix_shared_memory_queue_t *q, *q_prev = NULL;
+  vl_api_vnet_ip4_fib_counters_t *mp_copy = NULL;
+  u32 mp_size;
+
+  mp_size = sizeof (*mp_copy) +
+    ntohl (mp->count) * sizeof (vl_api_ip4_fib_counter_t);
+
+  /* *INDENT-OFF* */
+  pool_foreach(reg, sm->stats_registrations,
+  ({
+    q = vl_api_client_index_to_input_queue (reg->client_index);
+    if (q)
+      {
+        if (q_prev && (q_prev->cursize < q_prev->maxsize))
+          {
+            mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
+            clib_memcpy(mp_copy, mp, mp_size);
             vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-    } else {
-        vl_msg_api_free (mp);
+            mp = mp_copy;
+          }
+        q_prev = q;
+      }
+  }));
+  /* *INDENT-ON* */
+  if (q_prev && (q_prev->cursize < q_prev->maxsize))
+    {
+      vl_msg_api_send_shmem (q_prev, (u8 *) & mp);
+    }
+  else
+    {
+      vl_msg_api_free (mp);
     }
 }
 
-static void vl_api_vnet_ip6_fib_counters_t_handler (
-    vl_api_vnet_ip6_fib_counters_t *mp)
+static void
+vl_api_vnet_ip6_fib_counters_t_handler (vl_api_vnet_ip6_fib_counters_t * mp)
 {
-    vpe_client_registration_t *reg;
-    stats_main_t * sm = &stats_main;
-    unix_shared_memory_queue_t *q, *q_prev = NULL;
-    vl_api_vnet_ip6_fib_counters_t *mp_copy = NULL;
-    u32 mp_size;
-
-    mp_size = sizeof(*mp_copy) +
-            ntohl(mp->count) * sizeof(vl_api_ip6_fib_counter_t);
-    
-    pool_foreach(reg, sm->stats_registrations, 
-    ({
-        q = vl_api_client_index_to_input_queue (reg->client_index);
-        if (q) {
-            if (q_prev && (q_prev->cursize < q_prev->maxsize)) {
-                mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
-                clib_memcpy(mp_copy, mp, mp_size);
-                vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-                mp = mp_copy;
-            }
-            q_prev = q;
-        }
-    }));
-    if (q_prev &&
-        (q_prev->cursize < q_prev->maxsize)) {
+  vpe_client_registration_t *reg;
+  stats_main_t *sm = &stats_main;
+  unix_shared_memory_queue_t *q, *q_prev = NULL;
+  vl_api_vnet_ip6_fib_counters_t *mp_copy = NULL;
+  u32 mp_size;
+
+  mp_size = sizeof (*mp_copy) +
+    ntohl (mp->count) * sizeof (vl_api_ip6_fib_counter_t);
+
+  /* *INDENT-OFF* */
+  pool_foreach(reg, sm->stats_registrations,
+  ({
+    q = vl_api_client_index_to_input_queue (reg->client_index);
+    if (q)
+      {
+        if (q_prev && (q_prev->cursize < q_prev->maxsize))
+          {
+            mp_copy = vl_msg_api_alloc_as_if_client(mp_size);
+            clib_memcpy(mp_copy, mp, mp_size);
             vl_msg_api_send_shmem (q_prev, (u8 *)&mp);
-    } else {
-        vl_msg_api_free (mp);
+            mp = mp_copy;
+          }
+        q_prev = q;
+      }
+  }));
+  /* *INDENT-ON* */
+  if (q_prev && (q_prev->cursize < q_prev->maxsize))
+    {
+      vl_msg_api_send_shmem (q_prev, (u8 *) & mp);
+    }
+  else
+    {
+      vl_msg_api_free (mp);
     }
 }
 
-static void vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t *mp)
-{ clib_warning ("BUG"); }
+static void
+vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t * mp)
+{
+  clib_warning ("BUG");
+}
 
-static void vl_api_want_stats_t_handler (
-    vl_api_want_stats_t *mp)
+static void
+vl_api_want_stats_t_handler (vl_api_want_stats_t * mp)
 {
-    stats_main_t *sm = &stats_main;
-    vpe_client_registration_t *rp;
-    vl_api_want_stats_reply_t *rmp;
-    uword *p;
-    i32 retval = 0;
-    unix_shared_memory_queue_t *q;
-
-    p = hash_get (sm->stats_registration_hash, mp->client_index);
-    if (p) {
-        if (mp->enable_disable) {
-            clib_warning ("pid %d: already enabled...", mp->pid);
-            retval = -2;
-            goto reply;
-        } else {
-            rp = pool_elt_at_index (sm->stats_registrations, p[0]);
-            pool_put (sm->stats_registrations, rp);
-            hash_unset (sm->stats_registration_hash, mp->client_index);
-            goto reply;
-        }
+  stats_main_t *sm = &stats_main;
+  vpe_client_registration_t *rp;
+  vl_api_want_stats_reply_t *rmp;
+  uword *p;
+  i32 retval = 0;
+  unix_shared_memory_queue_t *q;
+
+  p = hash_get (sm->stats_registration_hash, mp->client_index);
+  if (p)
+    {
+      if (mp->enable_disable)
+       {
+         clib_warning ("pid %d: already enabled...", mp->pid);
+         retval = -2;
+         goto reply;
+       }
+      else
+       {
+         rp = pool_elt_at_index (sm->stats_registrations, p[0]);
+         pool_put (sm->stats_registrations, rp);
+         hash_unset (sm->stats_registration_hash, mp->client_index);
+         goto reply;
+       }
     }
-    if (mp->enable_disable == 0) {
-        clib_warning ("pid %d: already disabled...", mp->pid);
-        retval = -3;
-        goto reply;
+  if (mp->enable_disable == 0)
+    {
+      clib_warning ("pid %d: already disabled...", mp->pid);
+      retval = -3;
+      goto reply;
     }
-    pool_get (sm->stats_registrations, rp);
-    rp->client_index = mp->client_index;
-    rp->client_pid = mp->pid;
-    hash_set (sm->stats_registration_hash, rp->client_index, 
-              rp - sm->stats_registrations);
+  pool_get (sm->stats_registrations, rp);
+  rp->client_index = mp->client_index;
+  rp->client_pid = mp->pid;
+  hash_set (sm->stats_registration_hash, rp->client_index,
+           rp - sm->stats_registrations);
 
 reply:
-    if (pool_elts(sm->stats_registrations))
-        sm->enable_poller = 1;
-    else
-        sm->enable_poller = 0;
-        
-    q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (pool_elts (sm->stats_registrations))
+    sm->enable_poller = 1;
+  else
+    sm->enable_poller = 0;
 
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_WANT_STATS_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = retval;
+  if (!q)
+    return;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_WANT_STATS_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = retval;
+
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-int stats_memclnt_delete_callback (u32 client_index) 
+int
+stats_memclnt_delete_callback (u32 client_index)
 {
-    vpe_client_registration_t *rp;
-    stats_main_t *sm = &stats_main;
-    uword * p;
-
-    p = hash_get (sm->stats_registration_hash, client_index);
-    if (p) {
-        rp = pool_elt_at_index (sm->stats_registrations, p[0]);
-        pool_put (sm->stats_registrations, rp);
-        hash_unset (sm->stats_registration_hash, client_index);
+  vpe_client_registration_t *rp;
+  stats_main_t *sm = &stats_main;
+  uword *p;
+
+  p = hash_get (sm->stats_registration_hash, client_index);
+  if (p)
+    {
+      rp = pool_elt_at_index (sm->stats_registrations, p[0]);
+      pool_put (sm->stats_registrations, rp);
+      hash_unset (sm->stats_registration_hash, client_index);
     }
 
-    return 0;
+  return 0;
 }
 
 #define vl_api_vnet_ip4_fib_counters_t_endian vl_noop_handler
@@ -901,21 +990,22 @@ int stats_memclnt_delete_callback (u32 client_index)
 #define vl_api_vnet_ip6_fib_counters_t_endian vl_noop_handler
 #define vl_api_vnet_ip6_fib_counters_t_print vl_noop_handler
 
-static clib_error_t * stats_init (vlib_main_t * vm)
+static clib_error_t *
+stats_init (vlib_main_t * vm)
 {
-    stats_main_t * sm = &stats_main;
-    api_main_t * am = &api_main;
-    void *vlib_worker_thread_bootstrap_fn (void *arg);
-
-    sm->vlib_main = vm;
-    sm->vnet_main = vnet_get_main();
-    sm->interface_main = &vnet_get_main()->interface_main;
-    sm->api_main = am;
-    sm->stats_poll_interval_in_seconds = 10;
-    sm->data_structure_lock = 
-        clib_mem_alloc_aligned (sizeof(data_structure_lock_t),
-                                CLIB_CACHE_LINE_BYTES);
-    memset(sm->data_structure_lock, 0, sizeof (*sm->data_structure_lock));
+  stats_main_t *sm = &stats_main;
+  api_main_t *am = &api_main;
+  void *vlib_worker_thread_bootstrap_fn (void *arg);
+
+  sm->vlib_main = vm;
+  sm->vnet_main = vnet_get_main ();
+  sm->interface_main = &vnet_get_main ()->interface_main;
+  sm->api_main = am;
+  sm->stats_poll_interval_in_seconds = 10;
+  sm->data_structure_lock =
+    clib_mem_alloc_aligned (sizeof (data_structure_lock_t),
+                           CLIB_CACHE_LINE_BYTES);
+  memset (sm->data_structure_lock, 0, sizeof (*sm->data_structure_lock));
 
 #define _(N,n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
@@ -923,25 +1013,35 @@ static clib_error_t * stats_init (vlib_main_t * vm)
                            vl_noop_handler,                     \
                            vl_api_##n##_t_endian,               \
                            vl_api_##n##_t_print,                \
-                           sizeof(vl_api_##n##_t), 0 /* do NOT trace! */); 
-    foreach_stats_msg;
+                           sizeof(vl_api_##n##_t), 0 /* do NOT trace! */);
+  foreach_stats_msg;
 #undef _
 
-    /* tell the msg infra not to free these messages... */
-    am->message_bounce [VL_API_VNET_INTERFACE_COUNTERS] = 1;
-    am->message_bounce [VL_API_VNET_IP4_FIB_COUNTERS] = 1;
-    am->message_bounce [VL_API_VNET_IP6_FIB_COUNTERS] = 1;
+  /* tell the msg infra not to free these messages... */
+  am->message_bounce[VL_API_VNET_INTERFACE_COUNTERS] = 1;
+  am->message_bounce[VL_API_VNET_IP4_FIB_COUNTERS] = 1;
+  am->message_bounce[VL_API_VNET_IP6_FIB_COUNTERS] = 1;
 
-    return 0;
+  return 0;
 }
 
 VLIB_INIT_FUNCTION (stats_init);
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_THREAD (stats_thread_reg, static) = {
-    .name = "stats",
-    .function = stats_thread_fn,
-    .fixed_count = 1,
-    .count = 1,
-    .no_data_structure_clone = 1,
-    .use_pthreads = 1,
+  .name = "stats",
+  .function = stats_thread_fn,
+  .fixed_count = 1,
+  .count = 1,
+  .no_data_structure_clone = 1,
+  .use_pthreads = 1,
 };
+/* *INDENT-ON* */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index d6046a4..d6b4724 100644 (file)
 #include <vlibmemory/api.h>
 #include <vlibmemory/unix_shared_memory_queue.h>
 
-typedef struct {
-    u32 client_index;           /* in memclnt registration pool */
-    u32 client_pid;             
+typedef struct
+{
+  u32 client_index;            /* in memclnt registration pool */
+  u32 client_pid;
 } vpe_client_registration_t;
 
-typedef struct {
-    volatile u32 lock;
-    volatile u32 release_hint;
-    u32 thread_id;
-    u32 count;
-    int tag;
+typedef struct
+{
+  volatile u32 lock;
+  volatile u32 release_hint;
+  u32 thread_id;
+  u32 count;
+  int tag;
 } data_structure_lock_t;
 
-typedef struct {
-    void *mheap;
-    pthread_t thread_self;
-    pthread_t thread_handle;
+typedef struct
+{
+  void *mheap;
+  pthread_t thread_self;
+  pthread_t thread_handle;
 
-    u32 stats_poll_interval_in_seconds;
-    u32 enable_poller;
+  u32 stats_poll_interval_in_seconds;
+  u32 enable_poller;
 
-    uword *stats_registration_hash;
-    vpe_client_registration_t *stats_registrations;
+  uword *stats_registration_hash;
+  vpe_client_registration_t *stats_registrations;
 
-    /* control-plane data structure lock */
-    data_structure_lock_t * data_structure_lock;
+  /* control-plane data structure lock */
+  data_structure_lock_t *data_structure_lock;
 
-    /* bail out of FIB walk if set */
-    clib_longjmp_t jmp_buf;
+  /* bail out of FIB walk if set */
+  clib_longjmp_t jmp_buf;
 
-    /* convenience */
-    vlib_main_t * vlib_main;
-    vnet_main_t * vnet_main;
-    vnet_interface_main_t * interface_main;
-    api_main_t * api_main;
+  /* convenience */
+  vlib_main_t *vlib_main;
+  vnet_main_t *vnet_main;
+  vnet_interface_main_t *interface_main;
+  api_main_t *api_main;
 } stats_main_t;
 
 stats_main_t stats_main;
 
-void dslock (stats_main_t *sm, int release_hint, int tag);
-void dsunlock (stats_main_t *sm);
+void dslock (stats_main_t * sm, int release_hint, int tag);
+void dsunlock (stats_main_t * sm);
 
 #endif /* __included_stats_h__ */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 6795407..ce49738 100644 (file)
 #include <vnet/devices/dpdk/dpdk.h>
 
 /*
- * Called by the dpdk driver's rte_delay_us() function. 
+ * Called by the dpdk driver's rte_delay_us() function.
  * Return 0 to have the dpdk do a regular delay loop.
  * Return 1 if to skip the delay loop because we are suspending
  * the calling vlib process instead.
  */
-int rte_delay_us_override (unsigned us) {
-  vlib_main_t * vm;
+int
+rte_delay_us_override (unsigned us)
+{
+  vlib_main_t *vm;
 
   /* Don't bother intercepting for short delays */
-  if (us < 10) return 0;
+  if (us < 10)
+    return 0;
 
-  /* 
-   * Only intercept if we are in a vlib process. 
+  /*
+   * Only intercept if we are in a vlib process.
    * If we are called from a vlib worker thread or the vlib main
-   * thread then do not intercept. (Must not be called from an 
+   * thread then do not intercept. (Must not be called from an
    * independent pthread).
    */
-  if (os_get_cpu_number() == 0)
+  if (os_get_cpu_number () == 0)
     {
-      /* 
+      /*
        * We're in the vlib main thread or a vlib process. Make sure
        * the process is running and we're not still initializing.
        */
-      vm = vlib_get_main();
-      if (vlib_in_process_context(vm))
-        {
-          /* Only suspend for the admin_down_process */
-          vlib_process_t * proc = vlib_get_current_process(vm);
-          if (!(proc->flags & VLIB_PROCESS_IS_RUNNING) ||
-              (proc->node_runtime.function != admin_up_down_process))
-                return 0;
-
-          f64 delay = 1e-6 * us;
-          vlib_process_suspend(vm, delay);
-          return 1;
-        }
+      vm = vlib_get_main ();
+      if (vlib_in_process_context (vm))
+       {
+         /* Only suspend for the admin_down_process */
+         vlib_process_t *proc = vlib_get_current_process (vm);
+         if (!(proc->flags & VLIB_PROCESS_IS_RUNNING) ||
+             (proc->node_runtime.function != admin_up_down_process))
+           return 0;
+
+         f64 delay = 1e-6 * us;
+         vlib_process_suspend (vm, delay);
+         return 1;
+       }
     }
-  return 0; // no override
+  return 0;                    // no override
 }
 #endif
 
 static void
 vpe_main_init (vlib_main_t * vm)
 {
-    if (CLIB_DEBUG > 0)
-        vlib_unix_cli_set_prompt ("DBGvpp# ");
-    else
-        vlib_unix_cli_set_prompt ("vpp# ");
+  if (CLIB_DEBUG > 0)
+    vlib_unix_cli_set_prompt ("DBGvpp# ");
+  else
+    vlib_unix_cli_set_prompt ("vpp# ");
 
-    /* Turn off network stack components which we don't want */
-    vlib_mark_init_function_complete (vm, srp_init);
+  /* Turn off network stack components which we don't want */
+  vlib_mark_init_function_complete (vm, srp_init);
 }
 
-/* 
+/*
  * Load plugins from /usr/lib/vpp_plugins by default
  */
 char *vlib_plugin_path = "/usr/lib/vpp_plugins";
-                                                
-void *vnet_get_handoff_structure (void)
+
+void *
+vnet_get_handoff_structure (void)
 {
-    static vnet_plugin_handoff_t _rv, *rv = &_rv;
+  static vnet_plugin_handoff_t _rv, *rv = &_rv;
 
-    rv->vnet_main = vnet_get_main();
-    rv->ethernet_main = &ethernet_main;
-    return (void *)rv;
+  rv->vnet_main = vnet_get_main ();
+  rv->ethernet_main = &ethernet_main;
+  return (void *) rv;
 }
 
-int main (int argc, char * argv[])
+int
+main (int argc, char *argv[])
 {
-    int i;
-    vlib_main_t * vm = &vlib_global_main;
-    void vl_msg_api_set_first_available_msg_id (u16);
-    uword main_heap_size = (1ULL << 30);
-    u8 * sizep;
-    u32 size;
-    void vlib_set_get_handoff_structure_cb (void *cb);
+  int i;
+  vlib_main_t *vm = &vlib_global_main;
+  void vl_msg_api_set_first_available_msg_id (u16);
+  uword main_heap_size = (1ULL << 30);
+  u8 *sizep;
+  u32 size;
+  void vlib_set_get_handoff_structure_cb (void *cb);
 
 #if __x86_64__
-    const char * msg = "ERROR: This binary requires CPU with %s extensions.\n";
-#define _(a,b) \
-    if (!clib_cpu_supports_ ## a ())   \
-      {                                        \
-       fprintf(stderr, msg, b);        \
-       exit(1);                        \
+  const char *msg = "ERROR: This binary requires CPU with %s extensions.\n";
+#define _(a,b)                                  \
+    if (!clib_cpu_supports_ ## a ())            \
+      {                                         \
+       fprintf(stderr, msg, b);                \
+       exit(1);                                \
       }
 
 #if __AVX2__
-      _(avx2, "AVX2")
+  _(avx2, "AVX2")
 #endif
 #if __AVX__
-      _(avx, "AVX")
+    _(avx, "AVX")
 #endif
 #if __SSE4_2__
-      _(sse42, "SSE4.2")
+    _(sse42, "SSE4.2")
 #endif
 #if __SSE4_1__
-      _(sse41, "SSE4.1")
+    _(sse41, "SSE4.1")
 #endif
 #if __SSSE3__
-      _(ssse3, "SSSE3")
+    _(ssse3, "SSSE3")
 #endif
 #if __SSE3__
-      _(sse3, "SSE3")
+    _(sse3, "SSE3")
 #endif
 #undef _
 #endif
-
     /*
      * Load startup config from file.
      * usage: vpp -c /etc/vpp/startup.conf
      */
-    if ((argc == 3) && !strncmp(argv[1], "-c", 2))
-      {
-        FILE * fp;
-        char inbuf[4096];
-        int argc_ = 1;
-        char ** argv_ = NULL;
-        char * arg = NULL;
-        char * p;
-
-        fp = fopen (argv[2], "r");
-        if (fp == NULL)
-          {
-            fprintf(stderr, "open configuration file '%s' failed\n", argv[2]);
-            return 1;
-          }
-        argv_ = calloc(1, sizeof(char *));
-        if (argv_ == NULL)
-          return 1;
-        arg = strndup(argv[0], 1024);
-        if (arg == NULL)
-          return 1;
-        argv_[0] = arg;
-
-        while (1) {
-          if (fgets(inbuf, 4096, fp) == 0)
-            break;
-          p = strtok(inbuf, " \t\n");
-          while (p != NULL) {
-            if (*p == '#')
-              break;
-            argc_++;
-            char ** tmp = realloc(argv_, argc_ * sizeof(char *));
-            if (tmp == NULL)
-              return 1;
-            argv_ = tmp;
-            arg = strndup(p, 1024);
-            if (arg == NULL)
-              return 1;
-            argv_[argc_ - 1] = arg;
-            p = strtok(NULL, " \t\n");
-          }
-        }
-
-        fclose(fp);
-
-        char ** tmp = realloc(argv_, (argc_ + 1) * sizeof(char *));
-        if (tmp == NULL)
-           return 1;
-        argv_ = tmp;
-        argv_[argc_] = NULL;
-
-        argc = argc_;
-        argv = argv_;
-      }
+    if ((argc == 3) && !strncmp (argv[1], "-c", 2))
+    {
+      FILE *fp;
+      char inbuf[4096];
+      int argc_ = 1;
+      char **argv_ = NULL;
+      char *arg = NULL;
+      char *p;
+
+      fp = fopen (argv[2], "r");
+      if (fp == NULL)
+       {
+         fprintf (stderr, "open configuration file '%s' failed\n", argv[2]);
+         return 1;
+       }
+      argv_ = calloc (1, sizeof (char *));
+      if (argv_ == NULL)
+       return 1;
+      arg = strndup (argv[0], 1024);
+      if (arg == NULL)
+       return 1;
+      argv_[0] = arg;
+
+      while (1)
+       {
+         if (fgets (inbuf, 4096, fp) == 0)
+           break;
+         p = strtok (inbuf, " \t\n");
+         while (p != NULL)
+           {
+             if (*p == '#')
+               break;
+             argc_++;
+             char **tmp = realloc (argv_, argc_ * sizeof (char *));
+             if (tmp == NULL)
+               return 1;
+             argv_ = tmp;
+             arg = strndup (p, 1024);
+             if (arg == NULL)
+               return 1;
+             argv_[argc_ - 1] = arg;
+             p = strtok (NULL, " \t\n");
+           }
+       }
+
+      fclose (fp);
+
+      char **tmp = realloc (argv_, (argc_ + 1) * sizeof (char *));
+      if (tmp == NULL)
+       return 1;
+      argv_ = tmp;
+      argv_[argc_] = NULL;
+
+      argc = argc_;
+      argv = argv_;
+    }
 
-    /* 
-     * Look for and parse the "heapsize" config parameter.
-     * Manual since none of the clib infra has been bootstrapped yet.
-     *
-     * Format: heapsize <nn>[mM][gG] 
-     */
+  /*
+   * Look for and parse the "heapsize" config parameter.
+   * Manual since none of the clib infra has been bootstrapped yet.
+   *
+   * Format: heapsize <nn>[mM][gG]
+   */
 
-    for (i = 1; i < (argc-1); i++) {
-        if (!strncmp (argv[i], "plugin_path", 11)) {
-            if (i < (argc-1))
-                vlib_plugin_path = argv[++i];
-        } else if (!strncmp (argv[i], "heapsize", 8)) {
-            sizep = (u8 *) argv[i+1];
-            size = 0;
-            while (*sizep >= '0' && *sizep <= '9') {
-                size *= 10;
-                size += *sizep++ - '0';
-            }
-            if (size == 0) {
-                fprintf
-                    (stderr, 
-                     "warning: heapsize parse error '%s', use default %lld\n",
-                     argv[i], (long long int) main_heap_size);
-                goto defaulted;
-            }
-
-            main_heap_size = size;
-            
-            if (*sizep == 'g' || *sizep == 'G')
-                main_heap_size <<= 30;
-            else if (*sizep == 'm' || *sizep == 'M')
-                main_heap_size <<= 20;
-        }
+  for (i = 1; i < (argc - 1); i++)
+    {
+      if (!strncmp (argv[i], "plugin_path", 11))
+       {
+         if (i < (argc - 1))
+           vlib_plugin_path = argv[++i];
+       }
+      else if (!strncmp (argv[i], "heapsize", 8))
+       {
+         sizep = (u8 *) argv[i + 1];
+         size = 0;
+         while (*sizep >= '0' && *sizep <= '9')
+           {
+             size *= 10;
+             size += *sizep++ - '0';
+           }
+         if (size == 0)
+           {
+             fprintf
+               (stderr,
+                "warning: heapsize parse error '%s', use default %lld\n",
+                argv[i], (long long int) main_heap_size);
+             goto defaulted;
+           }
+
+         main_heap_size = size;
+
+         if (*sizep == 'g' || *sizep == 'G')
+           main_heap_size <<= 30;
+         else if (*sizep == 'm' || *sizep == 'M')
+           main_heap_size <<= 20;
+       }
     }
-            
+
 defaulted:
 
-    /* Set up the plugin message ID allocator right now... */
-    vl_msg_api_set_first_available_msg_id (VL_MSG_FIRST_AVAILABLE);
+  /* Set up the plugin message ID allocator right now... */
+  vl_msg_api_set_first_available_msg_id (VL_MSG_FIRST_AVAILABLE);
 
-    /* Allocate main heap */
-    if (clib_mem_init (0, main_heap_size)) {
-        vm->init_functions_called = hash_create (0, /* value bytes */ 0);
-        vpe_main_init(vm);
+  /* Allocate main heap */
+  if (clib_mem_init (0, main_heap_size))
+    {
+      vm->init_functions_called = hash_create (0, /* value bytes */ 0);
+      vpe_main_init (vm);
 #if DPDK
 #if !DPDK_SHARED_LIB
-       dpdk_pmd_constructor_init();
+      dpdk_pmd_constructor_init ();
 #endif
 #else
-        unix_physmem_init(vm, 0 /* fail_if_physical_memory_not_present */);
+      unix_physmem_init (vm, 0 /* fail_if_physical_memory_not_present */ );
 #endif
-        vlib_set_get_handoff_structure_cb (&vnet_get_handoff_structure);
-        return vlib_unix_main (argc, argv);
-    } else {
+      vlib_set_get_handoff_structure_cb (&vnet_get_handoff_structure);
+      return vlib_unix_main (argc, argv);
+    }
+  else
+    {
       {
-       int rv __attribute__((unused)) =
+       int rv __attribute__ ((unused)) =
          write (2, "Main heap allocation failure!\r\n", 31);
       }
-        return 1;
+      return 1;
     }
 }
 
 static clib_error_t *
 heapsize_config (vlib_main_t * vm, unformat_input_t * input)
 {
-    u32 junk;
-
-    while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat (input, "%dm", &junk)
-            || unformat (input, "%dM", &junk)
-            || unformat (input, "%dg", &junk)
-            || unformat (input, "%dG", &junk))
-            return 0;
-        else
-            return clib_error_return (0, "unknown input '%U'",
-                                      format_unformat_error, input);
+  u32 junk;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "%dm", &junk)
+         || unformat (input, "%dM", &junk)
+         || unformat (input, "%dg", &junk) || unformat (input, "%dG", &junk))
+       return 0;
+      else
+       return clib_error_return (0, "unknown input '%U'",
+                                 format_unformat_error, input);
     }
-    return 0;
+  return 0;
 }
 
 VLIB_CONFIG_FUNCTION (heapsize_config, "heapsize");
@@ -276,68 +291,78 @@ VLIB_CONFIG_FUNCTION (heapsize_config, "heapsize");
 static clib_error_t *
 plugin_path_config (vlib_main_t * vm, unformat_input_t * input)
 {
-    u8 * junk;
-
-    while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-        if (unformat (input, "%s", &junk)) {
-            vec_free(junk);
-            return 0;
-        }
-        else
-            return clib_error_return (0, "unknown input '%U'",
-                                      format_unformat_error, input);
-        }
-    return 0;
+  u8 *junk;
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "%s", &junk))
+       {
+         vec_free (junk);
+         return 0;
+       }
+      else
+       return clib_error_return (0, "unknown input '%U'",
+                                 format_unformat_error, input);
+    }
+  return 0;
 }
 
 VLIB_CONFIG_FUNCTION (plugin_path_config, "plugin_path");
 
-void vl_msg_api_post_mortem_dump(void);
+void vl_msg_api_post_mortem_dump (void);
 
-void os_panic (void) 
-{ 
-    vl_msg_api_post_mortem_dump();
-    abort (); 
+void
+os_panic (void)
+{
+  vl_msg_api_post_mortem_dump ();
+  abort ();
 }
 
-void vhost_user_unmap_all (void) __attribute__((weak));
-void vhost_user_unmap_all (void) { }
+void vhost_user_unmap_all (void) __attribute__ ((weak));
+void
+vhost_user_unmap_all (void)
+{
+}
 
-void os_exit (int code)
-{ 
-    static int recursion_block;
+void
+os_exit (int code)
+{
+  static int recursion_block;
 
-    if (code)
-      {
-        if (recursion_block)
-            abort();
+  if (code)
+    {
+      if (recursion_block)
+       abort ();
 
-        recursion_block = 1;
+      recursion_block = 1;
 
-        vl_msg_api_post_mortem_dump();
-        vhost_user_unmap_all();
-        abort();
-      }
-    exit (code);
+      vl_msg_api_post_mortem_dump ();
+      vhost_user_unmap_all ();
+      abort ();
+    }
+  exit (code);
 }
 
-void vl_msg_api_barrier_sync(void) 
-{ 
-  vlib_worker_thread_barrier_sync (vlib_get_main());
+void
+vl_msg_api_barrier_sync (void)
+{
+  vlib_worker_thread_barrier_sync (vlib_get_main ());
 }
 
-void vl_msg_api_barrier_release(void) 
-{ 
-  vlib_worker_thread_barrier_release (vlib_get_main());
+void
+vl_msg_api_barrier_release (void)
+{
+  vlib_worker_thread_barrier_release (vlib_get_main ());
 }
 
 /* This application needs 1 thread stack for the stats pthread */
-u32 vlib_app_num_thread_stacks_needed (void) 
+u32
+vlib_app_num_thread_stacks_needed (void)
 {
   return 1;
 }
 
-/* 
+/*
  * Depending on the configuration selected above,
  * it may be necessary to generate stub graph nodes.
  * It is never OK to ignore "node 'x' refers to unknown node 'y'
@@ -348,10 +373,9 @@ u32 vlib_app_num_thread_stacks_needed (void)
 
 static clib_error_t *
 test_crash_command_fn (vlib_main_t * vm,
-                       unformat_input_t * input,
-                       vlib_cli_command_t * cmd)
+                      unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-  u64 * p = (u64 *)0xdefec8ed;
+  u64 *p = (u64 *) 0xdefec8ed;
 
   *p = 0xdeadbeef;
 
@@ -359,11 +383,20 @@ test_crash_command_fn (vlib_main_t * vm,
   return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (test_crash_command, static) = {
-    .path = "test crash",
-    .short_help = "crash the bus!",
-    .function = test_crash_command_fn,
+  .path = "test crash",
+  .short_help = "crash the bus!",
+  .function = test_crash_command_fn,
 };
+/* *INDENT-ON* */
 
 #endif
 
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 45c3aeb..6315534 100644 (file)
@@ -45,7 +45,7 @@
 #include <vppinfra/format.h>
 #include <vppinfra/error.h>
 
-#include <vnet/api_errno.h> // alagalah TODO : committers please pay note, is this ok?
+#include <vnet/api_errno.h>
 #include <vnet/vnet.h>
 #include <vnet/l2/l2_input.h>
 #include <vnet/l2/l2_bd.h>
 #define f64_endian(a)
 #define f64_print(a,b)
 
-#define vl_typedefs             /* define message structures */
+#define vl_typedefs            /* define message structures */
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
+#define vl_endianfun           /* define message structures */
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
@@ -155,7 +155,7 @@ do {                                                            \
     vl_msg_api_send_shmem (q, (u8 *)&rmp);                      \
 } while(0);
 
-#if (1 || CLIB_DEBUG > 0)       /* "trust, but verify" */
+#if (1 || CLIB_DEBUG > 0)      /* "trust, but verify" */
 
 #define VALIDATE_SW_IF_INDEX(mp)                               \
  do { u32 __sw_if_index = ntohl(mp->sw_if_index);              \
@@ -214,7 +214,7 @@ bad_tx_sw_if_index:                         \
 #define VALIDATE_TX_SW_IF_INDEX(mp)
 #define BAD_TX_SW_IF_INDEX_LABEL
 
-#endif  /* CLIB_DEBUG > 0 */
+#endif /* CLIB_DEBUG > 0 */
 
 #define foreach_vpe_api_msg                                             \
 _(WANT_INTERFACE_EVENTS, want_interface_events)                         \
@@ -395,63 +395,67 @@ _(to_netconf_client)                            \
 _(from_netconf_client)                          \
 _(oam_events)
 
-typedef enum {
-    RESOLVE_IP4_ADD_DEL_ROUTE=1,
-    RESOLVE_IP6_ADD_DEL_ROUTE,
-    RESOLVE_MPLS_ETHERNET_ADD_DEL,
+typedef enum
+{
+  RESOLVE_IP4_ADD_DEL_ROUTE = 1,
+  RESOLVE_IP6_ADD_DEL_ROUTE,
+  RESOLVE_MPLS_ETHERNET_ADD_DEL,
 } resolve_t;
 
-typedef struct {
-    u8 resolve_type;
-    union {
-        vl_api_ip_add_del_route_t r;
-        vl_api_mpls_ethernet_add_del_tunnel_2_t t;
-    };
+typedef struct
+{
+  u8 resolve_type;
+  union
+  {
+    vl_api_ip_add_del_route_t r;
+    vl_api_mpls_ethernet_add_del_tunnel_2_t t;
+  };
 } pending_route_t;
 
-typedef struct {
+typedef struct
+{
 
 #define _(a) uword *a##_registration_hash;              \
     vpe_client_registration_t * a##_registrations;
-foreach_registration_hash
+  foreach_registration_hash
 #undef _
-
     /* notifications happen really early in the game */
-    u8 link_state_process_up;
+  u8 link_state_process_up;
 
-    /* ip4 pending route adds */
-    pending_route_t * pending_routes;
+  /* ip4 pending route adds */
+  pending_route_t *pending_routes;
 
-    /* ip4 arp event registration pool */
-    vl_api_ip4_arp_event_t * arp_events;
+  /* ip4 arp event registration pool */
+  vl_api_ip4_arp_event_t *arp_events;
 
-    /* convenience */
-    vlib_main_t * vlib_main;
-    vnet_main_t * vnet_main;
+  /* convenience */
+  vlib_main_t *vlib_main;
+  vnet_main_t *vnet_main;
 } vpe_api_main_t;
 
 static vlib_node_registration_t vpe_resolver_process_node;
 static vpe_api_main_t vpe_api_main;
 
 static void send_sw_interface_flags (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t *q,
-                                     vnet_sw_interface_t * swif);
+                                    unix_shared_memory_queue_t * q,
+                                    vnet_sw_interface_t * swif);
 static void send_sw_interface_flags_deleted (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t *q,
-                                     u32 sw_if_index);
+                                            unix_shared_memory_queue_t * q,
+                                            u32 sw_if_index);
 
 static int arp_change_delete_callback (u32 pool_index, u8 * notused);
 
 
 /* Clean up all registrations belonging to the indicated client */
-int vl_api_memclnt_delete_callback (u32 client_index)
+int
+vl_api_memclnt_delete_callback (u32 client_index)
 {
-    vpe_api_main_t * vam = &vpe_api_main;
-    vpe_client_registration_t *rp;
-    uword * p;
-    int stats_memclnt_delete_callback (u32 client_index);
+  vpe_api_main_t *vam = &vpe_api_main;
+  vpe_client_registration_t *rp;
+  uword *p;
+  int stats_memclnt_delete_callback (u32 client_index);
 
-    stats_memclnt_delete_callback (client_index);
+  stats_memclnt_delete_callback (client_index);
 
 #define _(a)                                                    \
     p = hash_get (vam->a##_registration_hash, client_index);    \
@@ -460,123 +464,127 @@ int vl_api_memclnt_delete_callback (u32 client_index)
         pool_put (vam->a##_registrations, rp);                  \
         hash_unset (vam->a##_registration_hash, client_index);  \
     }
-    foreach_registration_hash;
+  foreach_registration_hash;
 #undef _
-    return 0;
+  return 0;
 }
 
 #define API_LINK_STATE_EVENT 1
 #define API_ADMIN_UP_DOWN_EVENT 2
 
 static int
-event_data_cmp (void * a1, void * a2)
+event_data_cmp (void *a1, void *a2)
 {
-  uword * e1 = a1;
-  uword * e2 = a2;
+  uword *e1 = a1;
+  uword *e2 = a2;
 
   return (word) e1[0] - (word) e2[0];
 }
 
 static uword
 link_state_process (vlib_main_t * vm,
-                    vlib_node_runtime_t * rt,
-                    vlib_frame_t * f)
-{
-    vpe_api_main_t * vam = &vpe_api_main;
-    vnet_main_t * vnm = vam->vnet_main;
-    vnet_sw_interface_t * swif;
-    uword * event_data = 0;
-    vpe_client_registration_t *reg;
-    int i;
-    u32 prev_sw_if_index;
-    unix_shared_memory_queue_t * q;
-
-    vam->link_state_process_up = 1;
-
-    while (1) {
-       vlib_process_wait_for_event (vm);
-
-        /* Unified list of changed link or admin state sw_if_indices */
-        vlib_process_get_events_with_type
-            (vm, &event_data, API_LINK_STATE_EVENT);
-        vlib_process_get_events_with_type
-            (vm, &event_data, API_ADMIN_UP_DOWN_EVENT);
-
-        /* Sort, so we can eliminate duplicates */
-        vec_sort_with_function (event_data, event_data_cmp);
-
-        prev_sw_if_index = ~0;
-
-        for (i = 0; i < vec_len(event_data); i++) {
-            /* Only one message per swif */
-            if (prev_sw_if_index == event_data[i])
-                continue;
-            prev_sw_if_index = event_data[i];
-
-            pool_foreach(reg, vam->interface_events_registrations,
-            ({
-                q = vl_api_client_index_to_input_queue (reg->client_index);
-                if (q) {
-                    // sw_interface may be deleted already
-                    if (!pool_is_free_index (vnm->interface_main.sw_interfaces,
-                            event_data[i]))
-                    {
-                        swif = vnet_get_sw_interface (vnm, event_data[i]);
-                        send_sw_interface_flags (vam, q, swif);
-                    }
-                }
-            }));
-        }
-        vec_reset_length (event_data);
-    }
-
-    return 0;
+                   vlib_node_runtime_t * rt, vlib_frame_t * f)
+{
+  vpe_api_main_t *vam = &vpe_api_main;
+  vnet_main_t *vnm = vam->vnet_main;
+  vnet_sw_interface_t *swif;
+  uword *event_data = 0;
+  vpe_client_registration_t *reg;
+  int i;
+  u32 prev_sw_if_index;
+  unix_shared_memory_queue_t *q;
+
+  vam->link_state_process_up = 1;
+
+  while (1)
+    {
+      vlib_process_wait_for_event (vm);
+
+      /* Unified list of changed link or admin state sw_if_indices */
+      vlib_process_get_events_with_type
+       (vm, &event_data, API_LINK_STATE_EVENT);
+      vlib_process_get_events_with_type
+       (vm, &event_data, API_ADMIN_UP_DOWN_EVENT);
+
+      /* Sort, so we can eliminate duplicates */
+      vec_sort_with_function (event_data, event_data_cmp);
+
+      prev_sw_if_index = ~0;
+
+      for (i = 0; i < vec_len (event_data); i++)
+       {
+         /* Only one message per swif */
+         if (prev_sw_if_index == event_data[i])
+           continue;
+         prev_sw_if_index = event_data[i];
+
+          /* *INDENT-OFF* */
+          pool_foreach(reg, vam->interface_events_registrations,
+          ({
+            q = vl_api_client_index_to_input_queue (reg->client_index);
+            if (q)
+              {
+                /* sw_interface may be deleted already */
+                if (!pool_is_free_index (vnm->interface_main.sw_interfaces,
+                                         event_data[i]))
+                  {
+                    swif = vnet_get_sw_interface (vnm, event_data[i]);
+                    send_sw_interface_flags (vam, q, swif);
+                  }
+              }
+          }));
+          /* *INDENT-ON* */
+       }
+      vec_reset_length (event_data);
+    }
+
+  return 0;
 }
 
-static clib_error_t *
-link_up_down_function (vnet_main_t *vm, u32 hw_if_index, u32 flags);
-static clib_error_t *
-admin_up_down_function (vnet_main_t *vm, u32 hw_if_index, u32 flags);
+static clib_error_t *link_up_down_function (vnet_main_t * vm, u32 hw_if_index,
+                                           u32 flags);
+static clib_error_t *admin_up_down_function (vnet_main_t * vm,
+                                            u32 hw_if_index, u32 flags);
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (link_state_process_node,static) = {
-    .function = link_state_process,
-    .type = VLIB_NODE_TYPE_PROCESS,
-    .name = "vpe-link-state-process",
+  .function = link_state_process,
+  .type = VLIB_NODE_TYPE_PROCESS,
+  .name = "vpe-link-state-process",
 };
+/* *INDENT-ON* */
 
 VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (admin_up_down_function);
 VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (link_up_down_function);
 
 static clib_error_t *
-link_up_down_function (vnet_main_t *vm, u32 hw_if_index, u32 flags)
+link_up_down_function (vnet_main_t * vm, u32 hw_if_index, u32 flags)
 {
-    vpe_api_main_t * vam = &vpe_api_main;
-    vnet_hw_interface_t *hi = vnet_get_hw_interface (vm, hw_if_index);
+  vpe_api_main_t *vam = &vpe_api_main;
+  vnet_hw_interface_t *hi = vnet_get_hw_interface (vm, hw_if_index);
 
-    if (vam->link_state_process_up)
-        vlib_process_signal_event (vam->vlib_main,
-                                   link_state_process_node.index,
-                                   API_LINK_STATE_EVENT,
-                                   hi->sw_if_index);
-    return 0;
+  if (vam->link_state_process_up)
+    vlib_process_signal_event (vam->vlib_main,
+                              link_state_process_node.index,
+                              API_LINK_STATE_EVENT, hi->sw_if_index);
+  return 0;
 }
 
 static clib_error_t *
-admin_up_down_function (vnet_main_t *vm, u32 sw_if_index, u32 flags)
-{
-    vpe_api_main_t * vam = &vpe_api_main;
-
-    /*
-     * Note: it's perfectly fair to set a subif admin up / admin down.
-     * Note the subtle distinction between this routine and the previous
-     * routine.
-     */
-    if (vam->link_state_process_up)
-        vlib_process_signal_event (vam->vlib_main,
-                                   link_state_process_node.index,
-                                   API_ADMIN_UP_DOWN_EVENT,
-                                   sw_if_index);
-    return 0;
+admin_up_down_function (vnet_main_t * vm, u32 sw_if_index, u32 flags)
+{
+  vpe_api_main_t *vam = &vpe_api_main;
+
+  /*
+   * Note: it's perfectly fair to set a subif admin up / admin down.
+   * Note the subtle distinction between this routine and the previous
+   * routine.
+   */
+  if (vam->link_state_process_up)
+    vlib_process_signal_event (vam->vlib_main,
+                              link_state_process_node.index,
+                              API_ADMIN_UP_DOWN_EVENT, sw_if_index);
+  return 0;
 }
 
 #define pub_sub_handler(lca,UCA)                                        \
@@ -618,1442 +626,1545 @@ reply:                                                                  \
     REPLY_MACRO (VL_API_WANT_##UCA##_REPLY);                            \
 }
 
-pub_sub_handler (interface_events,INTERFACE_EVENTS)
-pub_sub_handler (oam_events,OAM_EVENTS)
-
+pub_sub_handler (interface_events, INTERFACE_EVENTS)
+pub_sub_handler (oam_events, OAM_EVENTS)
 #define RESOLUTION_EVENT 1
 #define RESOLUTION_PENDING_EVENT 2
 #define IP4_ARP_EVENT 3
+     static int ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp);
+     static int ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp);
+     static int mpls_ethernet_add_del_tunnel_2_t_handler
+       (vl_api_mpls_ethernet_add_del_tunnel_2_t * mp);
+
+     void handle_ip4_arp_event (u32 pool_index)
+{
+  vpe_api_main_t *vam = &vpe_api_main;
+  vnet_main_t *vnm = vam->vnet_main;
+  vlib_main_t *vm = vam->vlib_main;
+  vl_api_ip4_arp_event_t *event;
+  vl_api_ip4_arp_event_t *mp;
+  unix_shared_memory_queue_t *q;
+
+  /* Client can cancel, die, etc. */
+  if (pool_is_free_index (vam->arp_events, pool_index))
+    return;
 
-static int ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp);
-static int ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp);
-static int mpls_ethernet_add_del_tunnel_2_t_handler
-(vl_api_mpls_ethernet_add_del_tunnel_2_t *mp);
-
-void handle_ip4_arp_event (u32 pool_index)
-{
-    vpe_api_main_t * vam = &vpe_api_main;
-    vnet_main_t * vnm = vam->vnet_main;
-    vlib_main_t * vm = vam->vlib_main;
-    vl_api_ip4_arp_event_t * event;
-    vl_api_ip4_arp_event_t * mp;
-    unix_shared_memory_queue_t * q;
-
-    /* Client can cancel, die, etc. */
-    if (pool_is_free_index (vam->arp_events, pool_index))
-        return;
-
-    event = pool_elt_at_index (vam->arp_events, pool_index);
+  event = pool_elt_at_index (vam->arp_events, pool_index);
 
-    q = vl_api_client_index_to_input_queue (event->client_index);
-    if (!q) {
-        (void) vnet_add_del_ip4_arp_change_event
-            (vnm, arp_change_delete_callback,
-             event->pid, &event->address,
-             vpe_resolver_process_node.index, IP4_ARP_EVENT,
-             ~0 /* pool index, notused */, 0 /* is_add */);
-        return;
+  q = vl_api_client_index_to_input_queue (event->client_index);
+  if (!q)
+    {
+      (void) vnet_add_del_ip4_arp_change_event
+       (vnm, arp_change_delete_callback,
+        event->pid, &event->address,
+        vpe_resolver_process_node.index, IP4_ARP_EVENT,
+        ~0 /* pool index, notused */ , 0 /* is_add */ );
+      return;
     }
 
-    if (q->cursize < q->maxsize) {
-        mp =  vl_msg_api_alloc (sizeof (*mp));
-        clib_memcpy (mp, event, sizeof (*mp));
-        vl_msg_api_send_shmem (q, (u8 *)&mp);
-    } else {
-        static f64 last_time;
-        /*
-         * Throttle syslog msgs.
-         * It's pretty tempting to just revoke the registration...
-         */
-        if (vlib_time_now (vm) > last_time + 10.0) {
-            clib_warning ("arp event for %U to pid %d: queue stuffed!",
-                          format_ip4_address, &event->address, event->pid);
-            last_time = vlib_time_now(vm);
-        }
+  if (q->cursize < q->maxsize)
+    {
+      mp = vl_msg_api_alloc (sizeof (*mp));
+      clib_memcpy (mp, event, sizeof (*mp));
+      vl_msg_api_send_shmem (q, (u8 *) & mp);
+    }
+  else
+    {
+      static f64 last_time;
+      /*
+       * Throttle syslog msgs.
+       * It's pretty tempting to just revoke the registration...
+       */
+      if (vlib_time_now (vm) > last_time + 10.0)
+       {
+         clib_warning ("arp event for %U to pid %d: queue stuffed!",
+                       format_ip4_address, &event->address, event->pid);
+         last_time = vlib_time_now (vm);
+       }
     }
 }
 
 static uword
 resolver_process (vlib_main_t * vm,
-                    vlib_node_runtime_t * rt,
-                    vlib_frame_t * f)
-{
-    uword event_type;
-    uword *event_data = 0;
-    f64 timeout = 100.0;
-    vpe_api_main_t * vam = &vpe_api_main;
-    pending_route_t * pr;
-    vl_api_ip_add_del_route_t * adr;
-    vl_api_mpls_ethernet_add_del_tunnel_2_t *pme;
-    u32 * resolution_failures = 0;
-    int i, rv;
-    clib_error_t * e;
-
-    while (1) {
-        vlib_process_wait_for_event_or_clock (vm, timeout);
-
-        event_type = vlib_process_get_events (vm, &event_data);
-
-        switch (event_type) {
-        case RESOLUTION_PENDING_EVENT:
-            timeout = 1.0;
-            break;
-
-        case RESOLUTION_EVENT:
-            for (i = 0; i < vec_len(event_data); i++) {
-                /*
-                 * Resolution events can occur long after the
-                 * original request has timed out. $$$ add a cancel
-                 * mechanism..
-                 */
-                if (pool_is_free_index (vam->pending_routes, event_data[i]))
-                    continue;
-
-                pr = pool_elt_at_index (vam->pending_routes, event_data[i]);
-                adr = &pr->r;
-                pme = &pr->t;
-
-                switch (pr->resolve_type) {
-                case RESOLVE_IP4_ADD_DEL_ROUTE:
-                    rv = ip4_add_del_route_t_handler (adr);
-                    clib_warning ("resolver: add %U/%d via %U %s",
-                                  format_ip4_address,
-                                  (ip4_address_t *)&(adr->dst_address),
-                                  adr->dst_address_length,
-                                  format_ip4_address,
-                                  (ip4_address_t *)&(adr->next_hop_address),
-                                  (rv >= 0) ? "succeeded" : "failed");
-                    break;
-
-                case RESOLVE_IP6_ADD_DEL_ROUTE:
-                    rv = ip6_add_del_route_t_handler (adr);
-                    clib_warning ("resolver: add %U/%d via %U %s",
-                                  format_ip6_address,
-                                  (ip6_address_t *)&(adr->dst_address),
-                                  adr->dst_address_length,
-                                  format_ip6_address,
-                                  (ip6_address_t *)&(adr->next_hop_address),
-                                  (rv >= 0) ? "succeeded" : "failed");
-                    break;
-
-                case RESOLVE_MPLS_ETHERNET_ADD_DEL:
-                    rv = mpls_ethernet_add_del_tunnel_2_t_handler (pme);
-                    clib_warning ("resolver: add mpls-o-e via %U %s",
-                                  format_ip4_address,
-            (ip4_address_t *)&(pme->next_hop_ip4_address_in_outer_vrf),
-                                  (rv >= 0) ? "succeeded" : "failed");
-                    break;
-
-                default:
-                    clib_warning ("resolver: BOGUS TYPE %d", pr->resolve_type);
-                }
-                pool_put (vam->pending_routes, pr);
-            }
-            break;
-
-        case IP4_ARP_EVENT:
-            for (i = 0; i < vec_len(event_data); i++)
-                handle_ip4_arp_event (event_data[i]);
-            break;
-
-        case ~0:                /* timeout, retry pending resolutions */
-            pool_foreach (pr, vam->pending_routes,
-            ({
-                int is_adr = 1;
-                adr = &pr->r;
-                pme = &pr->t;
-
-                /* May fail, e.g. due to interface down */
-                switch (pr->resolve_type) {
-                case RESOLVE_IP4_ADD_DEL_ROUTE:
-                    e = ip4_probe_neighbor
-                        (vm, (ip4_address_t *)&(adr->next_hop_address),
-                         ntohl(adr->next_hop_sw_if_index));
-                    break;
-
-                case RESOLVE_IP6_ADD_DEL_ROUTE:
-                    e = ip6_probe_neighbor
-                        (vm, (ip6_address_t *)&(adr->next_hop_address),
-                         ntohl(adr->next_hop_sw_if_index));
-                    break;
-
-                case RESOLVE_MPLS_ETHERNET_ADD_DEL:
-                    is_adr = 0;
-                    e = ip4_probe_neighbor
-                        (vm,
-            (ip4_address_t *)&(pme->next_hop_ip4_address_in_outer_vrf),
-                         pme->resolve_opaque);
-                    break;
-
-                default:
-                    e = clib_error_return (0, "resolver: BOGUS TYPE %d",
-                                           pr->resolve_type);
-                }
-                if (e) {
-                    clib_error_report (e);
-                    if (is_adr)
-                        adr->resolve_attempts = 1;
-                    else
-                        pme->resolve_attempts = 1;
-
-                }
-                if (is_adr) {
-                    adr->resolve_attempts -= 1;
-                    if (adr->resolve_attempts == 0)
-                        vec_add1 (resolution_failures,
-                                  pr - vam->pending_routes);
-                } else {
-                    pme->resolve_attempts -= 1;
-                    if (pme->resolve_attempts == 0)
-                        vec_add1 (resolution_failures,
-                                  pr - vam->pending_routes);
-                }
-
-            }));
-            for (i = 0; i < vec_len (resolution_failures); i++) {
-                pr = pool_elt_at_index (vam->pending_routes,
-                                        resolution_failures[i]);
-                adr = &pr->r;
-                pme = &pr->t;
-
-                switch (pr->resolve_type) {
-                case RESOLVE_IP4_ADD_DEL_ROUTE:
-                    clib_warning ("resolver: add %U/%d via %U retry failure",
-                                  format_ip4_address,
-                                  (ip4_address_t *)&(adr->dst_address),
-                                  adr->dst_address_length,
-                                  format_ip4_address,
-                                  (ip4_address_t *)&(adr->next_hop_address));
-                    break;
-
-                case RESOLVE_IP6_ADD_DEL_ROUTE:
-                    clib_warning ("resolver: add %U/%d via %U retry failure",
-                                  format_ip6_address,
-                                  (ip6_address_t *)&(adr->dst_address),
-                                  adr->dst_address_length,
-                                  format_ip6_address,
-                                  (ip6_address_t *)&(adr->next_hop_address));
-                    break;
-
-                case RESOLVE_MPLS_ETHERNET_ADD_DEL:
-                    clib_warning ("resolver: add mpls-o-e via %U retry failure",
-                                  format_ip4_address,
-                   (ip4_address_t *)&(pme->next_hop_ip4_address_in_outer_vrf));
-                    break;
-
-                default:
-                    clib_warning ("BUG");
-                }
-                pool_put(vam->pending_routes, pr);
-            }
-            vec_reset_length (resolution_failures);
-            break;
-        }
-        if (pool_elts (vam->pending_routes) == 0)
-            timeout = 100.0;
-        vec_reset_length (event_data);
-    }
-    return 0; /* or not */
+                 vlib_node_runtime_t * rt, vlib_frame_t * f)
+{
+  uword event_type;
+  uword *event_data = 0;
+  f64 timeout = 100.0;
+  vpe_api_main_t *vam = &vpe_api_main;
+  pending_route_t *pr;
+  vl_api_ip_add_del_route_t *adr;
+  vl_api_mpls_ethernet_add_del_tunnel_2_t *pme;
+  u32 *resolution_failures = 0;
+  int i, rv;
+  clib_error_t *e;
+
+  while (1)
+    {
+      vlib_process_wait_for_event_or_clock (vm, timeout);
+
+      event_type = vlib_process_get_events (vm, &event_data);
+
+      switch (event_type)
+       {
+       case RESOLUTION_PENDING_EVENT:
+         timeout = 1.0;
+         break;
+
+       case RESOLUTION_EVENT:
+         for (i = 0; i < vec_len (event_data); i++)
+           {
+             /*
+              * Resolution events can occur long after the
+              * original request has timed out. $$$ add a cancel
+              * mechanism..
+              */
+             if (pool_is_free_index (vam->pending_routes, event_data[i]))
+               continue;
+
+             pr = pool_elt_at_index (vam->pending_routes, event_data[i]);
+             adr = &pr->r;
+             pme = &pr->t;
+
+             switch (pr->resolve_type)
+               {
+               case RESOLVE_IP4_ADD_DEL_ROUTE:
+                 rv = ip4_add_del_route_t_handler (adr);
+                 clib_warning ("resolver: add %U/%d via %U %s",
+                               format_ip4_address,
+                               (ip4_address_t *) & (adr->dst_address),
+                               adr->dst_address_length,
+                               format_ip4_address,
+                               (ip4_address_t *) & (adr->next_hop_address),
+                               (rv >= 0) ? "succeeded" : "failed");
+                 break;
+
+               case RESOLVE_IP6_ADD_DEL_ROUTE:
+                 rv = ip6_add_del_route_t_handler (adr);
+                 clib_warning ("resolver: add %U/%d via %U %s",
+                               format_ip6_address,
+                               (ip6_address_t *) & (adr->dst_address),
+                               adr->dst_address_length,
+                               format_ip6_address,
+                               (ip6_address_t *) & (adr->next_hop_address),
+                               (rv >= 0) ? "succeeded" : "failed");
+                 break;
+
+               case RESOLVE_MPLS_ETHERNET_ADD_DEL:
+                 rv = mpls_ethernet_add_del_tunnel_2_t_handler (pme);
+                 clib_warning ("resolver: add mpls-o-e via %U %s",
+                               format_ip4_address,
+                               (ip4_address_t *) &
+                               (pme->next_hop_ip4_address_in_outer_vrf),
+                               (rv >= 0) ? "succeeded" : "failed");
+                 break;
+
+               default:
+                 clib_warning ("resolver: BOGUS TYPE %d", pr->resolve_type);
+               }
+             pool_put (vam->pending_routes, pr);
+           }
+         break;
+
+       case IP4_ARP_EVENT:
+         for (i = 0; i < vec_len (event_data); i++)
+           handle_ip4_arp_event (event_data[i]);
+         break;
+
+       case ~0:                /* timeout, retry pending resolutions */
+          /* *INDENT-OFF* */
+          pool_foreach (pr, vam->pending_routes,
+          ({
+            int is_adr = 1;
+            adr = &pr->r;
+            pme = &pr->t;
+
+            /* May fail, e.g. due to interface down */
+            switch (pr->resolve_type)
+              {
+              case RESOLVE_IP4_ADD_DEL_ROUTE:
+                e = ip4_probe_neighbor
+                  (vm, (ip4_address_t *)&(adr->next_hop_address),
+                   ntohl(adr->next_hop_sw_if_index));
+                break;
+
+              case RESOLVE_IP6_ADD_DEL_ROUTE:
+                e = ip6_probe_neighbor
+                  (vm, (ip6_address_t *)&(adr->next_hop_address),
+                   ntohl(adr->next_hop_sw_if_index));
+                break;
+
+              case RESOLVE_MPLS_ETHERNET_ADD_DEL:
+                is_adr = 0;
+                e = ip4_probe_neighbor
+                  (vm,
+                   (ip4_address_t *)&(pme->next_hop_ip4_address_in_outer_vrf),
+                   pme->resolve_opaque);
+                break;
+
+              default:
+                e = clib_error_return (0, "resolver: BOGUS TYPE %d",
+                                       pr->resolve_type);
+              }
+            if (e)
+              {
+                clib_error_report (e);
+                if (is_adr)
+                  adr->resolve_attempts = 1;
+                else
+                  pme->resolve_attempts = 1;
+              }
+            if (is_adr)
+              {
+                adr->resolve_attempts -= 1;
+                if (adr->resolve_attempts == 0)
+                  vec_add1 (resolution_failures,
+                            pr - vam->pending_routes);
+              }
+            else
+              {
+                pme->resolve_attempts -= 1;
+                if (pme->resolve_attempts == 0)
+                  vec_add1 (resolution_failures,
+                            pr - vam->pending_routes);
+              }
+          }));
+          /* *INDENT-ON* */
+         for (i = 0; i < vec_len (resolution_failures); i++)
+           {
+             pr = pool_elt_at_index (vam->pending_routes,
+                                     resolution_failures[i]);
+             adr = &pr->r;
+             pme = &pr->t;
+
+             switch (pr->resolve_type)
+               {
+               case RESOLVE_IP4_ADD_DEL_ROUTE:
+                 clib_warning ("resolver: add %U/%d via %U retry failure",
+                               format_ip4_address,
+                               (ip4_address_t *) & (adr->dst_address),
+                               adr->dst_address_length,
+                               format_ip4_address,
+                               (ip4_address_t *) & (adr->next_hop_address));
+                 break;
+
+               case RESOLVE_IP6_ADD_DEL_ROUTE:
+                 clib_warning ("resolver: add %U/%d via %U retry failure",
+                               format_ip6_address,
+                               (ip6_address_t *) & (adr->dst_address),
+                               adr->dst_address_length,
+                               format_ip6_address,
+                               (ip6_address_t *) & (adr->next_hop_address));
+                 break;
+
+               case RESOLVE_MPLS_ETHERNET_ADD_DEL:
+                 clib_warning ("resolver: add mpls-o-e via %U retry failure",
+                               format_ip4_address,
+                               (ip4_address_t *) &
+                               (pme->next_hop_ip4_address_in_outer_vrf));
+                 break;
+
+               default:
+                 clib_warning ("BUG");
+               }
+             pool_put (vam->pending_routes, pr);
+           }
+         vec_reset_length (resolution_failures);
+         break;
+       }
+      if (pool_elts (vam->pending_routes) == 0)
+       timeout = 100.0;
+      vec_reset_length (event_data);
+    }
+  return 0;                    /* or not */
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (vpe_resolver_process_node,static) = {
-    .function = resolver_process,
-    .type = VLIB_NODE_TYPE_PROCESS,
-    .name = "vpe-route-resolver-process",
+  .function = resolver_process,
+  .type = VLIB_NODE_TYPE_PROCESS,
+  .name = "vpe-route-resolver-process",
 };
+/* *INDENT-ON* */
 
-static int ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp)
-{
-    ip4_main_t * im = &ip4_main;
-    ip_lookup_main_t * lm = &im->lookup_main;
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    stats_main_t * sm = &stats_main;
-    ip4_add_del_route_args_t a;
-    ip4_address_t next_hop_address;
-    u32 fib_index;
-    vpe_api_main_t * vam = &vpe_api_main;
-    vnet_main_t * vnm = vam->vnet_main;
-    vlib_main_t * vm = vlib_get_main();
-    pending_route_t * pr;
-    vl_api_ip_add_del_route_t * adr;
-    uword * p;
-    clib_error_t * e;
-    u32 ai;
-    ip_adjacency_t *adj;
-
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->vrf_id));
-    if (!p) {
-        if (mp->create_vrf_if_needed) {
-            ip4_fib_t * f;
-            f = find_ip4_fib_by_table_index_or_id (im, ntohl(mp->vrf_id),
-                                                   0 /* flags */);
-            fib_index = f->index;
-        } else {
-            /* No such VRF, and we weren't asked to create one */
-            return VNET_API_ERROR_NO_SUCH_FIB;
-        }
-    } else {
-        fib_index = p[0];
-    }
-
-    if (~0 != mp->next_hop_sw_if_index &&
-       pool_is_free_index (vnm->interface_main.sw_interfaces,
-                            ntohl(mp->next_hop_sw_if_index)))
-        return VNET_API_ERROR_NO_MATCHING_INTERFACE;
-
-    clib_memcpy (next_hop_address.data, mp->next_hop_address,
-            sizeof (next_hop_address.data));
-
-    /* Arp for the next_hop if necessary */
-    if (mp->is_add && mp->resolve_if_needed && ~0 != mp->next_hop_sw_if_index) {
-        u32 lookup_result;
-        ip_adjacency_t * adj;
-
-        lookup_result = ip4_fib_lookup_with_table
-            (im, fib_index, &next_hop_address, 1 /* disable default route */);
-
-        adj = ip_get_adjacency (lm, lookup_result);
-
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) {
-            pool_get (vam->pending_routes, pr);
-            pr->resolve_type = RESOLVE_IP4_ADD_DEL_ROUTE;
-            adr = &pr->r;
-            clib_memcpy (adr, mp, sizeof (*adr));
-            /* recursion block, "just in case" */
-            adr->resolve_if_needed = 0;
-            adr->resolve_attempts = ntohl(mp->resolve_attempts);
-            vnet_register_ip4_arp_resolution_event
-                (vnm, &next_hop_address, vpe_resolver_process_node.index,
-                 RESOLUTION_EVENT, pr - vam->pending_routes);
-
-            vlib_process_signal_event
-                (vm, vpe_resolver_process_node.index,
-                 RESOLUTION_PENDING_EVENT, 0 /* data */);
-
-            /* The interface may be down, etc. */
-            e = ip4_probe_neighbor
-                (vm, (ip4_address_t *)&(mp->next_hop_address),
-                 ntohl(mp->next_hop_sw_if_index));
+static int
+ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp)
+{
+  ip4_main_t *im = &ip4_main;
+  ip_lookup_main_t *lm = &im->lookup_main;
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  stats_main_t *sm = &stats_main;
+  ip4_add_del_route_args_t a;
+  ip4_address_t next_hop_address;
+  u32 fib_index;
+  vpe_api_main_t *vam = &vpe_api_main;
+  vnet_main_t *vnm = vam->vnet_main;
+  vlib_main_t *vm = vlib_get_main ();
+  pending_route_t *pr;
+  vl_api_ip_add_del_route_t *adr;
+  uword *p;
+  clib_error_t *e;
+  u32 ai;
+  ip_adjacency_t *adj;
 
-            if (e)
-                clib_error_report(e);
-
-            return VNET_API_ERROR_IN_PROGRESS;
-        }
-    }
-
-    if (mp->is_multipath) {
-        u32 flags;
-
-        dslock (sm, 1 /* release hint */, 10 /* tag */);
-
-        if (mp->is_add)
-           flags = IP4_ROUTE_FLAG_ADD;
-        else
-           flags = IP4_ROUTE_FLAG_DEL;
-
-        if (mp->not_last)
-            flags |= IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP;
-
-        ip4_add_del_route_next_hop (im, flags,
-                                    (ip4_address_t *) mp->dst_address,
-                                    (u32) mp->dst_address_length,
-                                    (ip4_address_t *) mp->next_hop_address,
-                                    ntohl(mp->next_hop_sw_if_index),
-                                    (u32) mp->next_hop_weight,
-                                    ~0 /* adj_index */,
-                                    fib_index);
-        dsunlock(sm);
-        return 0;
-    }
-
-    memset (&a, 0, sizeof (a));
-    clib_memcpy (a.dst_address.data, mp->dst_address, sizeof (a.dst_address.data));
-
-    a.dst_address_length = mp->dst_address_length;
-
-    a.flags = (mp->is_add ? IP4_ROUTE_FLAG_ADD : IP4_ROUTE_FLAG_DEL);
-    a.flags |= IP4_ROUTE_FLAG_FIB_INDEX;
-    a.table_index_or_table_id = fib_index;
-    a.add_adj = 0;
-    a.n_add_adj = 0;
-
-    if (mp->not_last)
-       a.flags |= IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP;
-
-    dslock (sm, 1 /* release hint */, 2 /* tag */);
-
-    if (mp->is_add) {
-        if (mp->is_drop)
-            ai = lm->drop_adj_index;
-        else if (mp->is_local)
-            ai = lm->local_adj_index;
-        else if (mp->is_classify) {
-           if (pool_is_free_index (cm->tables, ntohl(mp->classify_table_index))) {
-                dsunlock(sm);
-                return VNET_API_ERROR_NO_SUCH_TABLE;
-            }
-           adj = ip_add_adjacency (lm,
-                                   /* template */ 0,
-                                   /* block size */ 1,
-                                   &ai);
-
-            adj->lookup_next_index = IP_LOOKUP_NEXT_CLASSIFY;
-            adj->classify.table_index = ntohl(mp->classify_table_index);
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->vrf_id));
+  if (!p)
+    {
+      if (mp->create_vrf_if_needed)
+       {
+         ip4_fib_t *f;
+         f = find_ip4_fib_by_table_index_or_id (im, ntohl (mp->vrf_id),
+                                                0 /* flags */ );
+         fib_index = f->index;
        }
-        else if (mp->lookup_in_vrf) {
-            p = hash_get (im->fib_index_by_table_id, ntohl(mp->lookup_in_vrf));
-            if (p) {
-               adj = ip_add_adjacency (lm,
-                                       /* template */ 0,
-                                       /* block size */ 1,
-                                       &ai);
-                adj->explicit_fib_index = p[0];
+      else
+       {
+         /* No such VRF, and we weren't asked to create one */
+         return VNET_API_ERROR_NO_SUCH_FIB;
+       }
+    }
+  else
+    {
+      fib_index = p[0];
+    }
+
+  if (~0 != mp->next_hop_sw_if_index &&
+      pool_is_free_index (vnm->interface_main.sw_interfaces,
+                         ntohl (mp->next_hop_sw_if_index)))
+    return VNET_API_ERROR_NO_MATCHING_INTERFACE;
+
+  clib_memcpy (next_hop_address.data, mp->next_hop_address,
+              sizeof (next_hop_address.data));
+
+  /* Arp for the next_hop if necessary */
+  if (mp->is_add && mp->resolve_if_needed && ~0 != mp->next_hop_sw_if_index)
+    {
+      u32 lookup_result;
+      ip_adjacency_t *adj;
+
+      lookup_result = ip4_fib_lookup_with_table
+       (im, fib_index, &next_hop_address, 1 /* disable default route */ );
+
+      adj = ip_get_adjacency (lm, lookup_result);
+
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP)
+       {
+         pool_get (vam->pending_routes, pr);
+         pr->resolve_type = RESOLVE_IP4_ADD_DEL_ROUTE;
+         adr = &pr->r;
+         clib_memcpy (adr, mp, sizeof (*adr));
+         /* recursion block, "just in case" */
+         adr->resolve_if_needed = 0;
+         adr->resolve_attempts = ntohl (mp->resolve_attempts);
+         vnet_register_ip4_arp_resolution_event
+           (vnm, &next_hop_address, vpe_resolver_process_node.index,
+            RESOLUTION_EVENT, pr - vam->pending_routes);
+
+         vlib_process_signal_event
+           (vm, vpe_resolver_process_node.index,
+            RESOLUTION_PENDING_EVENT, 0 /* data */ );
+
+         /* The interface may be down, etc. */
+         e = ip4_probe_neighbor
+           (vm, (ip4_address_t *) & (mp->next_hop_address),
+            ntohl (mp->next_hop_sw_if_index));
+
+         if (e)
+           clib_error_report (e);
+
+         return VNET_API_ERROR_IN_PROGRESS;
+       }
+    }
+
+  if (mp->is_multipath)
+    {
+      u32 flags;
+
+      dslock (sm, 1 /* release hint */ , 10 /* tag */ );
+
+      if (mp->is_add)
+       flags = IP4_ROUTE_FLAG_ADD;
+      else
+       flags = IP4_ROUTE_FLAG_DEL;
+
+      if (mp->not_last)
+       flags |= IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP;
+
+      ip4_add_del_route_next_hop (im, flags,
+                                 (ip4_address_t *) mp->dst_address,
+                                 (u32) mp->dst_address_length,
+                                 (ip4_address_t *) mp->next_hop_address,
+                                 ntohl (mp->next_hop_sw_if_index),
+                                 (u32) mp->next_hop_weight,
+                                 ~0 /* adj_index */ ,
+                                 fib_index);
+      dsunlock (sm);
+      return 0;
+    }
+
+  memset (&a, 0, sizeof (a));
+  clib_memcpy (a.dst_address.data, mp->dst_address,
+              sizeof (a.dst_address.data));
+
+  a.dst_address_length = mp->dst_address_length;
+
+  a.flags = (mp->is_add ? IP4_ROUTE_FLAG_ADD : IP4_ROUTE_FLAG_DEL);
+  a.flags |= IP4_ROUTE_FLAG_FIB_INDEX;
+  a.table_index_or_table_id = fib_index;
+  a.add_adj = 0;
+  a.n_add_adj = 0;
+
+  if (mp->not_last)
+    a.flags |= IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP;
+
+  dslock (sm, 1 /* release hint */ , 2 /* tag */ );
+
+  if (mp->is_add)
+    {
+      if (mp->is_drop)
+       ai = lm->drop_adj_index;
+      else if (mp->is_local)
+       ai = lm->local_adj_index;
+      else if (mp->is_classify)
+       {
+         if (pool_is_free_index
+             (cm->tables, ntohl (mp->classify_table_index)))
+           {
+             dsunlock (sm);
+             return VNET_API_ERROR_NO_SUCH_TABLE;
+           }
+         adj = ip_add_adjacency (lm,
+                                 /* template */ 0,
+                                 /* block size */ 1,
+                                 &ai);
+
+         adj->lookup_next_index = IP_LOOKUP_NEXT_CLASSIFY;
+         adj->classify.table_index = ntohl (mp->classify_table_index);
+       }
+      else if (mp->lookup_in_vrf)
+       {
+         p = hash_get (im->fib_index_by_table_id, ntohl (mp->lookup_in_vrf));
+         if (p)
+           {
+             adj = ip_add_adjacency (lm,
+                                     /* template */ 0,
+                                     /* block size */ 1,
+                                     &ai);
+             adj->explicit_fib_index = p[0];
            }
-            else {
-                dsunlock(sm);
-               return VNET_API_ERROR_NO_SUCH_INNER_FIB;
+         else
+           {
+             dsunlock (sm);
+             return VNET_API_ERROR_NO_SUCH_INNER_FIB;
            }
        }
-        else
-           ai = ip4_route_get_next_hop_adj (im,
-                                            fib_index,
-                                            &next_hop_address,
-                                            ntohl(mp->next_hop_sw_if_index),
-                                            fib_index);
-
-       if (ai == lm->miss_adj_index) {
-           dsunlock(sm);
-           return VNET_API_ERROR_NO_SUCH_INNER_FIB;
-       }
-    } else {
-        ip_adjacency_t * adj;
-        int disable_default_route = 1;
-
-        /* Trying to delete the default route? */
-        if (a.dst_address.as_u32 == 0 &&
-            a.dst_address_length == 0)
-            disable_default_route = 0;
-
-        ai = ip4_fib_lookup_with_table
-            (im, fib_index, &a.dst_address, disable_default_route);
-        if (ai == lm->miss_adj_index) {
-            dsunlock(sm);
-            return VNET_API_ERROR_UNKNOWN_DESTINATION;
-        }
-
-        adj = ip_get_adjacency (lm, ai);
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) {
-            dsunlock(sm);
-            return VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
-        }
-    }
-
-    a.adj_index = ai;
-    ip4_add_del_route (im, &a);
-
-    dsunlock (sm);
-    return 0;
-}
-
-static int ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp)
-{
-    ip6_main_t * im = &ip6_main;
-    ip_lookup_main_t * lm = &im->lookup_main;
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
-    vpe_api_main_t * vam = &vpe_api_main;
-    stats_main_t * sm = &stats_main;
-    ip6_add_del_route_args_t a;
-    ip6_address_t next_hop_address;
-    pending_route_t * pr;
-    vl_api_ip_add_del_route_t * adr;
-
-    u32 fib_index;
-    uword * p;
-    clib_error_t * e;
-    ip_adjacency_t *adj = 0;
-    u32 ai;
-
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->vrf_id));
-
-    if (!p) {
-        if (mp->create_vrf_if_needed) {
-            ip6_fib_t * f;
-            f = find_ip6_fib_by_table_index_or_id (im, ntohl(mp->vrf_id),
-                                                   0 /* flags */);
-            fib_index = f->index;
-        } else {
-            /* No such VRF, and we weren't asked to create one */
-            return VNET_API_ERROR_NO_SUCH_FIB;
-        }
-    } else {
-        fib_index = p[0];
-    }
-
-    if (~0 != mp->next_hop_sw_if_index &&
-       pool_is_free_index (vnm->interface_main.sw_interfaces,
-                            ntohl(mp->next_hop_sw_if_index)))
-        return VNET_API_ERROR_NO_MATCHING_INTERFACE;
-
-    clib_memcpy (next_hop_address.as_u8, mp->next_hop_address,
-            sizeof (next_hop_address.as_u8));
-
-    /* Arp for the next_hop if necessary */
-    if (mp->is_add && mp->resolve_if_needed && ~0 != mp->next_hop_sw_if_index) {
-        u32 lookup_result;
-        ip_adjacency_t * adj;
-
-        lookup_result = ip6_fib_lookup_with_table
-            (im, fib_index, &next_hop_address);
-
-        adj = ip_get_adjacency (lm, lookup_result);
-
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) {
-            pool_get (vam->pending_routes, pr);
-            adr = &pr->r;
-            pr->resolve_type = RESOLVE_IP6_ADD_DEL_ROUTE;
-            clib_memcpy (adr, mp, sizeof (*adr));
-            /* recursion block, "just in case" */
-            adr->resolve_if_needed = 0;
-            adr->resolve_attempts = ntohl(mp->resolve_attempts);
-            vnet_register_ip6_neighbor_resolution_event
-                (vnm, &next_hop_address, vpe_resolver_process_node.index,
-                 RESOLUTION_EVENT, pr - vam->pending_routes);
-
-            vlib_process_signal_event
-                (vm, vpe_resolver_process_node.index,
-                 RESOLUTION_PENDING_EVENT, 0 /* data */);
-
-            /* The interface may be down, etc. */
-            e = ip6_probe_neighbor
-                (vm, (ip6_address_t *)&(mp->next_hop_address),
-                 ntohl(mp->next_hop_sw_if_index));
+      else
+       ai = ip4_route_get_next_hop_adj (im,
+                                        fib_index,
+                                        &next_hop_address,
+                                        ntohl (mp->next_hop_sw_if_index),
+                                        fib_index);
+
+      if (ai == lm->miss_adj_index)
+       {
+         dsunlock (sm);
+         return VNET_API_ERROR_NO_SUCH_INNER_FIB;
+       }
+    }
+  else
+    {
+      ip_adjacency_t *adj;
+      int disable_default_route = 1;
+
+      /* Trying to delete the default route? */
+      if (a.dst_address.as_u32 == 0 && a.dst_address_length == 0)
+       disable_default_route = 0;
+
+      ai = ip4_fib_lookup_with_table
+       (im, fib_index, &a.dst_address, disable_default_route);
+      if (ai == lm->miss_adj_index)
+       {
+         dsunlock (sm);
+         return VNET_API_ERROR_UNKNOWN_DESTINATION;
+       }
 
-            if (e)
-                clib_error_report(e);
+      adj = ip_get_adjacency (lm, ai);
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP)
+       {
+         dsunlock (sm);
+         return VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
+       }
+    }
+
+  a.adj_index = ai;
+  ip4_add_del_route (im, &a);
+
+  dsunlock (sm);
+  return 0;
+}
+
+static int
+ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp)
+{
+  ip6_main_t *im = &ip6_main;
+  ip_lookup_main_t *lm = &im->lookup_main;
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
+  vpe_api_main_t *vam = &vpe_api_main;
+  stats_main_t *sm = &stats_main;
+  ip6_add_del_route_args_t a;
+  ip6_address_t next_hop_address;
+  pending_route_t *pr;
+  vl_api_ip_add_del_route_t *adr;
+
+  u32 fib_index;
+  uword *p;
+  clib_error_t *e;
+  ip_adjacency_t *adj = 0;
+  u32 ai;
+
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->vrf_id));
 
-            return VNET_API_ERROR_IN_PROGRESS;
-        }
+  if (!p)
+    {
+      if (mp->create_vrf_if_needed)
+       {
+         ip6_fib_t *f;
+         f = find_ip6_fib_by_table_index_or_id (im, ntohl (mp->vrf_id),
+                                                0 /* flags */ );
+         fib_index = f->index;
+       }
+      else
+       {
+         /* No such VRF, and we weren't asked to create one */
+         return VNET_API_ERROR_NO_SUCH_FIB;
+       }
+    }
+  else
+    {
+      fib_index = p[0];
     }
 
-    if (mp->is_multipath) {
-        u32 flags;
+  if (~0 != mp->next_hop_sw_if_index &&
+      pool_is_free_index (vnm->interface_main.sw_interfaces,
+                         ntohl (mp->next_hop_sw_if_index)))
+    return VNET_API_ERROR_NO_MATCHING_INTERFACE;
 
-        dslock (sm, 1 /* release hint */, 11 /* tag */);
+  clib_memcpy (next_hop_address.as_u8, mp->next_hop_address,
+              sizeof (next_hop_address.as_u8));
 
-        if (mp->is_add)
-            flags = IP6_ROUTE_FLAG_ADD;
-        else
-            flags = IP6_ROUTE_FLAG_DEL;
+  /* Arp for the next_hop if necessary */
+  if (mp->is_add && mp->resolve_if_needed && ~0 != mp->next_hop_sw_if_index)
+    {
+      u32 lookup_result;
+      ip_adjacency_t *adj;
+
+      lookup_result = ip6_fib_lookup_with_table
+       (im, fib_index, &next_hop_address);
+
+      adj = ip_get_adjacency (lm, lookup_result);
+
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP)
+       {
+         pool_get (vam->pending_routes, pr);
+         adr = &pr->r;
+         pr->resolve_type = RESOLVE_IP6_ADD_DEL_ROUTE;
+         clib_memcpy (adr, mp, sizeof (*adr));
+         /* recursion block, "just in case" */
+         adr->resolve_if_needed = 0;
+         adr->resolve_attempts = ntohl (mp->resolve_attempts);
+         vnet_register_ip6_neighbor_resolution_event
+           (vnm, &next_hop_address, vpe_resolver_process_node.index,
+            RESOLUTION_EVENT, pr - vam->pending_routes);
+
+         vlib_process_signal_event
+           (vm, vpe_resolver_process_node.index,
+            RESOLUTION_PENDING_EVENT, 0 /* data */ );
+
+         /* The interface may be down, etc. */
+         e = ip6_probe_neighbor
+           (vm, (ip6_address_t *) & (mp->next_hop_address),
+            ntohl (mp->next_hop_sw_if_index));
+
+         if (e)
+           clib_error_report (e);
+
+         return VNET_API_ERROR_IN_PROGRESS;
+       }
+    }
+
+  if (mp->is_multipath)
+    {
+      u32 flags;
 
-        if (mp->not_last)
-            flags |= IP6_ROUTE_FLAG_NOT_LAST_IN_GROUP;
+      dslock (sm, 1 /* release hint */ , 11 /* tag */ );
 
-        ip6_add_del_route_next_hop (im, flags, (ip6_address_t *)mp->dst_address,
-                                    (u32) mp->dst_address_length,
-                                    (ip6_address_t *)mp->next_hop_address,
-                                    ntohl(mp->next_hop_sw_if_index),
-                                    (u32) mp->next_hop_weight,
-                                    ~0 /* adj_index */,
-                                    fib_index);
-        dsunlock(sm);
-        return 0;
+      if (mp->is_add)
+       flags = IP6_ROUTE_FLAG_ADD;
+      else
+       flags = IP6_ROUTE_FLAG_DEL;
+
+      if (mp->not_last)
+       flags |= IP6_ROUTE_FLAG_NOT_LAST_IN_GROUP;
+
+      ip6_add_del_route_next_hop (im, flags,
+                                 (ip6_address_t *) mp->dst_address,
+                                 (u32) mp->dst_address_length,
+                                 (ip6_address_t *) mp->next_hop_address,
+                                 ntohl (mp->next_hop_sw_if_index),
+                                 (u32) mp->next_hop_weight,
+                                 ~0 /* adj_index */ ,
+                                 fib_index);
+      dsunlock (sm);
+      return 0;
     }
 
-    memset (&a, 0, sizeof (a));
-    clib_memcpy (a.dst_address.as_u8, mp->dst_address, sizeof (a.dst_address.as_u8));
+  memset (&a, 0, sizeof (a));
+  clib_memcpy (a.dst_address.as_u8, mp->dst_address,
+              sizeof (a.dst_address.as_u8));
 
-    a.dst_address_length = mp->dst_address_length;
+  a.dst_address_length = mp->dst_address_length;
 
-    a.flags = (mp->is_add ? IP6_ROUTE_FLAG_ADD : IP6_ROUTE_FLAG_DEL);
-    a.flags |= IP6_ROUTE_FLAG_FIB_INDEX;
-    a.table_index_or_table_id = fib_index;
-    a.add_adj = 0;
-    a.n_add_adj = 0;
+  a.flags = (mp->is_add ? IP6_ROUTE_FLAG_ADD : IP6_ROUTE_FLAG_DEL);
+  a.flags |= IP6_ROUTE_FLAG_FIB_INDEX;
+  a.table_index_or_table_id = fib_index;
+  a.add_adj = 0;
+  a.n_add_adj = 0;
 
-    if (mp->not_last)
-        a.flags |= IP6_ROUTE_FLAG_NOT_LAST_IN_GROUP;
+  if (mp->not_last)
+    a.flags |= IP6_ROUTE_FLAG_NOT_LAST_IN_GROUP;
 
-    dslock (sm, 1 /* release hint */, 3 /* tag */);
+  dslock (sm, 1 /* release hint */ , 3 /* tag */ );
 
-    if (mp->is_add) {
-        if (mp->is_drop)
-            ai = lm->drop_adj_index;
-        else if (mp->is_local)
-            ai = lm->local_adj_index;
-       else if (mp->lookup_in_vrf) {
-            p = hash_get (im->fib_index_by_table_id, ntohl(mp->lookup_in_vrf));
-            if (p) {
-               adj = ip_add_adjacency (lm,
-                                       /* template */ 0,
-                                       /* block size */ 1,
-                                       &ai);
-                adj->explicit_fib_index = p[0];
+  if (mp->is_add)
+    {
+      if (mp->is_drop)
+       ai = lm->drop_adj_index;
+      else if (mp->is_local)
+       ai = lm->local_adj_index;
+      else if (mp->lookup_in_vrf)
+       {
+         p = hash_get (im->fib_index_by_table_id, ntohl (mp->lookup_in_vrf));
+         if (p)
+           {
+             adj = ip_add_adjacency (lm,
+                                     /* template */ 0,
+                                     /* block size */ 1,
+                                     &ai);
+             adj->explicit_fib_index = p[0];
            }
-            else {
-               dsunlock(sm);
-                return VNET_API_ERROR_NO_SUCH_INNER_FIB;
+         else
+           {
+             dsunlock (sm);
+             return VNET_API_ERROR_NO_SUCH_INNER_FIB;
            }
        }
-       else
-          ai = ip6_route_get_next_hop_adj (im,
-                                           fib_index,
-                                           &next_hop_address,
-                                           ntohl(mp->next_hop_sw_if_index),
-                                           fib_index);
-      if (ai == lm->miss_adj_index) {
-         dsunlock(sm);
+      else
+       ai = ip6_route_get_next_hop_adj (im,
+                                        fib_index,
+                                        &next_hop_address,
+                                        ntohl (mp->next_hop_sw_if_index),
+                                        fib_index);
+      if (ai == lm->miss_adj_index)
+       {
+         dsunlock (sm);
          return VNET_API_ERROR_NEXT_HOP_NOT_IN_FIB;
-      }
-    } else {
-        ip_adjacency_t * adj;
+       }
+    }
+  else
+    {
+      ip_adjacency_t *adj;
 
-        ai = ip6_fib_lookup_with_table
-            (im, fib_index, &a.dst_address);
-        if (ai == lm->miss_adj_index) {
-            dsunlock(sm);
-            return VNET_API_ERROR_UNKNOWN_DESTINATION;
-        }
-        adj = ip_get_adjacency (lm, ai);
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) {
-            dsunlock(sm);
-            return VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
-        }
+      ai = ip6_fib_lookup_with_table (im, fib_index, &a.dst_address);
+      if (ai == lm->miss_adj_index)
+       {
+         dsunlock (sm);
+         return VNET_API_ERROR_UNKNOWN_DESTINATION;
+       }
+      adj = ip_get_adjacency (lm, ai);
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP)
+       {
+         dsunlock (sm);
+         return VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
+       }
     }
 
-    a.adj_index = ai;
-    ip6_add_del_route (im, &a);
+  a.adj_index = ai;
+  ip6_add_del_route (im, &a);
 
-    dsunlock (sm);
-    return 0;
+  dsunlock (sm);
+  return 0;
 }
 
-void vl_api_ip_add_del_route_t_handler (
-    vl_api_ip_add_del_route_t *mp)
+void
+vl_api_ip_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp)
 {
-    vl_api_ip_add_del_route_reply_t * rmp;
-    int rv;
-    vnet_main_t * vnm = vnet_get_main();
+  vl_api_ip_add_del_route_reply_t *rmp;
+  int rv;
+  vnet_main_t *vnm = vnet_get_main ();
 
-    vnm->api_errno = 0;
+  vnm->api_errno = 0;
 
-    if (mp->is_ipv6)
-        rv = ip6_add_del_route_t_handler (mp);
-    else
-        rv = ip4_add_del_route_t_handler (mp);
+  if (mp->is_ipv6)
+    rv = ip6_add_del_route_t_handler (mp);
+  else
+    rv = ip4_add_del_route_t_handler (mp);
 
-    rv = (rv == 0) ? vnm->api_errno : rv;
+  rv = (rv == 0) ? vnm->api_errno : rv;
 
-    REPLY_MACRO(VL_API_IP_ADD_DEL_ROUTE_REPLY);
+  REPLY_MACRO (VL_API_IP_ADD_DEL_ROUTE_REPLY);
 }
 
-void api_config_default_ip_route (u8 is_ipv6, u8 is_add, u32 vrf_id,
-                                  u32 sw_if_index, u8 *next_hop_addr)
+void
+api_config_default_ip_route (u8 is_ipv6, u8 is_add, u32 vrf_id,
+                            u32 sw_if_index, u8 * next_hop_addr)
 {
-    vl_api_ip_add_del_route_t mp;
-    int rv;
+  vl_api_ip_add_del_route_t mp;
+  int rv;
 
-    memset (&mp, 0, sizeof(vl_api_ip_add_del_route_t));
+  memset (&mp, 0, sizeof (vl_api_ip_add_del_route_t));
 
-    /*
-     * Configure default IP route:
-     *  - ip route add 0.0.0.0/1 via <GW IP>
-     *  - ip route add 128.0.0.0/1 via <GW IP>
-     */
-    mp.next_hop_sw_if_index = ntohl(sw_if_index);
-    mp.vrf_id = vrf_id;
-    mp.resolve_attempts = ~0;
-    mp.resolve_if_needed = 1;
-    mp.is_add = is_add;
-    mp.is_ipv6 = is_ipv6;
-    mp.next_hop_weight = 1;
+  /*
+   * Configure default IP route:
+   *  - ip route add 0.0.0.0/1 via <GW IP>
+   *  - ip route add 128.0.0.0/1 via <GW IP>
+   */
+  mp.next_hop_sw_if_index = ntohl (sw_if_index);
+  mp.vrf_id = vrf_id;
+  mp.resolve_attempts = ~0;
+  mp.resolve_if_needed = 1;
+  mp.is_add = is_add;
+  mp.is_ipv6 = is_ipv6;
+  mp.next_hop_weight = 1;
 
-    clib_memcpy (&mp.next_hop_address[0], next_hop_addr, 16);
+  clib_memcpy (&mp.next_hop_address[0], next_hop_addr, 16);
 
-    if (is_ipv6)
-        rv = ip6_add_del_route_t_handler (&mp);
-    else
-      {
-        mp.dst_address_length = 1;
+  if (is_ipv6)
+    rv = ip6_add_del_route_t_handler (&mp);
+  else
+    {
+      mp.dst_address_length = 1;
 
-        mp.dst_address[0] = 0;
-        rv = ip4_add_del_route_t_handler (&mp);
+      mp.dst_address[0] = 0;
+      rv = ip4_add_del_route_t_handler (&mp);
 
-        mp.dst_address[0] = 128;
-        rv |= ip4_add_del_route_t_handler (&mp);
-      }
+      mp.dst_address[0] = 128;
+      rv |= ip4_add_del_route_t_handler (&mp);
+    }
 
-    if (rv)
-        clib_error_return (0, "failed to config default IP route");
+  if (rv)
+    clib_error_return (0, "failed to config default IP route");
 
 }
 
 static void
-vl_api_sw_interface_add_del_address_t_handler
-(vl_api_sw_interface_add_del_address_t *mp)
+  vl_api_sw_interface_add_del_address_t_handler
+  (vl_api_sw_interface_add_del_address_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_sw_interface_add_del_address_reply_t * rmp;
-    int rv = 0;
-    u32 is_del;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_sw_interface_add_del_address_reply_t *rmp;
+  int rv = 0;
+  u32 is_del;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    is_del = mp->is_add == 0;
+  is_del = mp->is_add == 0;
 
-    if (mp->del_all)
-        ip_del_all_interface_addresses (vm, ntohl(mp->sw_if_index));
-    else if (mp->is_ipv6)
-        ip6_add_del_interface_address (vm, ntohl(mp->sw_if_index),
-                                       (void *)mp->address,
-                                       mp->address_length, is_del);
-    else
-        ip4_add_del_interface_address (vm, ntohl(mp->sw_if_index),
-                                       (void *) mp->address,
-                                       mp->address_length, is_del);
-
-    BAD_SW_IF_INDEX_LABEL;
-
-    REPLY_MACRO(VL_API_SW_INTERFACE_ADD_DEL_ADDRESS_REPLY);
-}
-
-static void
-vl_api_sw_interface_set_table_t_handler (vl_api_sw_interface_set_table_t *mp)
-{
-    int rv = 0;
-    u32 table_id = ntohl(mp->vrf_id);
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    vl_api_sw_interface_set_table_reply_t * rmp;
-    stats_main_t * sm = &stats_main;
-
-    VALIDATE_SW_IF_INDEX(mp);
-
-    dslock (sm, 1 /* release hint */, 4 /* tag */);
-
-    if (mp->is_ipv6) {
-        ip6_main_t * im = &ip6_main;
-        ip6_fib_t * fib =
-            find_ip6_fib_by_table_index_or_id (im, table_id,
-                                               IP6_ROUTE_FLAG_TABLE_ID);
-        if (fib) {
-            vec_validate (im->fib_index_by_sw_if_index, sw_if_index);
-            im->fib_index_by_sw_if_index[sw_if_index] = fib->index;
-        } else {
-            rv = VNET_API_ERROR_NO_SUCH_FIB;
-        }
-    } else {
-        ip4_main_t * im = &ip4_main;
-        ip4_fib_t * fib = find_ip4_fib_by_table_index_or_id
-            (im, table_id, IP4_ROUTE_FLAG_TABLE_ID);
-
-        /* Truthfully this can't fail */
-        if (fib) {
-            vec_validate (im->fib_index_by_sw_if_index, sw_if_index);
-            im->fib_index_by_sw_if_index[sw_if_index] = fib->index;
-        } else {
-            rv = VNET_API_ERROR_NO_SUCH_FIB;
-        }
-    }
-    dsunlock(sm);
-
-    BAD_SW_IF_INDEX_LABEL;
-
-    REPLY_MACRO(VL_API_SW_INTERFACE_SET_TABLE_REPLY);
-}
-
-static void
-vl_api_sw_interface_set_vpath_t_handler (vl_api_sw_interface_set_vpath_t *mp)
-{
-    vlib_main_t *vm = vlib_get_main();
-    ip4_main_t * im4 = &ip4_main;
-    ip6_main_t * im6 = &ip6_main;
-    vl_api_sw_interface_set_vpath_reply_t * rmp;
-    int rv = 0;
-    u32 ci;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    ip4_main_t   *ip4m = &ip4_main;
-    ip6_main_t   *ip6m = &ip6_main;
-    ip_lookup_main_t *ip4lm = &ip4m->lookup_main;
-    ip_lookup_main_t *ip6lm = &ip6m->lookup_main;
-    ip_config_main_t *rx_cm4u = &ip4lm->rx_config_mains[VNET_UNICAST];
-    ip_config_main_t *rx_cm4m = &ip4lm->rx_config_mains[VNET_MULTICAST];
-    ip_config_main_t *rx_cm6u = &ip6lm->rx_config_mains[VNET_UNICAST];
-    ip_config_main_t *rx_cm6m = &ip6lm->rx_config_mains[VNET_MULTICAST];
-
-    VALIDATE_SW_IF_INDEX(mp);
-
-    l2input_intf_bitmap_enable(sw_if_index, L2INPUT_FEAT_VPATH, mp->enable);
-    if (mp->enable) {
-        ci = rx_cm4u->config_index_by_sw_if_index[sw_if_index]; //IP4 unicast
-        ci = vnet_config_add_feature(vm, &rx_cm4u->config_main,
-                                     ci,
-                                     im4->ip4_unicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm4u->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm4m->config_index_by_sw_if_index[sw_if_index]; //IP4 mcast
-        ci = vnet_config_add_feature(vm, &rx_cm4m->config_main,
-                                     ci,
-                                     im4->ip4_multicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm4m->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm6u->config_index_by_sw_if_index[sw_if_index]; //IP6 unicast
-        ci = vnet_config_add_feature(vm, &rx_cm6u->config_main,
-                                     ci,
-                                     im6->ip6_unicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm6u->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm6m->config_index_by_sw_if_index[sw_if_index]; //IP6 mcast
-        ci = vnet_config_add_feature(vm, &rx_cm6m->config_main,
-                                     ci,
-                                     im6->ip6_multicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm6m->config_index_by_sw_if_index[sw_if_index] = ci;
-    } else {
-        ci = rx_cm4u->config_index_by_sw_if_index[sw_if_index]; //IP4 unicast
-        ci = vnet_config_del_feature(vm, &rx_cm4u->config_main,
-                                     ci,
-                                     im4->ip4_unicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm4u->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm4m->config_index_by_sw_if_index[sw_if_index]; //IP4 mcast
-        ci = vnet_config_del_feature(vm, &rx_cm4m->config_main,
-                                     ci,
-                                     im4->ip4_multicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm4m->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm6u->config_index_by_sw_if_index[sw_if_index]; //IP6 unicast
-        ci = vnet_config_del_feature(vm, &rx_cm6u->config_main,
-                                     ci,
-                                     im6->ip6_unicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm6u->config_index_by_sw_if_index[sw_if_index] = ci;
-        ci = rx_cm6m->config_index_by_sw_if_index[sw_if_index]; //IP6 mcast
-        ci = vnet_config_del_feature(vm, &rx_cm6m->config_main,
-                                     ci,
-                                     im6->ip6_multicast_rx_feature_vpath,
-                                     0, 0);
-        rx_cm6m->config_index_by_sw_if_index[sw_if_index] = ci;
-    }
-
-    BAD_SW_IF_INDEX_LABEL;
-
-    REPLY_MACRO(VL_API_SW_INTERFACE_SET_VPATH_REPLY);
-}
-
-static void
-vl_api_sw_interface_set_l2_xconnect_t_handler (
-    vl_api_sw_interface_set_l2_xconnect_t *mp)
-{
-    vl_api_sw_interface_set_l2_xconnect_reply_t * rmp;
-    int rv = 0;
-    u32 rx_sw_if_index = ntohl(mp->rx_sw_if_index);
-    u32 tx_sw_if_index = ntohl(mp->tx_sw_if_index);
-    vlib_main_t *vm  = vlib_get_main();
-    vnet_main_t *vnm = vnet_get_main();
-
-    VALIDATE_RX_SW_IF_INDEX(mp);
-
-    if (mp->enable) {
-        VALIDATE_TX_SW_IF_INDEX(mp);
-        rv = set_int_l2_mode(vm, vnm, MODE_L2_XC,
-                             rx_sw_if_index, 0, 0, 0, tx_sw_if_index);
-    } else {
-        rv = set_int_l2_mode(vm, vnm, MODE_L3, rx_sw_if_index, 0, 0, 0, 0);
-    }
-
-    BAD_RX_SW_IF_INDEX_LABEL;
-    BAD_TX_SW_IF_INDEX_LABEL;
-
-    REPLY_MACRO(VL_API_SW_INTERFACE_SET_L2_XCONNECT_REPLY);
-}
-
-static void
-vl_api_sw_interface_set_l2_bridge_t_handler (
-    vl_api_sw_interface_set_l2_bridge_t *mp)
-{
-    bd_main_t * bdm = &bd_main;
-    vl_api_sw_interface_set_l2_bridge_reply_t * rmp;
-    int rv = 0;
-    u32 rx_sw_if_index = ntohl(mp->rx_sw_if_index);
-    u32 bd_id = ntohl(mp->bd_id);
-    u32 bd_index;
-    u32 bvi = mp->bvi;
-    u8 shg = mp->shg;
-    vlib_main_t *vm  = vlib_get_main();
-    vnet_main_t *vnm = vnet_get_main();
-
-    VALIDATE_RX_SW_IF_INDEX(mp);
-
-    bd_index = bd_find_or_add_bd_index (bdm, bd_id);
-
-    if (mp->enable) {
-        //VALIDATE_TX_SW_IF_INDEX(mp);
-        rv = set_int_l2_mode(vm, vnm, MODE_L2_BRIDGE,
-                             rx_sw_if_index, bd_index, bvi, shg, 0);
-    } else {
-        rv = set_int_l2_mode(vm, vnm, MODE_L3, rx_sw_if_index, 0, 0, 0, 0);
-    }
+  if (mp->del_all)
+    ip_del_all_interface_addresses (vm, ntohl (mp->sw_if_index));
+  else if (mp->is_ipv6)
+    ip6_add_del_interface_address (vm, ntohl (mp->sw_if_index),
+                                  (void *) mp->address,
+                                  mp->address_length, is_del);
+  else
+    ip4_add_del_interface_address (vm, ntohl (mp->sw_if_index),
+                                  (void *) mp->address,
+                                  mp->address_length, is_del);
 
-    BAD_RX_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_SW_INTERFACE_SET_L2_BRIDGE_REPLY);
+  REPLY_MACRO (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS_REPLY);
 }
 
 static void
-vl_api_bridge_domain_add_del_t_handler (
-    vl_api_bridge_domain_add_del_t *mp)
+vl_api_sw_interface_set_table_t_handler (vl_api_sw_interface_set_table_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main ();
-    bd_main_t * bdm = &bd_main;
-    vl_api_bridge_domain_add_del_reply_t * rmp;
-    int rv = 0;
-    u32 enable_flags = 0, disable_flags = 0;
-    u32 bd_id = ntohl(mp->bd_id);
-    u32 bd_index;
+  int rv = 0;
+  u32 table_id = ntohl (mp->vrf_id);
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  vl_api_sw_interface_set_table_reply_t *rmp;
+  stats_main_t *sm = &stats_main;
 
-    if (mp->is_add) {
-        bd_index = bd_find_or_add_bd_index (bdm, bd_id);
+  VALIDATE_SW_IF_INDEX (mp);
 
-        if (mp->flood)
-            enable_flags |= L2_FLOOD;
-        else
-            disable_flags |= L2_FLOOD;
+  dslock (sm, 1 /* release hint */ , 4 /* tag */ );
 
-        if (mp->uu_flood)
-            enable_flags |= L2_UU_FLOOD;
-        else
-            disable_flags |= L2_UU_FLOOD;
+  if (mp->is_ipv6)
+    {
+      ip6_main_t *im = &ip6_main;
+      ip6_fib_t *fib = find_ip6_fib_by_table_index_or_id (im, table_id,
+                                                         IP6_ROUTE_FLAG_TABLE_ID);
+      if (fib)
+       {
+         vec_validate (im->fib_index_by_sw_if_index, sw_if_index);
+         im->fib_index_by_sw_if_index[sw_if_index] = fib->index;
+       }
+      else
+       {
+         rv = VNET_API_ERROR_NO_SUCH_FIB;
+       }
+    }
+  else
+    {
+      ip4_main_t *im = &ip4_main;
+      ip4_fib_t *fib = find_ip4_fib_by_table_index_or_id
+       (im, table_id, IP4_ROUTE_FLAG_TABLE_ID);
+
+      /* Truthfully this can't fail */
+      if (fib)
+       {
+         vec_validate (im->fib_index_by_sw_if_index, sw_if_index);
+         im->fib_index_by_sw_if_index[sw_if_index] = fib->index;
+       }
+      else
+       {
+         rv = VNET_API_ERROR_NO_SUCH_FIB;
+       }
+    }
+  dsunlock (sm);
 
-        if (mp->forward)
-            enable_flags |= L2_FWD;
-        else
-            disable_flags |= L2_FWD;
+  BAD_SW_IF_INDEX_LABEL;
 
-        if (mp->arp_term)
-            enable_flags |= L2_ARP_TERM;
-        else
-            disable_flags |= L2_ARP_TERM;
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_TABLE_REPLY);
+}
 
-        if (mp->learn)
-            enable_flags |= L2_LEARN;
-        else
-            disable_flags |= L2_LEARN;
+static void
+vl_api_sw_interface_set_vpath_t_handler (vl_api_sw_interface_set_vpath_t * mp)
+{
+  vlib_main_t *vm = vlib_get_main ();
+  ip4_main_t *im4 = &ip4_main;
+  ip6_main_t *im6 = &ip6_main;
+  vl_api_sw_interface_set_vpath_reply_t *rmp;
+  int rv = 0;
+  u32 ci;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  ip4_main_t *ip4m = &ip4_main;
+  ip6_main_t *ip6m = &ip6_main;
+  ip_lookup_main_t *ip4lm = &ip4m->lookup_main;
+  ip_lookup_main_t *ip6lm = &ip6m->lookup_main;
+  ip_config_main_t *rx_cm4u = &ip4lm->rx_config_mains[VNET_UNICAST];
+  ip_config_main_t *rx_cm4m = &ip4lm->rx_config_mains[VNET_MULTICAST];
+  ip_config_main_t *rx_cm6u = &ip6lm->rx_config_mains[VNET_UNICAST];
+  ip_config_main_t *rx_cm6m = &ip6lm->rx_config_mains[VNET_MULTICAST];
+
+  VALIDATE_SW_IF_INDEX (mp);
+
+  l2input_intf_bitmap_enable (sw_if_index, L2INPUT_FEAT_VPATH, mp->enable);
+  if (mp->enable)
+    {
+      ci = rx_cm4u->config_index_by_sw_if_index[sw_if_index];  //IP4 unicast
+      ci = vnet_config_add_feature (vm, &rx_cm4u->config_main,
+                                   ci,
+                                   im4->ip4_unicast_rx_feature_vpath, 0, 0);
+      rx_cm4u->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm4m->config_index_by_sw_if_index[sw_if_index];  //IP4 mcast
+      ci = vnet_config_add_feature (vm, &rx_cm4m->config_main,
+                                   ci,
+                                   im4->ip4_multicast_rx_feature_vpath,
+                                   0, 0);
+      rx_cm4m->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm6u->config_index_by_sw_if_index[sw_if_index];  //IP6 unicast
+      ci = vnet_config_add_feature (vm, &rx_cm6u->config_main,
+                                   ci,
+                                   im6->ip6_unicast_rx_feature_vpath, 0, 0);
+      rx_cm6u->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm6m->config_index_by_sw_if_index[sw_if_index];  //IP6 mcast
+      ci = vnet_config_add_feature (vm, &rx_cm6m->config_main,
+                                   ci,
+                                   im6->ip6_multicast_rx_feature_vpath,
+                                   0, 0);
+      rx_cm6m->config_index_by_sw_if_index[sw_if_index] = ci;
+    }
+  else
+    {
+      ci = rx_cm4u->config_index_by_sw_if_index[sw_if_index];  //IP4 unicast
+      ci = vnet_config_del_feature (vm, &rx_cm4u->config_main,
+                                   ci,
+                                   im4->ip4_unicast_rx_feature_vpath, 0, 0);
+      rx_cm4u->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm4m->config_index_by_sw_if_index[sw_if_index];  //IP4 mcast
+      ci = vnet_config_del_feature (vm, &rx_cm4m->config_main,
+                                   ci,
+                                   im4->ip4_multicast_rx_feature_vpath,
+                                   0, 0);
+      rx_cm4m->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm6u->config_index_by_sw_if_index[sw_if_index];  //IP6 unicast
+      ci = vnet_config_del_feature (vm, &rx_cm6u->config_main,
+                                   ci,
+                                   im6->ip6_unicast_rx_feature_vpath, 0, 0);
+      rx_cm6u->config_index_by_sw_if_index[sw_if_index] = ci;
+      ci = rx_cm6m->config_index_by_sw_if_index[sw_if_index];  //IP6 mcast
+      ci = vnet_config_del_feature (vm, &rx_cm6m->config_main,
+                                   ci,
+                                   im6->ip6_multicast_rx_feature_vpath,
+                                   0, 0);
+      rx_cm6m->config_index_by_sw_if_index[sw_if_index] = ci;
+    }
+
+  BAD_SW_IF_INDEX_LABEL;
+
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_VPATH_REPLY);
+}
+
+static void
+  vl_api_sw_interface_set_l2_xconnect_t_handler
+  (vl_api_sw_interface_set_l2_xconnect_t * mp)
+{
+  vl_api_sw_interface_set_l2_xconnect_reply_t *rmp;
+  int rv = 0;
+  u32 rx_sw_if_index = ntohl (mp->rx_sw_if_index);
+  u32 tx_sw_if_index = ntohl (mp->tx_sw_if_index);
+  vlib_main_t *vm = vlib_get_main ();
+  vnet_main_t *vnm = vnet_get_main ();
 
-        if (enable_flags)
-            bd_set_flags (vm, bd_index, enable_flags, 1 /* enable */);
+  VALIDATE_RX_SW_IF_INDEX (mp);
 
-        if (disable_flags)
-            bd_set_flags (vm, bd_index, disable_flags, 0 /* disable */);
+  if (mp->enable)
+    {
+      VALIDATE_TX_SW_IF_INDEX (mp);
+      rv = set_int_l2_mode (vm, vnm, MODE_L2_XC,
+                           rx_sw_if_index, 0, 0, 0, tx_sw_if_index);
+    }
+  else
+    {
+      rv = set_int_l2_mode (vm, vnm, MODE_L3, rx_sw_if_index, 0, 0, 0, 0);
+    }
 
-    } else
-        rv = bd_delete_bd_index(bdm, bd_id);
+  BAD_RX_SW_IF_INDEX_LABEL;
+  BAD_TX_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_BRIDGE_DOMAIN_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_L2_XCONNECT_REPLY);
 }
 
-static void vl_api_bridge_domain_details_t_handler (
-    vl_api_bridge_domain_details_t * mp)
+static void
+  vl_api_sw_interface_set_l2_bridge_t_handler
+  (vl_api_sw_interface_set_l2_bridge_t * mp)
 {
-    clib_warning ("BUG");
+  bd_main_t *bdm = &bd_main;
+  vl_api_sw_interface_set_l2_bridge_reply_t *rmp;
+  int rv = 0;
+  u32 rx_sw_if_index = ntohl (mp->rx_sw_if_index);
+  u32 bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+  u32 bvi = mp->bvi;
+  u8 shg = mp->shg;
+  vlib_main_t *vm = vlib_get_main ();
+  vnet_main_t *vnm = vnet_get_main ();
+
+  VALIDATE_RX_SW_IF_INDEX (mp);
+
+  bd_index = bd_find_or_add_bd_index (bdm, bd_id);
+
+  if (mp->enable)
+    {
+      //VALIDATE_TX_SW_IF_INDEX(mp);
+      rv = set_int_l2_mode (vm, vnm, MODE_L2_BRIDGE,
+                           rx_sw_if_index, bd_index, bvi, shg, 0);
+    }
+  else
+    {
+      rv = set_int_l2_mode (vm, vnm, MODE_L3, rx_sw_if_index, 0, 0, 0, 0);
+    }
+
+  BAD_RX_SW_IF_INDEX_LABEL;
+
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_L2_BRIDGE_REPLY);
 }
 
-static void vl_api_bridge_domain_sw_if_details_t_handler (
-    vl_api_bridge_domain_sw_if_details_t * mp)
+static void
+vl_api_bridge_domain_add_del_t_handler (vl_api_bridge_domain_add_del_t * mp)
 {
-    clib_warning ("BUG");
+  vlib_main_t *vm = vlib_get_main ();
+  bd_main_t *bdm = &bd_main;
+  vl_api_bridge_domain_add_del_reply_t *rmp;
+  int rv = 0;
+  u32 enable_flags = 0, disable_flags = 0;
+  u32 bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+
+  if (mp->is_add)
+    {
+      bd_index = bd_find_or_add_bd_index (bdm, bd_id);
+
+      if (mp->flood)
+       enable_flags |= L2_FLOOD;
+      else
+       disable_flags |= L2_FLOOD;
+
+      if (mp->uu_flood)
+       enable_flags |= L2_UU_FLOOD;
+      else
+       disable_flags |= L2_UU_FLOOD;
+
+      if (mp->forward)
+       enable_flags |= L2_FWD;
+      else
+       disable_flags |= L2_FWD;
+
+      if (mp->arp_term)
+       enable_flags |= L2_ARP_TERM;
+      else
+       disable_flags |= L2_ARP_TERM;
+
+      if (mp->learn)
+       enable_flags |= L2_LEARN;
+      else
+       disable_flags |= L2_LEARN;
+
+      if (enable_flags)
+       bd_set_flags (vm, bd_index, enable_flags, 1 /* enable */ );
+
+      if (disable_flags)
+       bd_set_flags (vm, bd_index, disable_flags, 0 /* disable */ );
+
+    }
+  else
+    rv = bd_delete_bd_index (bdm, bd_id);
+
+  REPLY_MACRO (VL_API_BRIDGE_DOMAIN_ADD_DEL_REPLY);
 }
 
-static void send_bridge_domain_details (unix_shared_memory_queue_t *q,
-                                        l2_bridge_domain_t * bd_config,
-                                        u32 n_sw_ifs,
-                                        u32 context)
+static void
+vl_api_bridge_domain_details_t_handler (vl_api_bridge_domain_details_t * mp)
 {
-    vl_api_bridge_domain_details_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_BRIDGE_DOMAIN_DETAILS);
-    mp->bd_id = ntohl (bd_config->bd_id);
-    mp->flood = bd_feature_flood (bd_config);
-    mp->uu_flood = bd_feature_uu_flood (bd_config);
-    mp->forward = bd_feature_forward (bd_config);
-    mp->learn = bd_feature_learn (bd_config);
-    mp->arp_term = bd_feature_arp_term (bd_config);
-    mp->bvi_sw_if_index = ntohl (bd_config->bvi_sw_if_index);
-    mp->n_sw_ifs = ntohl (n_sw_ifs);
-    mp->context = context;
+  clib_warning ("BUG");
+}
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+static void
+  vl_api_bridge_domain_sw_if_details_t_handler
+  (vl_api_bridge_domain_sw_if_details_t * mp)
+{
+  clib_warning ("BUG");
 }
 
-static void send_bd_sw_if_details (l2input_main_t * l2im,
-                                   unix_shared_memory_queue_t *q,
-                                   l2_flood_member_t * member, u32 bd_id,
-                                   u32 context)
+static void
+send_bridge_domain_details (unix_shared_memory_queue_t * q,
+                           l2_bridge_domain_t * bd_config,
+                           u32 n_sw_ifs, u32 context)
 {
-    vl_api_bridge_domain_sw_if_details_t * mp;
-    l2_input_config_t * input_cfg;
+  vl_api_bridge_domain_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_BRIDGE_DOMAIN_SW_IF_DETAILS);
-    mp->bd_id = ntohl (bd_id);
-    mp->sw_if_index = ntohl (member->sw_if_index);
-    input_cfg = vec_elt_at_index (l2im->configs, member->sw_if_index);
-    mp->shg = input_cfg->shg;
-    mp->context = context;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_BRIDGE_DOMAIN_DETAILS);
+  mp->bd_id = ntohl (bd_config->bd_id);
+  mp->flood = bd_feature_flood (bd_config);
+  mp->uu_flood = bd_feature_uu_flood (bd_config);
+  mp->forward = bd_feature_forward (bd_config);
+  mp->learn = bd_feature_learn (bd_config);
+  mp->arp_term = bd_feature_arp_term (bd_config);
+  mp->bvi_sw_if_index = ntohl (bd_config->bvi_sw_if_index);
+  mp->n_sw_ifs = ntohl (n_sw_ifs);
+  mp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
-static void vl_api_bridge_domain_dump_t_handler (
-    vl_api_bridge_domain_dump_t *mp)
+static void
+send_bd_sw_if_details (l2input_main_t * l2im,
+                      unix_shared_memory_queue_t * q,
+                      l2_flood_member_t * member, u32 bd_id, u32 context)
 {
-    bd_main_t * bdm = &bd_main;
-    l2input_main_t * l2im = &l2input_main;
-    unix_shared_memory_queue_t * q;
-    l2_bridge_domain_t * bd_config;
-    u32 bd_id, bd_index;
-    u32 end;
+  vl_api_bridge_domain_sw_if_details_t *mp;
+  l2_input_config_t *input_cfg;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_BRIDGE_DOMAIN_SW_IF_DETAILS);
+  mp->bd_id = ntohl (bd_id);
+  mp->sw_if_index = ntohl (member->sw_if_index);
+  input_cfg = vec_elt_at_index (l2im->configs, member->sw_if_index);
+  mp->shg = input_cfg->shg;
+  mp->context = context;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
+}
 
-    if (q == 0)
-        return;
+static void
+vl_api_bridge_domain_dump_t_handler (vl_api_bridge_domain_dump_t * mp)
+{
+  bd_main_t *bdm = &bd_main;
+  l2input_main_t *l2im = &l2input_main;
+  unix_shared_memory_queue_t *q;
+  l2_bridge_domain_t *bd_config;
+  u32 bd_id, bd_index;
+  u32 end;
 
-    bd_id = ntohl(mp->bd_id);
+  q = vl_api_client_index_to_input_queue (mp->client_index);
 
-    bd_index = (bd_id == ~0) ? 0 : bd_find_or_add_bd_index (bdm, bd_id);
-    end = (bd_id == ~0) ? vec_len (l2im->bd_configs) : bd_index + 1;
-    for (; bd_index < end; bd_index++) {
-        bd_config = l2input_bd_config_from_index (l2im, bd_index);
-        /* skip dummy bd_id 0 */
-        if (bd_config && (bd_config->bd_id > 0)) {
-            u32 n_sw_ifs;
-            l2_flood_member_t * m;
+  if (q == 0)
+    return;
 
-            n_sw_ifs = vec_len (bd_config->members);
-            send_bridge_domain_details (q, bd_config, n_sw_ifs, mp->context);
+  bd_id = ntohl (mp->bd_id);
 
-            vec_foreach (m, bd_config->members) {
-                send_bd_sw_if_details (l2im, q, m, bd_config->bd_id, mp->context);
-            }
-        }
+  bd_index = (bd_id == ~0) ? 0 : bd_find_or_add_bd_index (bdm, bd_id);
+  end = (bd_id == ~0) ? vec_len (l2im->bd_configs) : bd_index + 1;
+  for (; bd_index < end; bd_index++)
+    {
+      bd_config = l2input_bd_config_from_index (l2im, bd_index);
+      /* skip dummy bd_id 0 */
+      if (bd_config && (bd_config->bd_id > 0))
+       {
+         u32 n_sw_ifs;
+         l2_flood_member_t *m;
+
+         n_sw_ifs = vec_len (bd_config->members);
+         send_bridge_domain_details (q, bd_config, n_sw_ifs, mp->context);
+
+         vec_foreach (m, bd_config->members)
+         {
+           send_bd_sw_if_details (l2im, q, m, bd_config->bd_id, mp->context);
+         }
+       }
     }
 }
 
 static void
-vl_api_l2fib_add_del_t_handler (
-    vl_api_l2fib_add_del_t *mp)
+vl_api_l2fib_add_del_t_handler (vl_api_l2fib_add_del_t * mp)
 {
-    bd_main_t * bdm = &bd_main;
-    l2input_main_t * l2im = &l2input_main;
-    vl_api_l2fib_add_del_reply_t * rmp;
-    int rv = 0;
-    u64 mac = 0;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    u32 bd_id = ntohl(mp->bd_id);
-    u32 bd_index;
-    u32 static_mac;
-    u32 filter_mac;
-    u32 bvi_mac;
-    uword * p;
-
-    mac = mp->mac;
-
-    p = hash_get (bdm->bd_index_by_bd_id, bd_id);
-    if (!p) {
-        rv = VNET_API_ERROR_NO_SUCH_ENTRY;
-        goto bad_sw_if_index;
-    }
-    bd_index = p[0];
-
-    if (mp->is_add) {
-        VALIDATE_SW_IF_INDEX(mp);
-       if (vec_len(l2im->configs) <= sw_if_index) {
-           rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
-           goto bad_sw_if_index;
-       } else {
-           l2_input_config_t * config;
-           config = vec_elt_at_index(l2im->configs, sw_if_index);
-           if (config->bridge == 0) {
-               rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
-               goto bad_sw_if_index;
+  bd_main_t *bdm = &bd_main;
+  l2input_main_t *l2im = &l2input_main;
+  vl_api_l2fib_add_del_reply_t *rmp;
+  int rv = 0;
+  u64 mac = 0;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  u32 bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+  u32 static_mac;
+  u32 filter_mac;
+  u32 bvi_mac;
+  uword *p;
+
+  mac = mp->mac;
+
+  p = hash_get (bdm->bd_index_by_bd_id, bd_id);
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_ENTRY;
+      goto bad_sw_if_index;
+    }
+  bd_index = p[0];
+
+  if (mp->is_add)
+    {
+      VALIDATE_SW_IF_INDEX (mp);
+      if (vec_len (l2im->configs) <= sw_if_index)
+       {
+         rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
+         goto bad_sw_if_index;
+       }
+      else
+       {
+         l2_input_config_t *config;
+         config = vec_elt_at_index (l2im->configs, sw_if_index);
+         if (config->bridge == 0)
+           {
+             rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
+             goto bad_sw_if_index;
            }
        }
-        static_mac = mp->static_mac ? 1 : 0;
-       filter_mac = mp->filter_mac ? 1 : 0;
-    bvi_mac = mp->bvi_mac ? 1 : 0;
-       l2fib_add_entry(mac, bd_index, sw_if_index, static_mac, filter_mac,
-                        bvi_mac);
-    } else {
-       l2fib_del_entry(mac, bd_index);
+      static_mac = mp->static_mac ? 1 : 0;
+      filter_mac = mp->filter_mac ? 1 : 0;
+      bvi_mac = mp->bvi_mac ? 1 : 0;
+      l2fib_add_entry (mac, bd_index, sw_if_index, static_mac, filter_mac,
+                      bvi_mac);
+    }
+  else
+    {
+      l2fib_del_entry (mac, bd_index);
     }
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_L2FIB_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_L2FIB_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_l2_flags_t_handler (
-    vl_api_l2_flags_t *mp)
+vl_api_l2_flags_t_handler (vl_api_l2_flags_t * mp)
 {
-    vl_api_l2_flags_reply_t * rmp;
-    int rv = 0;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    u32 flags = ntohl(mp->feature_bitmap);
-    u32 rbm = 0;
+  vl_api_l2_flags_reply_t *rmp;
+  int rv = 0;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  u32 flags = ntohl (mp->feature_bitmap);
+  u32 rbm = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
 #define _(a,b) \
     if (flags & L2INPUT_FEAT_ ## a) \
         rbm = l2input_intf_bitmap_enable (sw_if_index, L2INPUT_FEAT_ ## a, mp->is_set);
-    foreach_l2input_feat;
+  foreach_l2input_feat;
 #undef _
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO2(VL_API_L2_FLAGS_REPLY, rmp->resulting_feature_bitmap = ntohl(rbm));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_L2_FLAGS_REPLY,
+  ({
+    rmp->resulting_feature_bitmap = ntohl(rbm);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_bridge_flags_t_handler (
-    vl_api_bridge_flags_t *mp)
+vl_api_bridge_flags_t_handler (vl_api_bridge_flags_t * mp)
 {
-    vlib_main_t *vm  = vlib_get_main();
-    bd_main_t * bdm = &bd_main;
-    vl_api_bridge_flags_reply_t * rmp;
-    int rv = 0;
-    u32 bd_id = ntohl(mp->bd_id);
-    u32 bd_index;
-    u32 flags = ntohl(mp->feature_bitmap);
-    uword * p;
+  vlib_main_t *vm = vlib_get_main ();
+  bd_main_t *bdm = &bd_main;
+  vl_api_bridge_flags_reply_t *rmp;
+  int rv = 0;
+  u32 bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+  u32 flags = ntohl (mp->feature_bitmap);
+  uword *p;
 
-    p = hash_get (bdm->bd_index_by_bd_id, bd_id);
-    if (p == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_ENTRY;
-        goto out;
+  p = hash_get (bdm->bd_index_by_bd_id, bd_id);
+  if (p == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_ENTRY;
+      goto out;
     }
 
-    bd_index = p[0];
+  bd_index = p[0];
 
-    bd_set_flags(vm, bd_index, flags, mp->is_set);
+  bd_set_flags (vm, bd_index, flags, mp->is_set);
 
 out:
-    REPLY_MACRO2(VL_API_BRIDGE_FLAGS_REPLY,
-                 rmp->resulting_feature_bitmap = ntohl(flags));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_BRIDGE_FLAGS_REPLY,
+  ({
+    rmp->resulting_feature_bitmap = ntohl(flags);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_bd_ip_mac_add_del_t_handler (
-    vl_api_bd_ip_mac_add_del_t *mp)
+vl_api_bd_ip_mac_add_del_t_handler (vl_api_bd_ip_mac_add_del_t * mp)
 {
-    bd_main_t * bdm = &bd_main;
-    vl_api_bd_ip_mac_add_del_reply_t * rmp;
-    int rv = 0;
-    u32 bd_id = ntohl(mp->bd_id);
-    u32 bd_index;
-    uword * p;
+  bd_main_t *bdm = &bd_main;
+  vl_api_bd_ip_mac_add_del_reply_t *rmp;
+  int rv = 0;
+  u32 bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+  uword *p;
 
-    p = hash_get (bdm->bd_index_by_bd_id, bd_id);
-    if (p == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_ENTRY;
-        goto out;
+  p = hash_get (bdm->bd_index_by_bd_id, bd_id);
+  if (p == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_ENTRY;
+      goto out;
     }
 
-    bd_index = p[0];
-    if (bd_add_del_ip_mac(bd_index,  mp->ip_address,
-                         mp->mac_address, mp->is_ipv6, mp->is_add))
-       rv = VNET_API_ERROR_UNSPECIFIED;
+  bd_index = p[0];
+  if (bd_add_del_ip_mac (bd_index, mp->ip_address,
+                        mp->mac_address, mp->is_ipv6, mp->is_add))
+    rv = VNET_API_ERROR_UNSPECIFIED;
 
 out:
-    REPLY_MACRO(VL_API_BD_IP_MAC_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_BD_IP_MAC_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_tap_connect_t_handler (vl_api_tap_connect_t *mp, vlib_main_t *vm)
+vl_api_tap_connect_t_handler (vl_api_tap_connect_t * mp, vlib_main_t * vm)
 {
-    int rv;
-    vl_api_tap_connect_reply_t * rmp;
-    unix_shared_memory_queue_t * q;
-    u32 sw_if_index = (u32)~0;
+  int rv;
+  vl_api_tap_connect_reply_t *rmp;
+  unix_shared_memory_queue_t *q;
+  u32 sw_if_index = (u32) ~ 0;
 
-    rv = vnet_tap_connect_renumber (vm, mp->tap_name,
-                           mp->use_random_mac ? 0 : mp->mac_address,
-                           &sw_if_index, mp->renumber,
-                           ntohl(mp->custom_dev_instance));
+  rv = vnet_tap_connect_renumber (vm, mp->tap_name,
+                                 mp->use_random_mac ? 0 : mp->mac_address,
+                                 &sw_if_index, mp->renumber,
+                                 ntohl (mp->custom_dev_instance));
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_TAP_CONNECT_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = ntohl(rv);
-    rmp->sw_if_index = ntohl(sw_if_index);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_TAP_CONNECT_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = ntohl (rv);
+  rmp->sw_if_index = ntohl (sw_if_index);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_tap_modify_t_handler (vl_api_tap_modify_t *mp, vlib_main_t *vm)
+vl_api_tap_modify_t_handler (vl_api_tap_modify_t * mp, vlib_main_t * vm)
 {
-    int rv;
-    vl_api_tap_modify_reply_t * rmp;
-    unix_shared_memory_queue_t * q;
-    u32 sw_if_index = (u32)~0;
+  int rv;
+  vl_api_tap_modify_reply_t *rmp;
+  unix_shared_memory_queue_t *q;
+  u32 sw_if_index = (u32) ~ 0;
 
-    rv = vnet_tap_modify (vm, ntohl(mp->sw_if_index), mp->tap_name,
-                           mp->use_random_mac ? 0 : mp->mac_address,
-                           &sw_if_index, mp->renumber,
-                           ntohl(mp->custom_dev_instance));
+  rv = vnet_tap_modify (vm, ntohl (mp->sw_if_index), mp->tap_name,
+                       mp->use_random_mac ? 0 : mp->mac_address,
+                       &sw_if_index, mp->renumber,
+                       ntohl (mp->custom_dev_instance));
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_TAP_MODIFY_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = ntohl(rv);
-    rmp->sw_if_index = ntohl(sw_if_index);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_TAP_MODIFY_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = ntohl (rv);
+  rmp->sw_if_index = ntohl (sw_if_index);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_tap_delete_t_handler (vl_api_tap_delete_t *mp, vlib_main_t *vm)
+vl_api_tap_delete_t_handler (vl_api_tap_delete_t * mp, vlib_main_t * vm)
 {
-    int rv;
-    vpe_api_main_t * vam = &vpe_api_main;
-    vl_api_tap_delete_reply_t * rmp;
-    unix_shared_memory_queue_t * q;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
+  int rv;
+  vpe_api_main_t *vam = &vpe_api_main;
+  vl_api_tap_delete_reply_t *rmp;
+  unix_shared_memory_queue_t *q;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
 
-    rv = vnet_tap_delete (vm, sw_if_index);
+  rv = vnet_tap_delete (vm, sw_if_index);
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_TAP_DELETE_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = ntohl(rv);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_TAP_DELETE_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = ntohl (rv);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 
-    if (!rv)
-        send_sw_interface_flags_deleted (vam, q, sw_if_index);
+  if (!rv)
+    send_sw_interface_flags_deleted (vam, q, sw_if_index);
 }
 
 static void
 vl_api_create_vlan_subif_t_handler (vl_api_create_vlan_subif_t * mp)
 {
-    vl_api_create_vlan_subif_reply_t * rmp;
-    vnet_main_t * vnm = vnet_get_main();
-    u32 hw_if_index, sw_if_index = (u32)~0;
-    vnet_hw_interface_t * hi;
-    int rv = 0;
-    u32 id;
-    vnet_sw_interface_t template;
-    uword * p;
-    vnet_interface_main_t * im = &vnm->interface_main;
-    u64 sup_and_sub_key;
-    u64 * kp;
-    unix_shared_memory_queue_t * q;
-    clib_error_t * error;
-
-    VALIDATE_SW_IF_INDEX(mp);
-
-    hw_if_index = ntohl(mp->sw_if_index);
-    hi = vnet_get_hw_interface (vnm, hw_if_index);
-
-    id = ntohl(mp->vlan_id);
-    if (id == 0 || id > 4095) {
-        rv = VNET_API_ERROR_INVALID_VLAN;
-        goto out;
+  vl_api_create_vlan_subif_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  u32 hw_if_index, sw_if_index = (u32) ~ 0;
+  vnet_hw_interface_t *hi;
+  int rv = 0;
+  u32 id;
+  vnet_sw_interface_t template;
+  uword *p;
+  vnet_interface_main_t *im = &vnm->interface_main;
+  u64 sup_and_sub_key;
+  u64 *kp;
+  unix_shared_memory_queue_t *q;
+  clib_error_t *error;
+
+  VALIDATE_SW_IF_INDEX (mp);
+
+  hw_if_index = ntohl (mp->sw_if_index);
+  hi = vnet_get_hw_interface (vnm, hw_if_index);
+
+  id = ntohl (mp->vlan_id);
+  if (id == 0 || id > 4095)
+    {
+      rv = VNET_API_ERROR_INVALID_VLAN;
+      goto out;
     }
 
-    sup_and_sub_key = ((u64)(hi->sw_if_index) << 32) | (u64) id;
+  sup_and_sub_key = ((u64) (hi->sw_if_index) << 32) | (u64) id;
 
-    p = hash_get_mem (im->sw_if_index_by_sup_and_sub, &sup_and_sub_key);
-    if (p) {
-        rv = VNET_API_ERROR_VLAN_ALREADY_EXISTS;
-        goto out;
+  p = hash_get_mem (im->sw_if_index_by_sup_and_sub, &sup_and_sub_key);
+  if (p)
+    {
+      rv = VNET_API_ERROR_VLAN_ALREADY_EXISTS;
+      goto out;
     }
 
-    kp = clib_mem_alloc (sizeof (*kp));
-    *kp = sup_and_sub_key;
+  kp = clib_mem_alloc (sizeof (*kp));
+  *kp = sup_and_sub_key;
 
-    memset (&template, 0, sizeof (template));
-    template.type = VNET_SW_INTERFACE_TYPE_SUB;
-    template.sup_sw_if_index = hi->sw_if_index;
-    template.sub.id = id;
-    template.sub.eth.raw_flags = 0;
-    template.sub.eth.flags.one_tag = 1;
-    template.sub.eth.outer_vlan_id = id;
-    template.sub.eth.flags.exact_match = 1;
+  memset (&template, 0, sizeof (template));
+  template.type = VNET_SW_INTERFACE_TYPE_SUB;
+  template.sup_sw_if_index = hi->sw_if_index;
+  template.sub.id = id;
+  template.sub.eth.raw_flags = 0;
+  template.sub.eth.flags.one_tag = 1;
+  template.sub.eth.outer_vlan_id = id;
+  template.sub.eth.flags.exact_match = 1;
 
-    error = vnet_create_sw_interface (vnm, &template, &sw_if_index);
-    if (error) {
-        clib_error_report(error);
-        rv = VNET_API_ERROR_INVALID_REGISTRATION;
-        goto out;
+  error = vnet_create_sw_interface (vnm, &template, &sw_if_index);
+  if (error)
+    {
+      clib_error_report (error);
+      rv = VNET_API_ERROR_INVALID_REGISTRATION;
+      goto out;
     }
-    hash_set (hi->sub_interface_sw_if_index_by_id, id, sw_if_index);
-    hash_set_mem (im->sw_if_index_by_sup_and_sub, kp, sw_if_index);
+  hash_set (hi->sub_interface_sw_if_index_by_id, id, sw_if_index);
+  hash_set_mem (im->sw_if_index_by_sup_and_sub, kp, sw_if_index);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
 out:
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_CREATE_VLAN_SUBIF_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = ntohl(rv);
-    rmp->sw_if_index = ntohl(sw_if_index);
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_CREATE_VLAN_SUBIF_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = ntohl (rv);
+  rmp->sw_if_index = ntohl (sw_if_index);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
 vl_api_create_subif_t_handler (vl_api_create_subif_t * mp)
 {
-    vl_api_create_subif_reply_t * rmp;
-    vnet_main_t * vnm = vnet_get_main();
-    u32 sw_if_index = ~0;
-    int rv = 0;
-    u32 sub_id;
-    vnet_sw_interface_t *si;
-    vnet_hw_interface_t *hi;
-    vnet_sw_interface_t template;
-    uword * p;
-    vnet_interface_main_t * im = &vnm->interface_main;
-    u64 sup_and_sub_key;
-    u64 * kp;
-    clib_error_t * error;
-
-    VALIDATE_SW_IF_INDEX(mp);
-
-    si = vnet_get_sup_sw_interface (vnm, ntohl(mp->sw_if_index));
-    hi = vnet_get_sup_hw_interface (vnm, ntohl(mp->sw_if_index));
-
-    if (hi->bond_info == VNET_HW_INTERFACE_BOND_INFO_SLAVE) {
-         rv = VNET_API_ERROR_BOND_SLAVE_NOT_ALLOWED;
-       goto out;
+  vl_api_create_subif_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  u32 sw_if_index = ~0;
+  int rv = 0;
+  u32 sub_id;
+  vnet_sw_interface_t *si;
+  vnet_hw_interface_t *hi;
+  vnet_sw_interface_t template;
+  uword *p;
+  vnet_interface_main_t *im = &vnm->interface_main;
+  u64 sup_and_sub_key;
+  u64 *kp;
+  clib_error_t *error;
+
+  VALIDATE_SW_IF_INDEX (mp);
+
+  si = vnet_get_sup_sw_interface (vnm, ntohl (mp->sw_if_index));
+  hi = vnet_get_sup_hw_interface (vnm, ntohl (mp->sw_if_index));
+
+  if (hi->bond_info == VNET_HW_INTERFACE_BOND_INFO_SLAVE)
+    {
+      rv = VNET_API_ERROR_BOND_SLAVE_NOT_ALLOWED;
+      goto out;
     }
 
-    sw_if_index = si->sw_if_index;
-    sub_id = ntohl(mp->sub_id);
+  sw_if_index = si->sw_if_index;
+  sub_id = ntohl (mp->sub_id);
 
-    sup_and_sub_key = ((u64)(sw_if_index) << 32) | (u64) sub_id;
+  sup_and_sub_key = ((u64) (sw_if_index) << 32) | (u64) sub_id;
 
-    p = hash_get_mem (im->sw_if_index_by_sup_and_sub, &sup_and_sub_key);
-    if (p) {
-        if (CLIB_DEBUG > 0)
-            clib_warning ("sup sw_if_index %d, sub id %d already exists\n",
-                          sw_if_index, sub_id);
-        rv = VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
-        goto out;
+  p = hash_get_mem (im->sw_if_index_by_sup_and_sub, &sup_and_sub_key);
+  if (p)
+    {
+      if (CLIB_DEBUG > 0)
+       clib_warning ("sup sw_if_index %d, sub id %d already exists\n",
+                     sw_if_index, sub_id);
+      rv = VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
+      goto out;
     }
 
-    kp = clib_mem_alloc (sizeof (*kp));
-    *kp = sup_and_sub_key;
-
-    memset (&template, 0, sizeof (template));
-    template.type = VNET_SW_INTERFACE_TYPE_SUB;
-    template.sup_sw_if_index = sw_if_index;
-    template.sub.id = sub_id;
-    template.sub.eth.flags.no_tags = mp->no_tags;
-    template.sub.eth.flags.one_tag = mp->one_tag;
-    template.sub.eth.flags.two_tags = mp->two_tags;
-    template.sub.eth.flags.dot1ad = mp->dot1ad;
-    template.sub.eth.flags.exact_match = mp->exact_match;
-    template.sub.eth.flags.default_sub = mp->default_sub;
-    template.sub.eth.flags.outer_vlan_id_any = mp->outer_vlan_id_any;
-    template.sub.eth.flags.inner_vlan_id_any = mp->inner_vlan_id_any;
-    template.sub.eth.outer_vlan_id = ntohs(mp->outer_vlan_id);
-    template.sub.eth.inner_vlan_id = ntohs(mp->inner_vlan_id);
-
-    error = vnet_create_sw_interface (vnm, &template, &sw_if_index);
-    if (error) {
-        clib_error_report (error);
-        rv = VNET_API_ERROR_SUBIF_CREATE_FAILED;
-        goto out;
+  kp = clib_mem_alloc (sizeof (*kp));
+  *kp = sup_and_sub_key;
+
+  memset (&template, 0, sizeof (template));
+  template.type = VNET_SW_INTERFACE_TYPE_SUB;
+  template.sup_sw_if_index = sw_if_index;
+  template.sub.id = sub_id;
+  template.sub.eth.flags.no_tags = mp->no_tags;
+  template.sub.eth.flags.one_tag = mp->one_tag;
+  template.sub.eth.flags.two_tags = mp->two_tags;
+  template.sub.eth.flags.dot1ad = mp->dot1ad;
+  template.sub.eth.flags.exact_match = mp->exact_match;
+  template.sub.eth.flags.default_sub = mp->default_sub;
+  template.sub.eth.flags.outer_vlan_id_any = mp->outer_vlan_id_any;
+  template.sub.eth.flags.inner_vlan_id_any = mp->inner_vlan_id_any;
+  template.sub.eth.outer_vlan_id = ntohs (mp->outer_vlan_id);
+  template.sub.eth.inner_vlan_id = ntohs (mp->inner_vlan_id);
+
+  error = vnet_create_sw_interface (vnm, &template, &sw_if_index);
+  if (error)
+    {
+      clib_error_report (error);
+      rv = VNET_API_ERROR_SUBIF_CREATE_FAILED;
+      goto out;
     }
 
-    hash_set (hi->sub_interface_sw_if_index_by_id, sub_id, sw_if_index);
-    hash_set_mem (im->sw_if_index_by_sup_and_sub, kp, sw_if_index);
+  hash_set (hi->sub_interface_sw_if_index_by_id, sub_id, sw_if_index);
+  hash_set_mem (im->sw_if_index_by_sup_and_sub, kp, sw_if_index);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
 out:
 
-    REPLY_MACRO2(VL_API_CREATE_SUBIF_REPLY,
-    ({
-        rmp->sw_if_index = ntohl(sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CREATE_SUBIF_REPLY,
+  ({
+    rmp->sw_if_index = ntohl(sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_mpls_gre_add_del_tunnel_t_handler (vl_api_mpls_gre_add_del_tunnel_t *mp)
+vl_api_mpls_gre_add_del_tunnel_t_handler (vl_api_mpls_gre_add_del_tunnel_t *
+                                         mp)
 {
-    vl_api_mpls_gre_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
-    stats_main_t * sm = &stats_main;
-    u32 tunnel_sw_if_index = ~0;
-
-    dslock (sm, 1 /* release hint */, 5 /* tag */);
-
-    rv = vnet_mpls_gre_add_del_tunnel ((ip4_address_t *)(mp->src_address),
-                                       (ip4_address_t *)(mp->dst_address),
-                                       (ip4_address_t *)(mp->intfc_address),
-                                       (u32)(mp->intfc_address_length),
-                                       ntohl(mp->inner_vrf_id),
-                                       ntohl(mp->outer_vrf_id),
-                                       &tunnel_sw_if_index,
-                                       mp->l2_only,
-                                       mp->is_add);
-    dsunlock (sm);
-
-    REPLY_MACRO2(VL_API_MPLS_GRE_ADD_DEL_TUNNEL_REPLY,
-    ({
-        rmp->tunnel_sw_if_index = ntohl(tunnel_sw_if_index);
-    }));
+  vl_api_mpls_gre_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
+  stats_main_t *sm = &stats_main;
+  u32 tunnel_sw_if_index = ~0;
+
+  dslock (sm, 1 /* release hint */ , 5 /* tag */ );
+
+  rv = vnet_mpls_gre_add_del_tunnel ((ip4_address_t *) (mp->src_address),
+                                    (ip4_address_t *) (mp->dst_address),
+                                    (ip4_address_t *) (mp->intfc_address),
+                                    (u32) (mp->intfc_address_length),
+                                    ntohl (mp->inner_vrf_id),
+                                    ntohl (mp->outer_vrf_id),
+                                    &tunnel_sw_if_index,
+                                    mp->l2_only, mp->is_add);
+  dsunlock (sm);
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_MPLS_GRE_ADD_DEL_TUNNEL_REPLY,
+  ({
+    rmp->tunnel_sw_if_index = ntohl(tunnel_sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_mpls_ethernet_add_del_tunnel_t_handler
-(vl_api_mpls_ethernet_add_del_tunnel_t *mp)
+  vl_api_mpls_ethernet_add_del_tunnel_t_handler
+  (vl_api_mpls_ethernet_add_del_tunnel_t * mp)
 {
-    vl_api_mpls_ethernet_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
-    stats_main_t * sm = &stats_main;
-    u32 tunnel_sw_if_index;
+  vl_api_mpls_ethernet_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
+  stats_main_t *sm = &stats_main;
+  u32 tunnel_sw_if_index;
 
-    dslock (sm, 1 /* release hint */, 5 /* tag */);
+  dslock (sm, 1 /* release hint */ , 5 /* tag */ );
 
-    rv = vnet_mpls_ethernet_add_del_tunnel
-        (mp->dst_mac_address, (ip4_address_t *)(mp->adj_address),
-         (u32)(mp->adj_address_length), ntohl(mp->vrf_id),
-         ntohl(mp->tx_sw_if_index),
-         &tunnel_sw_if_index,
-         mp->l2_only,
-         mp->is_add);
+  rv = vnet_mpls_ethernet_add_del_tunnel
+    (mp->dst_mac_address, (ip4_address_t *) (mp->adj_address),
+     (u32) (mp->adj_address_length), ntohl (mp->vrf_id),
+     ntohl (mp->tx_sw_if_index),
+     &tunnel_sw_if_index, mp->l2_only, mp->is_add);
 
-    dsunlock (sm);
+  dsunlock (sm);
 
-    REPLY_MACRO2(VL_API_MPLS_ETHERNET_ADD_DEL_TUNNEL_REPLY,
-    ({
-        rmp->tunnel_sw_if_index = ntohl(tunnel_sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_MPLS_ETHERNET_ADD_DEL_TUNNEL_REPLY,
+  ({
+    rmp->tunnel_sw_if_index = ntohl(tunnel_sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 /*
@@ -2061,810 +2172,854 @@ vl_api_mpls_ethernet_add_del_tunnel_t_handler
  * can't figure out the tx interface + dst-mac address all by itself
  */
 static int mpls_ethernet_add_del_tunnel_2_t_handler
-(vl_api_mpls_ethernet_add_del_tunnel_2_t *mp)
-{
-    pending_route_t * pr;
-    vl_api_mpls_ethernet_add_del_tunnel_2_t *pme;
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
-    stats_main_t * sm = &stats_main;
-    vpe_api_main_t * vam = &vpe_api_main;
-    u32 inner_fib_index, outer_fib_index;
-    ip4_main_t * im = &ip4_main;
-    ip_lookup_main_t * lm = &im->lookup_main;
-    ip_adjacency_t * adj = 0;
-    u32 lookup_result;
-    u32 tx_sw_if_index;
-    u8 * dst_mac_address;
-    clib_error_t * e;
-    uword * p;
-    int rv;
-    u32 tunnel_sw_if_index;
-
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->outer_vrf_id));
-    if (!p)
-        return VNET_API_ERROR_NO_SUCH_FIB;
-    else
-        outer_fib_index = p[0];
-
+  (vl_api_mpls_ethernet_add_del_tunnel_2_t * mp)
+{
+  pending_route_t *pr;
+  vl_api_mpls_ethernet_add_del_tunnel_2_t *pme;
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
+  stats_main_t *sm = &stats_main;
+  vpe_api_main_t *vam = &vpe_api_main;
+  u32 inner_fib_index, outer_fib_index;
+  ip4_main_t *im = &ip4_main;
+  ip_lookup_main_t *lm = &im->lookup_main;
+  ip_adjacency_t *adj = 0;
+  u32 lookup_result;
+  u32 tx_sw_if_index;
+  u8 *dst_mac_address;
+  clib_error_t *e;
+  uword *p;
+  int rv;
+  u32 tunnel_sw_if_index;
 
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->inner_vrf_id));
-    if (!p)
-        return VNET_API_ERROR_NO_SUCH_INNER_FIB;
-    else
-        inner_fib_index = p[0];
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->outer_vrf_id));
+  if (!p)
+    return VNET_API_ERROR_NO_SUCH_FIB;
+  else
+    outer_fib_index = p[0];
 
-    if (inner_fib_index == outer_fib_index)
-        return VNET_API_ERROR_INVALID_VALUE;
 
-    lookup_result = ip4_fib_lookup_with_table
-        (im, outer_fib_index,
-         (ip4_address_t *)mp->next_hop_ip4_address_in_outer_vrf,
-         1 /* disable default route */);
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->inner_vrf_id));
+  if (!p)
+    return VNET_API_ERROR_NO_SUCH_INNER_FIB;
+  else
+    inner_fib_index = p[0];
 
-    adj = ip_get_adjacency (lm, lookup_result);
-    tx_sw_if_index = adj->rewrite_header.sw_if_index;
+  if (inner_fib_index == outer_fib_index)
+    return VNET_API_ERROR_INVALID_VALUE;
 
-    if (mp->is_add && mp->resolve_if_needed) {
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) {
-            pool_get (vam->pending_routes, pr);
-            pr->resolve_type = RESOLVE_MPLS_ETHERNET_ADD_DEL;
-            pme = &pr->t;
-            clib_memcpy (pme, mp, sizeof (*pme));
-            /* recursion block, "just in case" */
-            pme->resolve_if_needed = 0;
-            pme->resolve_attempts = ntohl(mp->resolve_attempts);
-            pme->resolve_opaque = tx_sw_if_index;
-            vnet_register_ip4_arp_resolution_event
-                (vnm,
-                 (ip4_address_t *)&(pme->next_hop_ip4_address_in_outer_vrf),
-                 vpe_resolver_process_node.index,
-                 RESOLUTION_EVENT, pr - vam->pending_routes);
-
-            vlib_process_signal_event
-                (vm, vpe_resolver_process_node.index,
-                 RESOLUTION_PENDING_EVENT, 0 /* data */);
-
-            /* The interface may be down, etc. */
-            e = ip4_probe_neighbor
-                (vm, (ip4_address_t *)&(mp->next_hop_ip4_address_in_outer_vrf),
-                 tx_sw_if_index);
+  lookup_result = ip4_fib_lookup_with_table
+    (im, outer_fib_index,
+     (ip4_address_t *) mp->next_hop_ip4_address_in_outer_vrf,
+     1 /* disable default route */ );
 
-            if (e)
-                clib_error_report(e);
+  adj = ip_get_adjacency (lm, lookup_result);
+  tx_sw_if_index = adj->rewrite_header.sw_if_index;
 
-            return VNET_API_ERROR_IN_PROGRESS;
-        }
+  if (mp->is_add && mp->resolve_if_needed)
+    {
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP)
+       {
+         pool_get (vam->pending_routes, pr);
+         pr->resolve_type = RESOLVE_MPLS_ETHERNET_ADD_DEL;
+         pme = &pr->t;
+         clib_memcpy (pme, mp, sizeof (*pme));
+         /* recursion block, "just in case" */
+         pme->resolve_if_needed = 0;
+         pme->resolve_attempts = ntohl (mp->resolve_attempts);
+         pme->resolve_opaque = tx_sw_if_index;
+         vnet_register_ip4_arp_resolution_event
+           (vnm,
+            (ip4_address_t *) & (pme->next_hop_ip4_address_in_outer_vrf),
+            vpe_resolver_process_node.index,
+            RESOLUTION_EVENT, pr - vam->pending_routes);
+
+         vlib_process_signal_event
+           (vm, vpe_resolver_process_node.index,
+            RESOLUTION_PENDING_EVENT, 0 /* data */ );
+
+         /* The interface may be down, etc. */
+         e = ip4_probe_neighbor
+           (vm, (ip4_address_t *) & (mp->next_hop_ip4_address_in_outer_vrf),
+            tx_sw_if_index);
+
+         if (e)
+           clib_error_report (e);
+
+         return VNET_API_ERROR_IN_PROGRESS;
+       }
     }
 
-    if (adj->lookup_next_index != IP_LOOKUP_NEXT_REWRITE)
-        return VNET_API_ERROR_NEXT_HOP_NOT_IN_FIB;
+  if (adj->lookup_next_index != IP_LOOKUP_NEXT_REWRITE)
+    return VNET_API_ERROR_NEXT_HOP_NOT_IN_FIB;
 
-    dst_mac_address =
-        vnet_rewrite_get_data_internal
-        (&adj->rewrite_header, sizeof (adj->rewrite_data));
+  dst_mac_address =
+    vnet_rewrite_get_data_internal
+    (&adj->rewrite_header, sizeof (adj->rewrite_data));
 
-    dslock (sm, 1 /* release hint */, 10 /* tag */);
+  dslock (sm, 1 /* release hint */ , 10 /* tag */ );
 
-    rv = vnet_mpls_ethernet_add_del_tunnel
-        (dst_mac_address, (ip4_address_t *)(mp->adj_address),
-         (u32)(mp->adj_address_length), ntohl(mp->inner_vrf_id),
-         tx_sw_if_index, &tunnel_sw_if_index, mp->l2_only, mp->is_add);
+  rv = vnet_mpls_ethernet_add_del_tunnel
+    (dst_mac_address, (ip4_address_t *) (mp->adj_address),
+     (u32) (mp->adj_address_length), ntohl (mp->inner_vrf_id),
+     tx_sw_if_index, &tunnel_sw_if_index, mp->l2_only, mp->is_add);
 
-    dsunlock (sm);
+  dsunlock (sm);
 
-    return rv;
+  return rv;
 }
 
 static void
-vl_api_mpls_ethernet_add_del_tunnel_2_t_handler
-(vl_api_mpls_ethernet_add_del_tunnel_2_t *mp)
+  vl_api_mpls_ethernet_add_del_tunnel_2_t_handler
+  (vl_api_mpls_ethernet_add_del_tunnel_2_t * mp)
 {
-    vl_api_mpls_ethernet_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
+  vl_api_mpls_ethernet_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
 
-    rv = mpls_ethernet_add_del_tunnel_2_t_handler (mp);
+  rv = mpls_ethernet_add_del_tunnel_2_t_handler (mp);
 
-    REPLY_MACRO(VL_API_MPLS_ETHERNET_ADD_DEL_TUNNEL_2_REPLY);
+  REPLY_MACRO (VL_API_MPLS_ETHERNET_ADD_DEL_TUNNEL_2_REPLY);
 }
 
 
 static void
-vl_api_mpls_add_del_encap_t_handler (vl_api_mpls_add_del_encap_t *mp)
+vl_api_mpls_add_del_encap_t_handler (vl_api_mpls_add_del_encap_t * mp)
 {
-    vl_api_mpls_add_del_encap_reply_t * rmp;
-    int rv;
-    static u32 * labels;
-    int i;
+  vl_api_mpls_add_del_encap_reply_t *rmp;
+  int rv;
+  static u32 *labels;
+  int i;
 
-    vec_reset_length (labels);
+  vec_reset_length (labels);
 
-    for (i = 0; i < mp->nlabels; i++)
-        vec_add1 (labels, ntohl(mp->labels[i]));
+  for (i = 0; i < mp->nlabels; i++)
+    vec_add1 (labels, ntohl (mp->labels[i]));
 
-    /* $$$$ fixme */
-    rv = vnet_mpls_add_del_encap ((ip4_address_t *)mp->dst_address,
-                                  ntohl(mp->vrf_id), labels,
-                                  ~0 /* policy_tunnel_index */,
-                                  0 /* no_dst_hash */,
-                                  0 /* indexp */,
-                                  mp->is_add);
+  /* $$$$ fixme */
+  rv = vnet_mpls_add_del_encap ((ip4_address_t *) mp->dst_address,
+                               ntohl (mp->vrf_id), labels,
+                               ~0 /* policy_tunnel_index */ ,
+                               0 /* no_dst_hash */ ,
+                               0 /* indexp */ ,
+                               mp->is_add);
 
-    REPLY_MACRO(VL_API_MPLS_ADD_DEL_ENCAP_REPLY);
+  REPLY_MACRO (VL_API_MPLS_ADD_DEL_ENCAP_REPLY);
 }
 
 static void
-vl_api_mpls_add_del_decap_t_handler
-(vl_api_mpls_add_del_decap_t *mp)
+vl_api_mpls_add_del_decap_t_handler (vl_api_mpls_add_del_decap_t * mp)
 {
-    vl_api_mpls_add_del_decap_reply_t * rmp;
-    int rv;
+  vl_api_mpls_add_del_decap_reply_t *rmp;
+  int rv;
 
-    rv = vnet_mpls_add_del_decap (ntohl(mp->rx_vrf_id), ntohl(mp->tx_vrf_id),
-                                  ntohl(mp->label), ntohl(mp->next_index),
-                                  mp->s_bit, mp->is_add);
+  rv = vnet_mpls_add_del_decap (ntohl (mp->rx_vrf_id), ntohl (mp->tx_vrf_id),
+                               ntohl (mp->label), ntohl (mp->next_index),
+                               mp->s_bit, mp->is_add);
 
-    REPLY_MACRO(VL_API_MPLS_ADD_DEL_DECAP_REPLY);
+  REPLY_MACRO (VL_API_MPLS_ADD_DEL_DECAP_REPLY);
 }
 
 static void
-vl_api_proxy_arp_add_del_t_handler (vl_api_proxy_arp_add_del_t *mp)
+vl_api_proxy_arp_add_del_t_handler (vl_api_proxy_arp_add_del_t * mp)
 {
-    vl_api_proxy_arp_add_del_reply_t * rmp;
-    u32 fib_index;
-    int rv;
-    ip4_main_t * im = &ip4_main;
-    stats_main_t * sm = &stats_main;
-    int vnet_proxy_arp_add_del (ip4_address_t *lo_addr,
-                                ip4_address_t *hi_addr,
-                                u32 fib_index, int is_del);
-    uword * p;
+  vl_api_proxy_arp_add_del_reply_t *rmp;
+  u32 fib_index;
+  int rv;
+  ip4_main_t *im = &ip4_main;
+  stats_main_t *sm = &stats_main;
+  int vnet_proxy_arp_add_del (ip4_address_t * lo_addr,
+                             ip4_address_t * hi_addr,
+                             u32 fib_index, int is_del);
+  uword *p;
 
-    dslock (sm, 1 /* release hint */, 6 /* tag */);
+  dslock (sm, 1 /* release hint */ , 6 /* tag */ );
 
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->vrf_id));
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->vrf_id));
 
-    if (! p) {
-        rv = VNET_API_ERROR_NO_SUCH_FIB;
-        goto out;
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_FIB;
+      goto out;
     }
 
-    fib_index = p[0];
+  fib_index = p[0];
 
-    rv = vnet_proxy_arp_add_del ((ip4_address_t *)mp->low_address,
-                                 (ip4_address_t *)mp->hi_address,
-                                 fib_index, mp->is_add == 0);
+  rv = vnet_proxy_arp_add_del ((ip4_address_t *) mp->low_address,
+                              (ip4_address_t *) mp->hi_address,
+                              fib_index, mp->is_add == 0);
 
 out:
-    dsunlock (sm);
-    REPLY_MACRO(VL_API_PROXY_ARP_ADD_DEL_REPLY);
+  dsunlock (sm);
+  REPLY_MACRO (VL_API_PROXY_ARP_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_proxy_arp_intfc_enable_disable_t_handler
-(vl_api_proxy_arp_intfc_enable_disable_t *mp)
+  vl_api_proxy_arp_intfc_enable_disable_t_handler
+  (vl_api_proxy_arp_intfc_enable_disable_t * mp)
 {
-    int rv = 0;
-    vnet_main_t * vnm = vnet_get_main();
-    vl_api_proxy_arp_intfc_enable_disable_reply_t *rmp;
-    vnet_sw_interface_t * si;
-    u32 sw_if_index;
+  int rv = 0;
+  vnet_main_t *vnm = vnet_get_main ();
+  vl_api_proxy_arp_intfc_enable_disable_reply_t *rmp;
+  vnet_sw_interface_t *si;
+  u32 sw_if_index;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    sw_if_index = ntohl(mp->sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    if (pool_is_free_index (vnm->interface_main.sw_interfaces,
-                            sw_if_index)) {
-        rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
-        goto out;
+  if (pool_is_free_index (vnm->interface_main.sw_interfaces, sw_if_index))
+    {
+      rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
+      goto out;
     }
 
-    si = vnet_get_sw_interface (vnm, sw_if_index);
+  si = vnet_get_sw_interface (vnm, sw_if_index);
 
-    ASSERT(si);
+  ASSERT (si);
 
-    if (mp->enable_disable)
-        si->flags |= VNET_SW_INTERFACE_FLAG_PROXY_ARP;
-    else
-        si->flags &= ~VNET_SW_INTERFACE_FLAG_PROXY_ARP;
-
-    BAD_SW_IF_INDEX_LABEL;
-
-    out:
-    REPLY_MACRO(VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE_REPLY);
-}
-
-static void
-vl_api_ip_neighbor_add_del_t_handler (vl_api_ip_neighbor_add_del_t *mp, vlib_main_t * vm)
-{
-    vl_api_ip_neighbor_add_del_reply_t * rmp;
-    vnet_main_t * vnm = vnet_get_main();
-    u32 fib_index;
-    int rv=0;
-    stats_main_t * sm = &stats_main;
-
-    VALIDATE_SW_IF_INDEX(mp);
-
-    dslock (sm, 1 /* release hint */, 7 /* tag */);
-
-    if (mp->is_ipv6) {
-        if (mp->is_add)
-            rv = vnet_set_ip6_ethernet_neighbor
-                (vm, ntohl(mp->sw_if_index),
-                 (ip6_address_t *)(mp->dst_address),
-                 mp->mac_address, sizeof (mp->mac_address), mp->is_static);
-        else
-            rv = vnet_unset_ip6_ethernet_neighbor
-                (vm, ntohl(mp->sw_if_index),
-                 (ip6_address_t *)(mp->dst_address),
-                 mp->mac_address, sizeof(mp->mac_address));
-    } else {
-        ip4_main_t * im = &ip4_main;
-        ip_lookup_main_t * lm = &im->lookup_main;
-        ethernet_arp_ip4_over_ethernet_address_t a;
-        u32 ai;
-        ip_adjacency_t *nh_adj;
-
-        uword * p = hash_get (im->fib_index_by_table_id, ntohl(mp->vrf_id));
-        if (! p) {
-            rv = VNET_API_ERROR_NO_SUCH_FIB;
-            goto out;
-        }
-        fib_index = p[0];
-
-        /*
-         * Unfortunately, folks have a penchant for
-         * adding interface addresses to the ARP cache, and
-         * wondering why the forwarder eventually ASSERTs...
-         */
-        ai = ip4_fib_lookup_with_table
-            (im, fib_index, (ip4_address_t *)(mp->dst_address),
-             1 /* disable default route */);
-
-        if (ai != 0) {
-            nh_adj = ip_get_adjacency (lm, ai);
-            /* Never allow manipulation of a local adj! */
-            if (nh_adj->lookup_next_index == IP_LOOKUP_NEXT_LOCAL) {
-                clib_warning("%U matches local adj",
-                             format_ip4_address,
-                             (ip4_address_t *)(mp->dst_address));
-                rv = VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
-                goto out;
-            }
-        }
-
-        clib_memcpy (&a.ethernet, mp->mac_address, 6);
-        clib_memcpy (&a.ip4, mp->dst_address, 4);
-
-        if (mp->is_add)
-            rv = vnet_arp_set_ip4_over_ethernet (vnm, ntohl(mp->sw_if_index),
-                                                 fib_index, &a, mp->is_static);
-        else
-            rv = vnet_arp_unset_ip4_over_ethernet (vnm, ntohl(mp->sw_if_index),
-                                                   fib_index, &a);
-    }
-
-    BAD_SW_IF_INDEX_LABEL;
-    out:
-    dsunlock (sm);
-    REPLY_MACRO(VL_API_IP_NEIGHBOR_ADD_DEL_REPLY);
-}
-
-static void
-vl_api_is_address_reachable_t_handler (vl_api_is_address_reachable_t *mp)
+  if (mp->enable_disable)
+    si->flags |= VNET_SW_INTERFACE_FLAG_PROXY_ARP;
+  else
+    si->flags &= ~VNET_SW_INTERFACE_FLAG_PROXY_ARP;
+
+  BAD_SW_IF_INDEX_LABEL;
+
+out:
+  REPLY_MACRO (VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE_REPLY);
+}
+
+static void
+vl_api_ip_neighbor_add_del_t_handler (vl_api_ip_neighbor_add_del_t * mp,
+                                     vlib_main_t * vm)
+{
+  vl_api_ip_neighbor_add_del_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  u32 fib_index;
+  int rv = 0;
+  stats_main_t *sm = &stats_main;
+
+  VALIDATE_SW_IF_INDEX (mp);
+
+  dslock (sm, 1 /* release hint */ , 7 /* tag */ );
+
+  if (mp->is_ipv6)
+    {
+      if (mp->is_add)
+       rv = vnet_set_ip6_ethernet_neighbor
+         (vm, ntohl (mp->sw_if_index),
+          (ip6_address_t *) (mp->dst_address),
+          mp->mac_address, sizeof (mp->mac_address), mp->is_static);
+      else
+       rv = vnet_unset_ip6_ethernet_neighbor
+         (vm, ntohl (mp->sw_if_index),
+          (ip6_address_t *) (mp->dst_address),
+          mp->mac_address, sizeof (mp->mac_address));
+    }
+  else
+    {
+      ip4_main_t *im = &ip4_main;
+      ip_lookup_main_t *lm = &im->lookup_main;
+      ethernet_arp_ip4_over_ethernet_address_t a;
+      u32 ai;
+      ip_adjacency_t *nh_adj;
+
+      uword *p = hash_get (im->fib_index_by_table_id, ntohl (mp->vrf_id));
+      if (!p)
+       {
+         rv = VNET_API_ERROR_NO_SUCH_FIB;
+         goto out;
+       }
+      fib_index = p[0];
+
+      /*
+       * Unfortunately, folks have a penchant for
+       * adding interface addresses to the ARP cache, and
+       * wondering why the forwarder eventually ASSERTs...
+       */
+      ai = ip4_fib_lookup_with_table
+       (im, fib_index, (ip4_address_t *) (mp->dst_address),
+        1 /* disable default route */ );
+
+      if (ai != 0)
+       {
+         nh_adj = ip_get_adjacency (lm, ai);
+         /* Never allow manipulation of a local adj! */
+         if (nh_adj->lookup_next_index == IP_LOOKUP_NEXT_LOCAL)
+           {
+             clib_warning ("%U matches local adj",
+                           format_ip4_address,
+                           (ip4_address_t *) (mp->dst_address));
+             rv = VNET_API_ERROR_ADDRESS_MATCHES_INTERFACE_ADDRESS;
+             goto out;
+           }
+       }
+
+      clib_memcpy (&a.ethernet, mp->mac_address, 6);
+      clib_memcpy (&a.ip4, mp->dst_address, 4);
+
+      if (mp->is_add)
+       rv = vnet_arp_set_ip4_over_ethernet (vnm, ntohl (mp->sw_if_index),
+                                            fib_index, &a, mp->is_static);
+      else
+       rv = vnet_arp_unset_ip4_over_ethernet (vnm, ntohl (mp->sw_if_index),
+                                              fib_index, &a);
+    }
+
+  BAD_SW_IF_INDEX_LABEL;
+out:
+  dsunlock (sm);
+  REPLY_MACRO (VL_API_IP_NEIGHBOR_ADD_DEL_REPLY);
+}
+
+static void
+vl_api_is_address_reachable_t_handler (vl_api_is_address_reachable_t * mp)
 {
 #if 0
-    vpe_main_t *rm = &vpe_main;
-    ip4_main_t *im4 = &ip4_main;
-    ip6_main_t *im6 = &ip6_main;
-    ip_lookup_main_t * lm;
-    union {
-        ip4_address_t ip4;
-        ip6_address_t ip6;
-    } addr;
-    u32 adj_index, sw_if_index;
-    vl_api_is_address_reachable_t *rmp;
-    ip_adjacency_t * adj;
-    unix_shared_memory_queue_t *q;
-
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q) {
-        increment_missing_api_client_counter (rm->vlib_main);
-        return;
+  vpe_main_t *rm = &vpe_main;
+  ip4_main_t *im4 = &ip4_main;
+  ip6_main_t *im6 = &ip6_main;
+  ip_lookup_main_t *lm;
+  union
+  {
+    ip4_address_t ip4;
+    ip6_address_t ip6;
+  } addr;
+  u32 adj_index, sw_if_index;
+  vl_api_is_address_reachable_t *rmp;
+  ip_adjacency_t *adj;
+  unix_shared_memory_queue_t *q;
+
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    {
+      increment_missing_api_client_counter (rm->vlib_main);
+      return;
     }
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    clib_memcpy (rmp, mp, sizeof (*rmp));
-
-    sw_if_index = mp->next_hop_sw_if_index;
-    clib_memcpy (&addr, mp->address, sizeof (addr));
-    if (mp->is_ipv6) {
-        lm = &im6->lookup_main;
-        adj_index =
-            ip6_fib_lookup (im6, sw_if_index, &addr.ip6);
-    } else {
-        lm = &im4->lookup_main;
-        adj_index =
-            ip4_fib_lookup (im4, sw_if_index, &addr.ip4);
-    }
-    if (adj_index == ~0) {
-        rmp->is_error = 1;
-        goto send;
-    }
-    adj = ip_get_adjacency (lm, adj_index);
-
-    if (adj->lookup_next_index == IP_LOOKUP_NEXT_REWRITE
-        && adj->rewrite_header.sw_if_index == sw_if_index) {
-        rmp->is_known = 1;
-    } else {
-        if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP
-            && adj->rewrite_header.sw_if_index == sw_if_index) {
-            if (mp->is_ipv6)
-                ip6_probe_neighbor (rm->vlib_main, &addr.ip6, sw_if_index);
-            else
-                ip4_probe_neighbor (rm->vlib_main, &addr.ip4, sw_if_index);
-        } else if (adj->lookup_next_index == IP_LOOKUP_NEXT_DROP) {
-            rmp->is_known = 1;
-            goto send;
-        }
-        rmp->is_known = 0;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  clib_memcpy (rmp, mp, sizeof (*rmp));
+
+  sw_if_index = mp->next_hop_sw_if_index;
+  clib_memcpy (&addr, mp->address, sizeof (addr));
+  if (mp->is_ipv6)
+    {
+      lm = &im6->lookup_main;
+      adj_index = ip6_fib_lookup (im6, sw_if_index, &addr.ip6);
+    }
+  else
+    {
+      lm = &im4->lookup_main;
+      adj_index = ip4_fib_lookup (im4, sw_if_index, &addr.ip4);
+    }
+  if (adj_index == ~0)
+    {
+      rmp->is_error = 1;
+      goto send;
+    }
+  adj = ip_get_adjacency (lm, adj_index);
+
+  if (adj->lookup_next_index == IP_LOOKUP_NEXT_REWRITE
+      && adj->rewrite_header.sw_if_index == sw_if_index)
+    {
+      rmp->is_known = 1;
+    }
+  else
+    {
+      if (adj->lookup_next_index == IP_LOOKUP_NEXT_ARP
+         && adj->rewrite_header.sw_if_index == sw_if_index)
+       {
+         if (mp->is_ipv6)
+           ip6_probe_neighbor (rm->vlib_main, &addr.ip6, sw_if_index);
+         else
+           ip4_probe_neighbor (rm->vlib_main, &addr.ip4, sw_if_index);
+       }
+      else if (adj->lookup_next_index == IP_LOOKUP_NEXT_DROP)
+       {
+         rmp->is_known = 1;
+         goto send;
+       }
+      rmp->is_known = 0;
     }
 
 send:
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 #endif
 }
 
-static void vl_api_sw_interface_details_t_handler (
-    vl_api_sw_interface_details_t * mp)
+static void
+vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t * mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void vl_api_sw_interface_set_flags_t_handler (
-    vl_api_sw_interface_set_flags_t * mp)
+static void
+vl_api_sw_interface_set_flags_t_handler (vl_api_sw_interface_set_flags_t * mp)
 {
-   vl_api_sw_interface_set_flags_reply_t *rmp;
-   vnet_main_t * vnm = vnet_get_main();
-   int rv = 0;
-   clib_error_t * error;
-   u16 flags;
-
-   VALIDATE_SW_IF_INDEX(mp);
+  vl_api_sw_interface_set_flags_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  int rv = 0;
+  clib_error_t *error;
+  u16 flags;
 
-   flags = mp->admin_up_down ? VNET_SW_INTERFACE_FLAG_ADMIN_UP : 0;
+  VALIDATE_SW_IF_INDEX (mp);
 
-   error = vnet_sw_interface_set_flags (vnm,
-                                        ntohl(mp->sw_if_index),
-                                        flags);
-   if (error) {
-       rv = -1;
-       clib_error_report (error);
-   }
-
-   BAD_SW_IF_INDEX_LABEL;
-   REPLY_MACRO(VL_API_SW_INTERFACE_SET_FLAGS_REPLY);
-}
-
-static void vl_api_sw_interface_clear_stats_t_handler (
-    vl_api_sw_interface_clear_stats_t * mp)
-{
-   vl_api_sw_interface_clear_stats_reply_t *rmp;
-
-   vnet_main_t * vnm = vnet_get_main();
-   vnet_interface_main_t * im = &vnm->interface_main;
-   vlib_simple_counter_main_t * sm;
-   vlib_combined_counter_main_t * cm;
-   static vnet_main_t ** my_vnet_mains;
-   int i, j, n_counters;
-
-   int rv = 0;
-
-   vec_reset_length (my_vnet_mains);
-
-   for (i = 0; i < vec_len (vnet_mains); i++)
-     {
-       if (vnet_mains[i])
-         vec_add1 (my_vnet_mains, vnet_mains[i]);
-     }
-
-   if (vec_len (vnet_mains) == 0)
-     vec_add1 (my_vnet_mains, vnm);
-
-   n_counters = vec_len (im->combined_sw_if_counters);
-
-   for (j = 0; j < n_counters; j++)
-     {
-       for (i = 0; i < vec_len(my_vnet_mains); i++)
-         {
-           im = &my_vnet_mains[i]->interface_main;
-           cm = im->combined_sw_if_counters + j;
-           if (mp->sw_if_index == (u32)~0)
-             vlib_clear_combined_counters (cm);
-           else
-             vlib_zero_combined_counter (cm, ntohl(mp->sw_if_index));
-         }
-     }
-
-   n_counters = vec_len (im->sw_if_counters);
-
-   for (j = 0; j < n_counters; j++)
-     {
-       for (i = 0; i < vec_len(my_vnet_mains); i++)
-         {
-           im = &my_vnet_mains[i]->interface_main;
-           sm = im->sw_if_counters + j;
-           if (mp->sw_if_index == (u32)~0)
-             vlib_clear_simple_counters (sm);
-           else
-             vlib_zero_simple_counter (sm, ntohl(mp->sw_if_index));
-         }
-     }
-
-   REPLY_MACRO(VL_API_SW_INTERFACE_CLEAR_STATS_REPLY);
-}
-
-static void send_sw_interface_details (vpe_api_main_t * am,
-                                       unix_shared_memory_queue_t *q,
-                                       vnet_sw_interface_t * swif,
-                                       u8 * interface_name,
-                                       u32 context)
-{
-    vl_api_sw_interface_details_t * mp;
-    vnet_hw_interface_t * hi;
-
-    hi = vnet_get_sup_hw_interface (am->vnet_main, swif->sw_if_index);
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_INTERFACE_DETAILS);
-    mp->sw_if_index = ntohl(swif->sw_if_index);
-    mp->sup_sw_if_index = ntohl(swif->sup_sw_if_index);
-    mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ?
-        1 : 0;
-    mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ?
-        1 : 0;
-    mp->link_duplex = ((hi->flags & VNET_HW_INTERFACE_FLAG_DUPLEX_MASK) >>
-                      VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT);
-    mp->link_speed = ((hi->flags & VNET_HW_INTERFACE_FLAG_SPEED_MASK) >>
-                     VNET_HW_INTERFACE_FLAG_SPEED_SHIFT);
-    mp->link_mtu = ntohs(hi->max_packet_bytes);
-    mp->context = context;
-
-    strncpy ((char *) mp->interface_name,
-             (char *) interface_name, ARRAY_LEN(mp->interface_name)-1);
-
-    /* Send the L2 address for ethernet physical intfcs */
-    if (swif->sup_sw_if_index == swif->sw_if_index
-        && hi->hw_class_index == ethernet_hw_interface_class.index) {
-        ethernet_main_t *em = ethernet_get_main (am->vlib_main);
-        ethernet_interface_t *ei;
-
-        ei = pool_elt_at_index (em->interfaces, hi->hw_instance);
-        ASSERT (sizeof (mp->l2_address) >= sizeof (ei->address));
-        clib_memcpy (mp->l2_address, ei->address, sizeof (ei->address));
-        mp->l2_address_length = ntohl(sizeof (ei->address));
-    } else if (swif->sup_sw_if_index != swif->sw_if_index) {
-        vnet_sub_interface_t *sub = &swif->sub;
-        mp->sub_id = ntohl(sub->id);
-        mp->sub_dot1ad = sub->eth.flags.dot1ad;
-        mp->sub_number_of_tags = sub->eth.flags.one_tag + sub->eth.flags.two_tags*2;
-        mp->sub_outer_vlan_id = ntohs(sub->eth.outer_vlan_id);
-        mp->sub_inner_vlan_id = ntohs(sub->eth.inner_vlan_id);
-        mp->sub_exact_match = sub->eth.flags.exact_match;
-        mp->sub_default = sub->eth.flags.default_sub;
-        mp->sub_outer_vlan_id_any = sub->eth.flags.outer_vlan_id_any;
-        mp->sub_inner_vlan_id_any = sub->eth.flags.inner_vlan_id_any;
-
-        /* vlan tag rewrite data */
-        u32 vtr_op = L2_VTR_DISABLED;
-        u32 vtr_push_dot1q = 0, vtr_tag1 = 0, vtr_tag2 = 0;
-
-        if (l2vtr_get(am->vlib_main, am->vnet_main, swif->sw_if_index,
-                      &vtr_op, &vtr_push_dot1q, &vtr_tag1, &vtr_tag2) != 0) {
-            // error - default to disabled
-            mp->vtr_op = ntohl(L2_VTR_DISABLED);
-            clib_warning("cannot get vlan tag rewrite for sw_if_index %d",
-                    swif->sw_if_index);
-        } else {
-            mp->vtr_op = ntohl(vtr_op);
-            mp->vtr_push_dot1q = ntohl(vtr_push_dot1q);
-            mp->vtr_tag1 = ntohl(vtr_tag1);
-            mp->vtr_tag2 = ntohl(vtr_tag2);
-        }
-    }
-
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  flags = mp->admin_up_down ? VNET_SW_INTERFACE_FLAG_ADMIN_UP : 0;
+
+  error = vnet_sw_interface_set_flags (vnm, ntohl (mp->sw_if_index), flags);
+  if (error)
+    {
+      rv = -1;
+      clib_error_report (error);
+    }
+
+  BAD_SW_IF_INDEX_LABEL;
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_FLAGS_REPLY);
 }
 
-static void send_sw_interface_flags (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t *q,
-                                     vnet_sw_interface_t * swif)
+static void
+vl_api_sw_interface_clear_stats_t_handler (vl_api_sw_interface_clear_stats_t *
+                                          mp)
+{
+  vl_api_sw_interface_clear_stats_reply_t *rmp;
+
+  vnet_main_t *vnm = vnet_get_main ();
+  vnet_interface_main_t *im = &vnm->interface_main;
+  vlib_simple_counter_main_t *sm;
+  vlib_combined_counter_main_t *cm;
+  static vnet_main_t **my_vnet_mains;
+  int i, j, n_counters;
+
+  int rv = 0;
+
+  vec_reset_length (my_vnet_mains);
+
+  for (i = 0; i < vec_len (vnet_mains); i++)
+    {
+      if (vnet_mains[i])
+       vec_add1 (my_vnet_mains, vnet_mains[i]);
+    }
+
+  if (vec_len (vnet_mains) == 0)
+    vec_add1 (my_vnet_mains, vnm);
+
+  n_counters = vec_len (im->combined_sw_if_counters);
+
+  for (j = 0; j < n_counters; j++)
+    {
+      for (i = 0; i < vec_len (my_vnet_mains); i++)
+       {
+         im = &my_vnet_mains[i]->interface_main;
+         cm = im->combined_sw_if_counters + j;
+         if (mp->sw_if_index == (u32) ~ 0)
+           vlib_clear_combined_counters (cm);
+         else
+           vlib_zero_combined_counter (cm, ntohl (mp->sw_if_index));
+       }
+    }
+
+  n_counters = vec_len (im->sw_if_counters);
+
+  for (j = 0; j < n_counters; j++)
+    {
+      for (i = 0; i < vec_len (my_vnet_mains); i++)
+       {
+         im = &my_vnet_mains[i]->interface_main;
+         sm = im->sw_if_counters + j;
+         if (mp->sw_if_index == (u32) ~ 0)
+           vlib_clear_simple_counters (sm);
+         else
+           vlib_zero_simple_counter (sm, ntohl (mp->sw_if_index));
+       }
+    }
+
+  REPLY_MACRO (VL_API_SW_INTERFACE_CLEAR_STATS_REPLY);
+}
+
+static void
+send_sw_interface_details (vpe_api_main_t * am,
+                          unix_shared_memory_queue_t * q,
+                          vnet_sw_interface_t * swif,
+                          u8 * interface_name, u32 context)
+{
+  vl_api_sw_interface_details_t *mp;
+  vnet_hw_interface_t *hi;
+
+  hi = vnet_get_sup_hw_interface (am->vnet_main, swif->sw_if_index);
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_DETAILS);
+  mp->sw_if_index = ntohl (swif->sw_if_index);
+  mp->sup_sw_if_index = ntohl (swif->sup_sw_if_index);
+  mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
+  mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
+  mp->link_duplex = ((hi->flags & VNET_HW_INTERFACE_FLAG_DUPLEX_MASK) >>
+                    VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT);
+  mp->link_speed = ((hi->flags & VNET_HW_INTERFACE_FLAG_SPEED_MASK) >>
+                   VNET_HW_INTERFACE_FLAG_SPEED_SHIFT);
+  mp->link_mtu = ntohs (hi->max_packet_bytes);
+  mp->context = context;
+
+  strncpy ((char *) mp->interface_name,
+          (char *) interface_name, ARRAY_LEN (mp->interface_name) - 1);
+
+  /* Send the L2 address for ethernet physical intfcs */
+  if (swif->sup_sw_if_index == swif->sw_if_index
+      && hi->hw_class_index == ethernet_hw_interface_class.index)
+    {
+      ethernet_main_t *em = ethernet_get_main (am->vlib_main);
+      ethernet_interface_t *ei;
+
+      ei = pool_elt_at_index (em->interfaces, hi->hw_instance);
+      ASSERT (sizeof (mp->l2_address) >= sizeof (ei->address));
+      clib_memcpy (mp->l2_address, ei->address, sizeof (ei->address));
+      mp->l2_address_length = ntohl (sizeof (ei->address));
+    }
+  else if (swif->sup_sw_if_index != swif->sw_if_index)
+    {
+      vnet_sub_interface_t *sub = &swif->sub;
+      mp->sub_id = ntohl (sub->id);
+      mp->sub_dot1ad = sub->eth.flags.dot1ad;
+      mp->sub_number_of_tags =
+       sub->eth.flags.one_tag + sub->eth.flags.two_tags * 2;
+      mp->sub_outer_vlan_id = ntohs (sub->eth.outer_vlan_id);
+      mp->sub_inner_vlan_id = ntohs (sub->eth.inner_vlan_id);
+      mp->sub_exact_match = sub->eth.flags.exact_match;
+      mp->sub_default = sub->eth.flags.default_sub;
+      mp->sub_outer_vlan_id_any = sub->eth.flags.outer_vlan_id_any;
+      mp->sub_inner_vlan_id_any = sub->eth.flags.inner_vlan_id_any;
+
+      /* vlan tag rewrite data */
+      u32 vtr_op = L2_VTR_DISABLED;
+      u32 vtr_push_dot1q = 0, vtr_tag1 = 0, vtr_tag2 = 0;
+
+      if (l2vtr_get (am->vlib_main, am->vnet_main, swif->sw_if_index,
+                    &vtr_op, &vtr_push_dot1q, &vtr_tag1, &vtr_tag2) != 0)
+       {
+         // error - default to disabled
+         mp->vtr_op = ntohl (L2_VTR_DISABLED);
+         clib_warning ("cannot get vlan tag rewrite for sw_if_index %d",
+                       swif->sw_if_index);
+       }
+      else
+       {
+         mp->vtr_op = ntohl (vtr_op);
+         mp->vtr_push_dot1q = ntohl (vtr_push_dot1q);
+         mp->vtr_tag1 = ntohl (vtr_tag1);
+         mp->vtr_tag2 = ntohl (vtr_tag2);
+       }
+    }
+
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
+}
+
+static void
+send_sw_interface_flags (vpe_api_main_t * am,
+                        unix_shared_memory_queue_t * q,
+                        vnet_sw_interface_t * swif)
 {
-    vl_api_sw_interface_set_flags_t *mp;
-    vnet_main_t * vnm = am->vnet_main;
+  vl_api_sw_interface_set_flags_t *mp;
+  vnet_main_t *vnm = am->vnet_main;
 
-    vnet_hw_interface_t *hi = vnet_get_sup_hw_interface (vnm,
-                                                         swif->sw_if_index);
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_INTERFACE_SET_FLAGS);
-    mp->sw_if_index = ntohl(swif->sw_if_index);
+  vnet_hw_interface_t *hi = vnet_get_sup_hw_interface (vnm,
+                                                      swif->sw_if_index);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
+  mp->sw_if_index = ntohl (swif->sw_if_index);
 
-    mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ?
-        1 : 0;
-    mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ?
-        1 : 0;
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
+  mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void send_sw_interface_flags_deleted (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t *q,
-                                             u32 sw_if_index)
-    __attribute__((unused));
+                                            unix_shared_memory_queue_t * q,
+                                            u32 sw_if_index)
+  __attribute__ ((unused));
 
-static void send_sw_interface_flags_deleted (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t *q,
-                                     u32 sw_if_index)
+static void
+send_sw_interface_flags_deleted (vpe_api_main_t * am,
+                                unix_shared_memory_queue_t * q,
+                                u32 sw_if_index)
 {
-    vl_api_sw_interface_set_flags_t *mp;
+  vl_api_sw_interface_set_flags_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_INTERFACE_SET_FLAGS);
-    mp->sw_if_index = ntohl(sw_if_index);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
+  mp->sw_if_index = ntohl (sw_if_index);
 
-    mp->admin_up_down = 0;
-    mp->link_up_down = 0;
-    mp->deleted = 1;
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  mp->admin_up_down = 0;
+  mp->link_up_down = 0;
+  mp->deleted = 1;
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
-static void vl_api_sw_interface_dump_t_handler (
-    vl_api_sw_interface_dump_t *mp)
+static void
+vl_api_sw_interface_dump_t_handler (vl_api_sw_interface_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    vnet_sw_interface_t * swif;
-    vnet_interface_main_t * im = &am->vnet_main->interface_main;
-    u8 * filter_string = 0, * name_string = 0;
-    unix_shared_memory_queue_t * q;
-    char * strcasestr (char *, char *); /* lnx hdr file botch */
+  vpe_api_main_t *am = &vpe_api_main;
+  vnet_sw_interface_t *swif;
+  vnet_interface_main_t *im = &am->vnet_main->interface_main;
+  u8 *filter_string = 0, *name_string = 0;
+  unix_shared_memory_queue_t *q;
+  char *strcasestr (char *, char *);   /* lnx hdr file botch */
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
+  q = vl_api_client_index_to_input_queue (mp->client_index);
 
-    if (q == 0)
-        return;
+  if (q == 0)
+    return;
 
-    if (mp->name_filter_valid) {
-        mp->name_filter [ARRAY_LEN(mp->name_filter)-1] = 0;
-        filter_string = format (0, "%s%c", mp->name_filter, 0);
+  if (mp->name_filter_valid)
+    {
+      mp->name_filter[ARRAY_LEN (mp->name_filter) - 1] = 0;
+      filter_string = format (0, "%s%c", mp->name_filter, 0);
     }
 
-    pool_foreach (swif, im->sw_interfaces,
-    ({
-        name_string = format (name_string, "%U%c",
-                              format_vnet_sw_interface_name,
-                              am->vnet_main, swif, 0);
+  /* *INDENT-OFF* */
+  pool_foreach (swif, im->sw_interfaces,
+  ({
+    name_string = format (name_string, "%U%c",
+                          format_vnet_sw_interface_name,
+                          am->vnet_main, swif, 0);
 
-        if (mp->name_filter_valid == 0 ||
-            strcasestr((char *) name_string, (char *) filter_string)) {
+    if (mp->name_filter_valid == 0 ||
+        strcasestr((char *) name_string, (char *) filter_string)) {
 
-            send_sw_interface_details (am, q, swif, name_string, mp->context);
-        }
-        _vec_len (name_string) = 0;
-    }));
+      send_sw_interface_details (am, q, swif, name_string, mp->context);
+    }
+    _vec_len (name_string) = 0;
+  }));
+  /* *INDENT-ON* */
 
-    vec_free (name_string);
-    vec_free (filter_string);
+  vec_free (name_string);
+  vec_free (filter_string);
 }
 
-void send_oam_event (oam_target_t * t)
+void
+send_oam_event (oam_target_t * t)
 {
-    vpe_api_main_t * vam = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    vpe_client_registration_t *reg;
-    vl_api_oam_event_t * mp;
+  vpe_api_main_t *vam = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  vpe_client_registration_t *reg;
+  vl_api_oam_event_t *mp;
 
-    pool_foreach(reg, vam->oam_events_registrations,
-    ({
-        q = vl_api_client_index_to_input_queue (reg->client_index);
-        if (q) {
-            mp = vl_msg_api_alloc (sizeof (*mp));
-            mp->_vl_msg_id = ntohs (VL_API_OAM_EVENT);
-            clib_memcpy (mp->dst_address, &t->dst_address, sizeof (mp->dst_address));
-            mp->state = t->state;
-            vl_msg_api_send_shmem (q, (u8 *)&mp);
-        }
-    }));
+  /* *INDENT-OFF* */
+  pool_foreach(reg, vam->oam_events_registrations,
+  ({
+    q = vl_api_client_index_to_input_queue (reg->client_index);
+    if (q)
+      {
+        mp = vl_msg_api_alloc (sizeof (*mp));
+        mp->_vl_msg_id = ntohs (VL_API_OAM_EVENT);
+        clib_memcpy (mp->dst_address, &t->dst_address,
+                     sizeof (mp->dst_address));
+        mp->state = t->state;
+        vl_msg_api_send_shmem (q, (u8 *)&mp);
+      }
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_oam_add_del_t_handler (vl_api_oam_add_del_t *mp)
+vl_api_oam_add_del_t_handler (vl_api_oam_add_del_t * mp)
 {
-    vl_api_oam_add_del_reply_t * rmp;
-    int rv;
+  vl_api_oam_add_del_reply_t *rmp;
+  int rv;
 
-    rv = vpe_oam_add_del_target ((ip4_address_t *)mp->src_address,
-                                 (ip4_address_t *)mp->dst_address,
-                                 ntohl(mp->vrf_id),
-                                 (int)(mp->is_add));
+  rv = vpe_oam_add_del_target ((ip4_address_t *) mp->src_address,
+                              (ip4_address_t *) mp->dst_address,
+                              ntohl (mp->vrf_id), (int) (mp->is_add));
 
-    REPLY_MACRO(VL_API_OAM_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_OAM_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_vnet_get_summary_stats_t_handler (
-    vl_api_vnet_get_summary_stats_t *mp)
+vl_api_vnet_get_summary_stats_t_handler (vl_api_vnet_get_summary_stats_t * mp)
 {
-    stats_main_t * sm = &stats_main;
-    vnet_interface_main_t * im = sm->interface_main;
-    vl_api_vnet_summary_stats_reply_t *rmp;
-    vlib_combined_counter_main_t * cm;
-    vlib_counter_t v;
-    int i, which;
-    u64 total_pkts[VLIB_N_RX_TX];
-    u64 total_bytes[VLIB_N_RX_TX];
+  stats_main_t *sm = &stats_main;
+  vnet_interface_main_t *im = sm->interface_main;
+  vl_api_vnet_summary_stats_reply_t *rmp;
+  vlib_combined_counter_main_t *cm;
+  vlib_counter_t v;
+  int i, which;
+  u64 total_pkts[VLIB_N_RX_TX];
+  u64 total_bytes[VLIB_N_RX_TX];
 
-    unix_shared_memory_queue_t * q =
-        vl_api_client_index_to_input_queue (mp->client_index);
+  unix_shared_memory_queue_t *q =
+    vl_api_client_index_to_input_queue (mp->client_index);
 
-    if (!q)
-        return;
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_VNET_SUMMARY_STATS_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = 0;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_VNET_SUMMARY_STATS_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = 0;
 
-    memset (total_pkts, 0, sizeof (total_pkts));
-    memset (total_bytes, 0, sizeof (total_bytes));
+  memset (total_pkts, 0, sizeof (total_pkts));
+  memset (total_bytes, 0, sizeof (total_bytes));
 
-    vnet_interface_counter_lock (im);
+  vnet_interface_counter_lock (im);
 
-    vec_foreach (cm, im->combined_sw_if_counters) {
-        which = cm - im->combined_sw_if_counters;
+  vec_foreach (cm, im->combined_sw_if_counters)
+  {
+    which = cm - im->combined_sw_if_counters;
 
-        for (i = 0; i < vec_len (cm->maxi); i++) {
-            vlib_get_combined_counter (cm, i, &v);
-            total_pkts[which] += v.packets;
-            total_bytes[which] += v.bytes;
-        }
-    }
-    vnet_interface_counter_unlock (im);
+    for (i = 0; i < vec_len (cm->maxi); i++)
+      {
+       vlib_get_combined_counter (cm, i, &v);
+       total_pkts[which] += v.packets;
+       total_bytes[which] += v.bytes;
+      }
+  }
+  vnet_interface_counter_unlock (im);
 
-    /* Note: in HOST byte order! */
-    rmp->total_pkts[VLIB_RX] = total_pkts[VLIB_RX];
-    rmp->total_bytes[VLIB_RX] = total_bytes[VLIB_RX];
-    rmp->total_pkts[VLIB_TX] = total_pkts[VLIB_TX];
-    rmp->total_bytes[VLIB_TX] = total_bytes[VLIB_TX];
-    rmp->vector_rate = vlib_last_vector_length_per_node (sm->vlib_main);
+  /* Note: in HOST byte order! */
+  rmp->total_pkts[VLIB_RX] = total_pkts[VLIB_RX];
+  rmp->total_bytes[VLIB_RX] = total_bytes[VLIB_RX];
+  rmp->total_pkts[VLIB_TX] = total_pkts[VLIB_TX];
+  rmp->total_bytes[VLIB_TX] = total_bytes[VLIB_TX];
+  rmp->vector_rate = vlib_last_vector_length_per_node (sm->vlib_main);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
+/* *INDENT-OFF* */
 typedef CLIB_PACKED (struct {
   ip4_address_t address;
+  u32 address_length: 6;
+  u32 index:26;
+}) ip4_route_t;
+/* *INDENT-ON* */
 
-  u32 address_length : 6;
+static int
+ip4_reset_fib_t_handler (vl_api_reset_fib_t * mp)
+{
+  vnet_main_t *vnm = vnet_get_main ();
+  vnet_interface_main_t *im = &vnm->interface_main;
+  ip4_main_t *im4 = &ip4_main;
+  static ip4_route_t *routes;
+  static u32 *sw_if_indices_to_shut;
+  stats_main_t *sm = &stats_main;
+  ip4_route_t *r;
+  ip4_fib_t *fib;
+  u32 sw_if_index;
+  int i;
+  int rv = VNET_API_ERROR_NO_SUCH_FIB;
+  u32 target_fib_id = ntohl (mp->vrf_id);
+
+  dslock (sm, 1 /* release hint */ , 8 /* tag */ );
+
+  vec_foreach (fib, im4->fibs)
+  {
+    vnet_sw_interface_t *si;
 
-  u32 index : 26;
-}) ip4_route_t;
+    if (fib->table_id != target_fib_id)
+      continue;
 
-static int ip4_reset_fib_t_handler (vl_api_reset_fib_t *mp)
-{
-    vnet_main_t * vnm = vnet_get_main();
-    vnet_interface_main_t * im = &vnm->interface_main;
-    ip4_main_t * im4 = &ip4_main;
-    static ip4_route_t * routes;
-    static u32 * sw_if_indices_to_shut;
-    stats_main_t * sm = &stats_main;
-    ip4_route_t * r;
-    ip4_fib_t * fib;
-    u32 sw_if_index;
-    int i;
-    int rv = VNET_API_ERROR_NO_SUCH_FIB;
-    u32 target_fib_id = ntohl(mp->vrf_id);
+    /* remove any mpls/gre tunnels in this fib */
+    vnet_mpls_gre_delete_fib_tunnels (fib->table_id);
 
-    dslock (sm, 1 /* release hint */, 8 /* tag */);
+    /* remove any mpls encap/decap labels */
+    mpls_fib_reset_labels (fib->table_id);
 
-    vec_foreach (fib, im4->fibs) {
-        vnet_sw_interface_t * si;
+    /* remove any proxy arps in this fib */
+    vnet_proxy_arp_fib_reset (fib->table_id);
 
-        if (fib->table_id != target_fib_id)
-            continue;
+    /* Set the flow hash for this fib to the default */
+    vnet_set_ip4_flow_hash (fib->table_id, IP_FLOW_HASH_DEFAULT);
 
-        /* remove any mpls/gre tunnels in this fib */
-        vnet_mpls_gre_delete_fib_tunnels (fib->table_id);
+    vec_reset_length (sw_if_indices_to_shut);
 
-        /* remove any mpls encap/decap labels */
-        mpls_fib_reset_labels (fib->table_id);
+    /* Shut down interfaces in this FIB / clean out intfc routes */
+    /* *INDENT-OFF* */
+    pool_foreach (si, im->sw_interfaces,
+    ({
+      u32 sw_if_index = si->sw_if_index;
 
-        /* remove any proxy arps in this fib */
-        vnet_proxy_arp_fib_reset (fib->table_id);
+      if (sw_if_index < vec_len (im4->fib_index_by_sw_if_index)
+          && (im4->fib_index_by_sw_if_index[si->sw_if_index] ==
+              fib - im4->fibs))
+        vec_add1 (sw_if_indices_to_shut, si->sw_if_index);
+    }));
+    /* *INDENT-ON* */
 
-        /* Set the flow hash for this fib to the default */
-        vnet_set_ip4_flow_hash (fib->table_id, IP_FLOW_HASH_DEFAULT);
+    for (i = 0; i < vec_len (sw_if_indices_to_shut); i++)
+      {
+       sw_if_index = sw_if_indices_to_shut[i];
+       // vec_foreach (sw_if_index, sw_if_indices_to_shut) {
 
-        vec_reset_length (sw_if_indices_to_shut);
+       u32 flags = vnet_sw_interface_get_flags (vnm, sw_if_index);
+       flags &= ~(VNET_SW_INTERFACE_FLAG_ADMIN_UP);
+       vnet_sw_interface_set_flags (vnm, sw_if_index, flags);
+      }
 
-        /* Shut down interfaces in this FIB / clean out intfc routes */
-        pool_foreach (si, im->sw_interfaces,
-        ({
-            u32 sw_if_index = si->sw_if_index;
+    vec_reset_length (routes);
+
+    for (i = 0; i < ARRAY_LEN (fib->adj_index_by_dst_address); i++)
+      {
+       uword *hash = fib->adj_index_by_dst_address[i];
+       hash_pair_t *p;
+       ip4_route_t x;
+
+       x.address_length = i;
 
-            if (sw_if_index < vec_len (im4->fib_index_by_sw_if_index)
-                && (im4->fib_index_by_sw_if_index[si->sw_if_index] ==
-                    fib - im4->fibs))
-                vec_add1 (sw_if_indices_to_shut, si->sw_if_index);
+        /* *INDENT-OFF* */
+        hash_foreach_pair (p, hash,
+        ({
+          x.address.data_u32 = p->key;
+          vec_add1 (routes, x);
         }));
+        /* *INDENT-ON* */
+      }
 
-        for (i = 0; i < vec_len (sw_if_indices_to_shut); i++) {
-            sw_if_index = sw_if_indices_to_shut[i];
-            // vec_foreach (sw_if_index, sw_if_indices_to_shut) {
-
-            u32 flags = vnet_sw_interface_get_flags (vnm, sw_if_index);
-            flags &= ~(VNET_SW_INTERFACE_FLAG_ADMIN_UP);
-            vnet_sw_interface_set_flags (vnm, sw_if_index, flags);
-        }
-
-        vec_reset_length (routes);
-
-        for (i = 0; i < ARRAY_LEN (fib->adj_index_by_dst_address); i++) {
-            uword * hash = fib->adj_index_by_dst_address[i];
-            hash_pair_t * p;
-            ip4_route_t x;
-
-            x.address_length = i;
-
-            hash_foreach_pair (p, hash,
-            ({
-                x.address.data_u32 = p->key;
-                vec_add1 (routes, x);
-            }));
-        }
-
-        vec_foreach (r, routes) {
-            ip4_add_del_route_args_t a;
-
-            memset (&a, 0, sizeof (a));
-            a.flags = IP4_ROUTE_FLAG_FIB_INDEX | IP4_ROUTE_FLAG_DEL;
-            a.table_index_or_table_id = fib - im4->fibs;
-            a.dst_address = r->address;
-            a.dst_address_length = r->address_length;
-            a.adj_index = ~0;
-
-            ip4_add_del_route (im4, &a);
-            ip4_maybe_remap_adjacencies (im4, fib - im4->fibs,
-                                         IP4_ROUTE_FLAG_FIB_INDEX);
-        }
-        rv = 0;
-        break;
-    } /* vec_foreach (fib) */
+    vec_foreach (r, routes)
+    {
+      ip4_add_del_route_args_t a;
+
+      memset (&a, 0, sizeof (a));
+      a.flags = IP4_ROUTE_FLAG_FIB_INDEX | IP4_ROUTE_FLAG_DEL;
+      a.table_index_or_table_id = fib - im4->fibs;
+      a.dst_address = r->address;
+      a.dst_address_length = r->address_length;
+      a.adj_index = ~0;
+
+      ip4_add_del_route (im4, &a);
+      ip4_maybe_remap_adjacencies (im4, fib - im4->fibs,
+                                  IP4_ROUTE_FLAG_FIB_INDEX);
+    }
+    rv = 0;
+    break;
+  }                            /* vec_foreach (fib) */
 
-    dsunlock(sm);
-    return rv;
+  dsunlock (sm);
+  return rv;
 }
 
-typedef struct {
+typedef struct
+{
   ip6_address_t address;
   u32 address_length;
   u32 index;
 } ip6_route_t;
 
-typedef struct {
+typedef struct
+{
   u32 fib_index;
-  ip6_route_t ** routep;
+  ip6_route_t **routep;
 } add_routes_in_fib_arg_t;
 
-static void add_routes_in_fib (clib_bihash_kv_24_8_t * kvp, void *arg)
+static void
+add_routes_in_fib (clib_bihash_kv_24_8_t * kvp, void *arg)
 {
-  add_routes_in_fib_arg_t * ap = arg;
+  add_routes_in_fib_arg_t *ap = arg;
 
-  if (kvp->key[2]>>32 == ap->fib_index)
+  if (kvp->key[2] >> 32 == ap->fib_index)
     {
       ip6_address_t *addr;
-      ip6_route_t * r;
+      ip6_route_t *r;
       addr = (ip6_address_t *) kvp;
       vec_add2 (*ap->routep, r, 1);
       r->address = addr[0];
@@ -2873,735 +3028,774 @@ static void add_routes_in_fib (clib_bihash_kv_24_8_t * kvp, void *arg)
     }
 }
 
-static int ip6_reset_fib_t_handler (vl_api_reset_fib_t *mp)
-{
-    vnet_main_t * vnm = vnet_get_main();
-    vnet_interface_main_t * im = &vnm->interface_main;
-    ip6_main_t * im6 = &ip6_main;
-    stats_main_t * sm = &stats_main;
-    static ip6_route_t * routes;
-    static u32 * sw_if_indices_to_shut;
-    ip6_route_t * r;
-    ip6_fib_t * fib;
-    u32 sw_if_index;
-    int i;
-    int rv = VNET_API_ERROR_NO_SUCH_FIB;
-    u32 target_fib_id = ntohl(mp->vrf_id);
-    add_routes_in_fib_arg_t _a, *a=&_a;
-    clib_bihash_24_8_t * h = &im6->ip6_lookup_table;
-
-    dslock (sm, 1 /* release hint */, 9 /* tag */);
-
-    vec_foreach (fib, im6->fibs) {
-        vnet_sw_interface_t * si;
+static int
+ip6_reset_fib_t_handler (vl_api_reset_fib_t * mp)
+{
+  vnet_main_t *vnm = vnet_get_main ();
+  vnet_interface_main_t *im = &vnm->interface_main;
+  ip6_main_t *im6 = &ip6_main;
+  stats_main_t *sm = &stats_main;
+  static ip6_route_t *routes;
+  static u32 *sw_if_indices_to_shut;
+  ip6_route_t *r;
+  ip6_fib_t *fib;
+  u32 sw_if_index;
+  int i;
+  int rv = VNET_API_ERROR_NO_SUCH_FIB;
+  u32 target_fib_id = ntohl (mp->vrf_id);
+  add_routes_in_fib_arg_t _a, *a = &_a;
+  clib_bihash_24_8_t *h = &im6->ip6_lookup_table;
+
+  dslock (sm, 1 /* release hint */ , 9 /* tag */ );
+
+  vec_foreach (fib, im6->fibs)
+  {
+    vnet_sw_interface_t *si;
 
-        if (fib->table_id != target_fib_id)
-            continue;
+    if (fib->table_id != target_fib_id)
+      continue;
 
-        vec_reset_length (sw_if_indices_to_shut);
+    vec_reset_length (sw_if_indices_to_shut);
 
-        /* Shut down interfaces in this FIB / clean out intfc routes */
-        pool_foreach (si, im->sw_interfaces,
-        ({
-            if (im6->fib_index_by_sw_if_index[si->sw_if_index] ==
-                fib - im6->fibs)
-                vec_add1 (sw_if_indices_to_shut, si->sw_if_index);
-        }));
+    /* Shut down interfaces in this FIB / clean out intfc routes */
+    /* *INDENT-OFF* */
+    pool_foreach (si, im->sw_interfaces,
+    ({
+      if (im6->fib_index_by_sw_if_index[si->sw_if_index] ==
+          fib - im6->fibs)
+        vec_add1 (sw_if_indices_to_shut, si->sw_if_index);
+    }));
+    /* *INDENT-ON* */
 
-        for (i = 0; i < vec_len (sw_if_indices_to_shut); i++) {
-            sw_if_index = sw_if_indices_to_shut[i];
-            // vec_foreach (sw_if_index, sw_if_indices_to_shut) {
+    for (i = 0; i < vec_len (sw_if_indices_to_shut); i++)
+      {
+       sw_if_index = sw_if_indices_to_shut[i];
+       // vec_foreach (sw_if_index, sw_if_indices_to_shut) {
 
-            u32 flags = vnet_sw_interface_get_flags (vnm, sw_if_index);
-            flags &= ~(VNET_SW_INTERFACE_FLAG_ADMIN_UP);
-            vnet_sw_interface_set_flags (vnm, sw_if_index, flags);
-        }
+       u32 flags = vnet_sw_interface_get_flags (vnm, sw_if_index);
+       flags &= ~(VNET_SW_INTERFACE_FLAG_ADMIN_UP);
+       vnet_sw_interface_set_flags (vnm, sw_if_index, flags);
+      }
 
-        vec_reset_length (routes);
+    vec_reset_length (routes);
 
-        a->fib_index = fib - im6->fibs;
-        a->routep = &routes;
+    a->fib_index = fib - im6->fibs;
+    a->routep = &routes;
 
-        clib_bihash_foreach_key_value_pair_24_8 (h, add_routes_in_fib, a);
+    clib_bihash_foreach_key_value_pair_24_8 (h, add_routes_in_fib, a);
 
-        vec_foreach (r, routes) {
-            ip6_add_del_route_args_t a;
+    vec_foreach (r, routes)
+    {
+      ip6_add_del_route_args_t a;
 
-            memset (&a, 0, sizeof (a));
-            a.flags = IP6_ROUTE_FLAG_FIB_INDEX | IP6_ROUTE_FLAG_DEL;
-            a.table_index_or_table_id = fib - im6->fibs;
-            a.dst_address = r->address;
-            a.dst_address_length = r->address_length;
-            a.adj_index = ~0;
+      memset (&a, 0, sizeof (a));
+      a.flags = IP6_ROUTE_FLAG_FIB_INDEX | IP6_ROUTE_FLAG_DEL;
+      a.table_index_or_table_id = fib - im6->fibs;
+      a.dst_address = r->address;
+      a.dst_address_length = r->address_length;
+      a.adj_index = ~0;
 
-            ip6_add_del_route (im6, &a);
-            ip6_maybe_remap_adjacencies (im6, fib - im6->fibs,
-                                         IP6_ROUTE_FLAG_FIB_INDEX);
-        }
-        rv = 0;
-        /* Reinstall the neighbor / router discovery routes */
-        vnet_ip6_fib_init (im6, fib - im6->fibs);
-        break;
-    } /* vec_foreach (fib) */
+      ip6_add_del_route (im6, &a);
+      ip6_maybe_remap_adjacencies (im6, fib - im6->fibs,
+                                  IP6_ROUTE_FLAG_FIB_INDEX);
+    }
+    rv = 0;
+    /* Reinstall the neighbor / router discovery routes */
+    vnet_ip6_fib_init (im6, fib - im6->fibs);
+    break;
+  }                            /* vec_foreach (fib) */
 
-    dsunlock(sm);
-    return rv;
+  dsunlock (sm);
+  return rv;
 }
 
-static void vl_api_reset_fib_t_handler (vl_api_reset_fib_t *mp)
+static void
+vl_api_reset_fib_t_handler (vl_api_reset_fib_t * mp)
 {
-    int rv;
-    vl_api_reset_fib_reply_t * rmp;
+  int rv;
+  vl_api_reset_fib_reply_t *rmp;
 
-    if (mp->is_ipv6)
-        rv = ip6_reset_fib_t_handler (mp);
-    else
-        rv = ip4_reset_fib_t_handler (mp);
+  if (mp->is_ipv6)
+    rv = ip6_reset_fib_t_handler (mp);
+  else
+    rv = ip4_reset_fib_t_handler (mp);
 
-    REPLY_MACRO(VL_API_RESET_FIB_REPLY);
+  REPLY_MACRO (VL_API_RESET_FIB_REPLY);
 }
 
 
 static void
-dhcpv4_proxy_config (vl_api_dhcp_proxy_config_t *mp)
+dhcpv4_proxy_config (vl_api_dhcp_proxy_config_t * mp)
 {
-    vl_api_dhcp_proxy_config_reply_t * rmp;
-    int rv;
+  vl_api_dhcp_proxy_config_reply_t *rmp;
+  int rv;
 
-    rv = dhcp_proxy_set_server ((ip4_address_t *)(&mp->dhcp_server),
-                                (ip4_address_t *)(&mp->dhcp_src_address),
-                                (u32) ntohl(mp->vrf_id),
-                                (int) mp->insert_circuit_id,
-                                (int) (mp->is_add == 0));
+  rv = dhcp_proxy_set_server ((ip4_address_t *) (&mp->dhcp_server),
+                             (ip4_address_t *) (&mp->dhcp_src_address),
+                             (u32) ntohl (mp->vrf_id),
+                             (int) mp->insert_circuit_id,
+                             (int) (mp->is_add == 0));
 
-    REPLY_MACRO(VL_API_DHCP_PROXY_CONFIG_REPLY);
+  REPLY_MACRO (VL_API_DHCP_PROXY_CONFIG_REPLY);
 }
 
 
 static void
-dhcpv6_proxy_config (vl_api_dhcp_proxy_config_t *mp)
+dhcpv6_proxy_config (vl_api_dhcp_proxy_config_t * mp)
 {
-    vl_api_dhcp_proxy_config_reply_t * rmp;
-    int rv = -1;
+  vl_api_dhcp_proxy_config_reply_t *rmp;
+  int rv = -1;
 
-    rv = dhcpv6_proxy_set_server ((ip6_address_t *)(&mp->dhcp_server),
-                                (ip6_address_t *)(&mp->dhcp_src_address),
-                                (u32) ntohl(mp->vrf_id),
-                                (int) mp->insert_circuit_id,
-                                (int) (mp->is_add == 0));
+  rv = dhcpv6_proxy_set_server ((ip6_address_t *) (&mp->dhcp_server),
+                               (ip6_address_t *) (&mp->dhcp_src_address),
+                               (u32) ntohl (mp->vrf_id),
+                               (int) mp->insert_circuit_id,
+                               (int) (mp->is_add == 0));
 
-    REPLY_MACRO(VL_API_DHCP_PROXY_CONFIG_REPLY);
+  REPLY_MACRO (VL_API_DHCP_PROXY_CONFIG_REPLY);
 }
 
 static void
-dhcpv4_proxy_config_2 (vl_api_dhcp_proxy_config_2_t *mp)
+dhcpv4_proxy_config_2 (vl_api_dhcp_proxy_config_2_t * mp)
 {
-    vl_api_dhcp_proxy_config_reply_t * rmp;
-    int rv;
+  vl_api_dhcp_proxy_config_reply_t *rmp;
+  int rv;
 
-    rv = dhcp_proxy_set_server_2 ((ip4_address_t *)(&mp->dhcp_server),
-                                (ip4_address_t *)(&mp->dhcp_src_address),
-                                (u32) ntohl(mp->rx_vrf_id),
-                                (u32) ntohl(mp->server_vrf_id),
-                                (int) mp->insert_circuit_id,
-                                (int) (mp->is_add == 0));
+  rv = dhcp_proxy_set_server_2 ((ip4_address_t *) (&mp->dhcp_server),
+                               (ip4_address_t *) (&mp->dhcp_src_address),
+                               (u32) ntohl (mp->rx_vrf_id),
+                               (u32) ntohl (mp->server_vrf_id),
+                               (int) mp->insert_circuit_id,
+                               (int) (mp->is_add == 0));
 
-    REPLY_MACRO(VL_API_DHCP_PROXY_CONFIG_2_REPLY);
+  REPLY_MACRO (VL_API_DHCP_PROXY_CONFIG_2_REPLY);
 }
 
 
 static void
-dhcpv6_proxy_config_2 (vl_api_dhcp_proxy_config_2_t *mp)
-{
-    vl_api_dhcp_proxy_config_reply_t * rmp;
-    int rv = -1;
-
-#if 0 // $$$$ FIXME
-    rv = dhcpv6_proxy_set_server_2 ((ip6_address_t *)(&mp->dhcp_server),
-                                (ip6_address_t *)(&mp->dhcp_src_address),
-                                (u32) ntohl(mp->rx_vrf_id),
-                                (u32) ntohl(mp->server_vrf_id),
-                                (int) mp->insert_circuit_id,
-                                (int) (mp->is_add == 0));
+dhcpv6_proxy_config_2 (vl_api_dhcp_proxy_config_2_t * mp)
+{
+  vl_api_dhcp_proxy_config_reply_t *rmp;
+  int rv = -1;
+
+#if 0                          // $$$$ FIXME
+  rv = dhcpv6_proxy_set_server_2 ((ip6_address_t *) (&mp->dhcp_server),
+                                 (ip6_address_t *) (&mp->dhcp_src_address),
+                                 (u32) ntohl (mp->rx_vrf_id),
+                                 (u32) ntohl (mp->server_vrf_id),
+                                 (int) mp->insert_circuit_id,
+                                 (int) (mp->is_add == 0));
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-    REPLY_MACRO(VL_API_DHCP_PROXY_CONFIG_2_REPLY);
+  REPLY_MACRO (VL_API_DHCP_PROXY_CONFIG_2_REPLY);
 }
 
 
 static void
-vl_api_dhcp_proxy_set_vss_t_handler (vl_api_dhcp_proxy_set_vss_t *mp)
+vl_api_dhcp_proxy_set_vss_t_handler (vl_api_dhcp_proxy_set_vss_t * mp)
 {
-    vl_api_dhcp_proxy_set_vss_reply_t *rmp;
-    int rv;
-    if (!mp->is_ipv6)
-        rv = dhcp_proxy_set_option82_vss(ntohl(mp->tbl_id),
-                                         ntohl(mp->oui),
-                                         ntohl(mp->fib_id),
-                                         (int)mp->is_add == 0);
-    else
-         rv = dhcpv6_proxy_set_vss( ntohl(mp->tbl_id),
-                                         ntohl(mp->oui),
-                                         ntohl(mp->fib_id),
-                                         (int)mp->is_add == 0);
+  vl_api_dhcp_proxy_set_vss_reply_t *rmp;
+  int rv;
+  if (!mp->is_ipv6)
+    rv = dhcp_proxy_set_option82_vss (ntohl (mp->tbl_id),
+                                     ntohl (mp->oui),
+                                     ntohl (mp->fib_id),
+                                     (int) mp->is_add == 0);
+  else
+    rv = dhcpv6_proxy_set_vss (ntohl (mp->tbl_id),
+                              ntohl (mp->oui),
+                              ntohl (mp->fib_id), (int) mp->is_add == 0);
 
-    REPLY_MACRO(VL_API_DHCP_PROXY_SET_VSS_REPLY);
+  REPLY_MACRO (VL_API_DHCP_PROXY_SET_VSS_REPLY);
 }
 
 
 static void vl_api_dhcp_proxy_config_t_handler
-(vl_api_dhcp_proxy_config_t *mp)
+  (vl_api_dhcp_proxy_config_t * mp)
 {
-    if (mp->is_ipv6 == 0)
-        dhcpv4_proxy_config (mp);
-    else
-        dhcpv6_proxy_config (mp);
+  if (mp->is_ipv6 == 0)
+    dhcpv4_proxy_config (mp);
+  else
+    dhcpv6_proxy_config (mp);
 }
 
 static void vl_api_dhcp_proxy_config_2_t_handler
-(vl_api_dhcp_proxy_config_2_t *mp)
+  (vl_api_dhcp_proxy_config_2_t * mp)
 {
-    if (mp->is_ipv6 == 0)
-        dhcpv4_proxy_config_2 (mp);
-    else
-        dhcpv6_proxy_config_2 (mp);
+  if (mp->is_ipv6 == 0)
+    dhcpv4_proxy_config_2 (mp);
+  else
+    dhcpv6_proxy_config_2 (mp);
 }
 
-void dhcp_compl_event_callback (u32 client_index, u32 pid, u8 * hostname,
-       u8 is_ipv6, u8 * host_address, u8 * router_address, u8 * host_mac)
+void
+dhcp_compl_event_callback (u32 client_index, u32 pid, u8 * hostname,
+                          u8 is_ipv6, u8 * host_address, u8 * router_address,
+                          u8 * host_mac)
 {
-    unix_shared_memory_queue_t * q;
-    vl_api_dhcp_compl_event_t * mp;
+  unix_shared_memory_queue_t *q;
+  vl_api_dhcp_compl_event_t *mp;
 
-    q = vl_api_client_index_to_input_queue (client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (client_index);
+  if (!q)
+    return;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    mp->client_index = client_index;
-    mp->pid = pid;
-    mp->is_ipv6 = is_ipv6;
-    clib_memcpy (&mp->hostname, hostname, vec_len(hostname));
-    mp->hostname[vec_len(hostname) + 1] = '\n';
-    clib_memcpy (&mp->host_address[0], host_address, 16);
-    clib_memcpy (&mp->router_address[0], router_address, 16);
-    clib_memcpy (&mp->host_mac[0], host_mac, 6);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  mp->client_index = client_index;
+  mp->pid = pid;
+  mp->is_ipv6 = is_ipv6;
+  clib_memcpy (&mp->hostname, hostname, vec_len (hostname));
+  mp->hostname[vec_len (hostname) + 1] = '\n';
+  clib_memcpy (&mp->host_address[0], host_address, 16);
+  clib_memcpy (&mp->router_address[0], router_address, 16);
+  clib_memcpy (&mp->host_mac[0], host_mac, 6);
 
-    mp->_vl_msg_id = ntohs (VL_API_DHCP_COMPL_EVENT);
+  mp->_vl_msg_id = ntohs (VL_API_DHCP_COMPL_EVENT);
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void vl_api_dhcp_client_config_t_handler
-(vl_api_dhcp_client_config_t *mp)
+  (vl_api_dhcp_client_config_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_dhcp_client_config_reply_t * rmp;
-    int rv = 0;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_dhcp_client_config_reply_t *rmp;
+  int rv = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = dhcp_client_config(vm, ntohl(mp->sw_if_index),
-             mp->hostname, mp->is_add, mp->client_index,
-             mp->want_dhcp_event ? dhcp_compl_event_callback : NULL,
-             mp->pid);
+  rv = dhcp_client_config (vm, ntohl (mp->sw_if_index),
+                          mp->hostname, mp->is_add, mp->client_index,
+                          mp->want_dhcp_event ? dhcp_compl_event_callback :
+                          NULL, mp->pid);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_DHCP_CLIENT_CONFIG_REPLY);
+  REPLY_MACRO (VL_API_DHCP_CLIENT_CONFIG_REPLY);
 }
 
 static void
-vl_api_sw_interface_ip6nd_ra_config_t_handler
-(vl_api_sw_interface_ip6nd_ra_config_t *mp, vlib_main_t *vm)
+  vl_api_sw_interface_ip6nd_ra_config_t_handler
+  (vl_api_sw_interface_ip6nd_ra_config_t * mp, vlib_main_t * vm)
 {
-   vl_api_sw_interface_ip6nd_ra_config_reply_t * rmp;
-    int rv = 0;
-    u8  is_no,  suppress, managed, other, ll_option, send_unicast, cease, default_router;
+  vl_api_sw_interface_ip6nd_ra_config_reply_t *rmp;
+  int rv = 0;
+  u8 is_no, suppress, managed, other, ll_option, send_unicast, cease,
+    default_router;
 
-    is_no = mp->is_no == 1;
-    suppress = mp->suppress == 1;
-    managed = mp->managed == 1;
-   other = mp->other == 1;
-    ll_option = mp->ll_option == 1;
-    send_unicast = mp->send_unicast == 1;
-    cease = mp->cease == 1;
-    default_router = mp->default_router  == 1;
+  is_no = mp->is_no == 1;
+  suppress = mp->suppress == 1;
+  managed = mp->managed == 1;
+  other = mp->other == 1;
+  ll_option = mp->ll_option == 1;
+  send_unicast = mp->send_unicast == 1;
+  cease = mp->cease == 1;
+  default_router = mp->default_router == 1;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = ip6_neighbor_ra_config(vm, ntohl(mp->sw_if_index),
-                               suppress,  managed,  other,
-                               ll_option,  send_unicast,  cease,
-                               default_router, ntohl (mp->lifetime),
-                               ntohl(mp->initial_count),  ntohl(mp->initial_interval),
-                               ntohl(mp->max_interval), ntohl( mp->min_interval),
-                               is_no);
+  rv = ip6_neighbor_ra_config (vm, ntohl (mp->sw_if_index),
+                              suppress, managed, other,
+                              ll_option, send_unicast, cease,
+                              default_router, ntohl (mp->lifetime),
+                              ntohl (mp->initial_count),
+                              ntohl (mp->initial_interval),
+                              ntohl (mp->max_interval),
+                              ntohl (mp->min_interval), is_no);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_SW_INTERFACE_IP6ND_RA_CONFIG_REPLY);
+  REPLY_MACRO (VL_API_SW_INTERFACE_IP6ND_RA_CONFIG_REPLY);
 }
 
 static void
-vl_api_sw_interface_ip6nd_ra_prefix_t_handler
-(vl_api_sw_interface_ip6nd_ra_prefix_t *mp, vlib_main_t *vm)
+  vl_api_sw_interface_ip6nd_ra_prefix_t_handler
+  (vl_api_sw_interface_ip6nd_ra_prefix_t * mp, vlib_main_t * vm)
 {
-   vl_api_sw_interface_ip6nd_ra_prefix_reply_t * rmp;
-    int rv = 0;
-    u8  is_no,  use_default,  no_advertise, off_link, no_autoconfig, no_onlink;
+  vl_api_sw_interface_ip6nd_ra_prefix_reply_t *rmp;
+  int rv = 0;
+  u8 is_no, use_default, no_advertise, off_link, no_autoconfig, no_onlink;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    is_no = mp->is_no == 1;
-    use_default = mp->use_default == 1;
-    no_advertise = mp->no_advertise == 1;
-    off_link = mp->off_link == 1;
-    no_autoconfig = mp->no_autoconfig == 1;
-    no_onlink = mp->no_onlink == 1;
+  is_no = mp->is_no == 1;
+  use_default = mp->use_default == 1;
+  no_advertise = mp->no_advertise == 1;
+  off_link = mp->off_link == 1;
+  no_autoconfig = mp->no_autoconfig == 1;
+  no_onlink = mp->no_onlink == 1;
 
-    rv = ip6_neighbor_ra_prefix(vm,  ntohl(mp->sw_if_index),
-                               (ip6_address_t *)mp->address,  mp->address_length,
-                               use_default,  ntohl(mp->val_lifetime), ntohl(mp->pref_lifetime),
-                               no_advertise,  off_link, no_autoconfig, no_onlink,
-                               is_no);
+  rv = ip6_neighbor_ra_prefix (vm, ntohl (mp->sw_if_index),
+                              (ip6_address_t *) mp->address,
+                              mp->address_length, use_default,
+                              ntohl (mp->val_lifetime),
+                              ntohl (mp->pref_lifetime), no_advertise,
+                              off_link, no_autoconfig, no_onlink, is_no);
 
-    BAD_SW_IF_INDEX_LABEL;
-    REPLY_MACRO(VL_API_SW_INTERFACE_IP6ND_RA_PREFIX_REPLY);
+  BAD_SW_IF_INDEX_LABEL;
+  REPLY_MACRO (VL_API_SW_INTERFACE_IP6ND_RA_PREFIX_REPLY);
 }
 
 static void
-vl_api_sw_interface_ip6_enable_disable_t_handler
-(vl_api_sw_interface_ip6_enable_disable_t *mp, vlib_main_t *vm)
+  vl_api_sw_interface_ip6_enable_disable_t_handler
+  (vl_api_sw_interface_ip6_enable_disable_t * mp, vlib_main_t * vm)
 {
-    vl_api_sw_interface_ip6_enable_disable_reply_t * rmp;
-    vnet_main_t * vnm = vnet_get_main();
-    int rv = 0;
-    clib_error_t * error;
+  vl_api_sw_interface_ip6_enable_disable_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  int rv = 0;
+  clib_error_t *error;
 
-    vnm->api_errno = 0;
+  vnm->api_errno = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    error = ( mp->enable == 1) ? enable_ip6_interface(vm,ntohl(mp->sw_if_index)) :
-        disable_ip6_interface(vm,ntohl(mp->sw_if_index));
+  error =
+    (mp->enable == 1) ? enable_ip6_interface (vm,
+                                             ntohl (mp->sw_if_index)) :
+    disable_ip6_interface (vm, ntohl (mp->sw_if_index));
 
-    if (error)  {
-        clib_error_report(error);
-        rv = VNET_API_ERROR_UNSPECIFIED;
-    } else {
-        rv = vnm->api_errno;
+  if (error)
+    {
+      clib_error_report (error);
+      rv = VNET_API_ERROR_UNSPECIFIED;
+    }
+  else
+    {
+      rv = vnm->api_errno;
     }
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_SW_INTERFACE_IP6_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_SW_INTERFACE_IP6_ENABLE_DISABLE_REPLY);
 }
 
 static void
-vl_api_sw_interface_ip6_set_link_local_address_t_handler
-(vl_api_sw_interface_ip6_set_link_local_address_t *mp, vlib_main_t *vm)
+  vl_api_sw_interface_ip6_set_link_local_address_t_handler
+  (vl_api_sw_interface_ip6_set_link_local_address_t * mp, vlib_main_t * vm)
 {
-    vl_api_sw_interface_ip6_set_link_local_address_reply_t * rmp;
-    int rv = 0;
-    clib_error_t * error;
-    vnet_main_t * vnm = vnet_get_main();
+  vl_api_sw_interface_ip6_set_link_local_address_reply_t *rmp;
+  int rv = 0;
+  clib_error_t *error;
+  vnet_main_t *vnm = vnet_get_main ();
 
-    vnm->api_errno = 0;
+  vnm->api_errno = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    error = set_ip6_link_local_address(vm,
-                                      ntohl(mp->sw_if_index),
-                                      (ip6_address_t *)mp->address,
-                                      mp->address_length);
-    if (error)  {
-      clib_error_report(error);
+  error = set_ip6_link_local_address (vm,
+                                     ntohl (mp->sw_if_index),
+                                     (ip6_address_t *) mp->address,
+                                     mp->address_length);
+  if (error)
+    {
+      clib_error_report (error);
       rv = VNET_API_ERROR_UNSPECIFIED;
-    } else {
-        rv = vnm->api_errno;
+    }
+  else
+    {
+      rv = vnm->api_errno;
     }
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS_REPLY);
+  REPLY_MACRO (VL_API_SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS_REPLY);
 }
 
-static void set_ip6_flow_hash (vl_api_set_ip_flow_hash_t *mp)
+static void
+set_ip6_flow_hash (vl_api_set_ip_flow_hash_t * mp)
 {
-    vl_api_set_ip_flow_hash_reply_t *rmp;
-    int rv = VNET_API_ERROR_UNIMPLEMENTED;
+  vl_api_set_ip_flow_hash_reply_t *rmp;
+  int rv = VNET_API_ERROR_UNIMPLEMENTED;
 
-    clib_warning ("unimplemented...");
+  clib_warning ("unimplemented...");
 
-    REPLY_MACRO(VL_API_SET_IP_FLOW_HASH_REPLY);
+  REPLY_MACRO (VL_API_SET_IP_FLOW_HASH_REPLY);
 }
 
-static void set_ip4_flow_hash (vl_api_set_ip_flow_hash_t *mp)
+static void
+set_ip4_flow_hash (vl_api_set_ip_flow_hash_t * mp)
 {
-    vl_api_set_ip_flow_hash_reply_t *rmp;
-    int rv;
-    u32 table_id;
-    u32 flow_hash_config = 0;
+  vl_api_set_ip_flow_hash_reply_t *rmp;
+  int rv;
+  u32 table_id;
+  u32 flow_hash_config = 0;
 
-    table_id = ntohl(mp->vrf_id);
+  table_id = ntohl (mp->vrf_id);
 
 #define _(a,b) if (mp->a) flow_hash_config |= b;
-    foreach_flow_hash_bit;
+  foreach_flow_hash_bit;
 #undef _
 
-    rv = vnet_set_ip4_flow_hash (table_id, flow_hash_config);
+  rv = vnet_set_ip4_flow_hash (table_id, flow_hash_config);
 
-    REPLY_MACRO(VL_API_SET_IP_FLOW_HASH_REPLY);
+  REPLY_MACRO (VL_API_SET_IP_FLOW_HASH_REPLY);
 }
 
 
-static void vl_api_set_ip_flow_hash_t_handler
-(vl_api_set_ip_flow_hash_t *mp)
+static void
+vl_api_set_ip_flow_hash_t_handler (vl_api_set_ip_flow_hash_t * mp)
 {
-    if (mp->is_ipv6 == 0)
-        set_ip4_flow_hash (mp);
-    else
-        set_ip6_flow_hash (mp);
+  if (mp->is_ipv6 == 0)
+    set_ip4_flow_hash (mp);
+  else
+    set_ip6_flow_hash (mp);
 }
 
 static void vl_api_sw_interface_set_unnumbered_t_handler
-(vl_api_sw_interface_set_unnumbered_t *mp)
+  (vl_api_sw_interface_set_unnumbered_t * mp)
 {
-    vl_api_sw_interface_set_unnumbered_reply_t * rmp;
-    int rv = 0;
-    vnet_sw_interface_t * si;
-    vnet_main_t *vnm = vnet_get_main();
-    u32 sw_if_index, unnumbered_sw_if_index;
-
-    sw_if_index = ntohl(mp->sw_if_index);
-    unnumbered_sw_if_index = ntohl(mp->unnumbered_sw_if_index);
-
-    /*
-     * The API message field names are backwards from
-     * the underlying data structure names.
-     * It's not worth changing them now.
-     */
-    if (pool_is_free_index (vnm->interface_main.sw_interfaces,
-                           unnumbered_sw_if_index)) {
-       rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
-       goto done;
+  vl_api_sw_interface_set_unnumbered_reply_t *rmp;
+  int rv = 0;
+  vnet_sw_interface_t *si;
+  vnet_main_t *vnm = vnet_get_main ();
+  u32 sw_if_index, unnumbered_sw_if_index;
+
+  sw_if_index = ntohl (mp->sw_if_index);
+  unnumbered_sw_if_index = ntohl (mp->unnumbered_sw_if_index);
+
+  /*
+   * The API message field names are backwards from
+   * the underlying data structure names.
+   * It's not worth changing them now.
+   */
+  if (pool_is_free_index (vnm->interface_main.sw_interfaces,
+                         unnumbered_sw_if_index))
+    {
+      rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
+      goto done;
     }
 
-    /* Only check the "use loop0" field when setting the binding */
-    if (mp->is_add &&
-        pool_is_free_index (vnm->interface_main.sw_interfaces, sw_if_index)) {
-       rv = VNET_API_ERROR_INVALID_SW_IF_INDEX_2;
-       goto done;
+  /* Only check the "use loop0" field when setting the binding */
+  if (mp->is_add &&
+      pool_is_free_index (vnm->interface_main.sw_interfaces, sw_if_index))
+    {
+      rv = VNET_API_ERROR_INVALID_SW_IF_INDEX_2;
+      goto done;
     }
 
-    si = vnet_get_sw_interface (vnm, unnumbered_sw_if_index);
+  si = vnet_get_sw_interface (vnm, unnumbered_sw_if_index);
 
-    if (mp->is_add) {
-       si->flags |= VNET_SW_INTERFACE_FLAG_UNNUMBERED;
-       si->unnumbered_sw_if_index = sw_if_index;
-    } else {
-       si->flags &= ~(VNET_SW_INTERFACE_FLAG_UNNUMBERED);
-       si->unnumbered_sw_if_index = (u32)~0;
+  if (mp->is_add)
+    {
+      si->flags |= VNET_SW_INTERFACE_FLAG_UNNUMBERED;
+      si->unnumbered_sw_if_index = sw_if_index;
+    }
+  else
+    {
+      si->flags &= ~(VNET_SW_INTERFACE_FLAG_UNNUMBERED);
+      si->unnumbered_sw_if_index = (u32) ~ 0;
     }
 
- done:
-    REPLY_MACRO(VL_API_SW_INTERFACE_SET_UNNUMBERED_REPLY);
+done:
+  REPLY_MACRO (VL_API_SW_INTERFACE_SET_UNNUMBERED_REPLY);
 }
 
-static void vl_api_create_loopback_t_handler
-(vl_api_create_loopback_t *mp)
+static void
+vl_api_create_loopback_t_handler (vl_api_create_loopback_t * mp)
 {
-    vl_api_create_loopback_reply_t * rmp;
-    u32 sw_if_index;
-    int rv;
+  vl_api_create_loopback_reply_t *rmp;
+  u32 sw_if_index;
+  int rv;
 
-    rv = vnet_create_loopback_interface (&sw_if_index, mp->mac_address);
+  rv = vnet_create_loopback_interface (&sw_if_index, mp->mac_address);
 
-    REPLY_MACRO2(VL_API_CREATE_LOOPBACK_REPLY,
-    ({
-       rmp->sw_if_index = ntohl (sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CREATE_LOOPBACK_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_delete_loopback_t_handler
-(vl_api_delete_loopback_t *mp)
+static void
+vl_api_delete_loopback_t_handler (vl_api_delete_loopback_t * mp)
 {
-    vl_api_delete_loopback_reply_t * rmp;
-    u32 sw_if_index;
-    int rv;
+  vl_api_delete_loopback_reply_t *rmp;
+  u32 sw_if_index;
+  int rv;
 
-    sw_if_index = ntohl (mp->sw_if_index);
-    rv = vnet_delete_loopback_interface (sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
+  rv = vnet_delete_loopback_interface (sw_if_index);
 
-    REPLY_MACRO(VL_API_DELETE_LOOPBACK_REPLY);
+  REPLY_MACRO (VL_API_DELETE_LOOPBACK_REPLY);
 }
 
-static void vl_api_control_ping_t_handler
-(vl_api_control_ping_t *mp)
+static void
+vl_api_control_ping_t_handler (vl_api_control_ping_t * mp)
 {
-    vl_api_control_ping_reply_t * rmp;
-    int rv = 0;
+  vl_api_control_ping_reply_t *rmp;
+  int rv = 0;
 
-    REPLY_MACRO2(VL_API_CONTROL_PING_REPLY,
-    ({
-       rmp->vpe_pid = ntohl (getpid());
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CONTROL_PING_REPLY,
+  ({
+    rmp->vpe_pid = ntohl (getpid());
+  }));
+  /* *INDENT-ON* */
 }
 
 static void vl_api_noprint_control_ping_t_handler
-(vl_api_noprint_control_ping_t *mp)
+  (vl_api_noprint_control_ping_t * mp)
 {
-    vl_api_noprint_control_ping_reply_t * rmp;
-    int rv = 0;
+  vl_api_noprint_control_ping_reply_t *rmp;
+  int rv = 0;
 
-    REPLY_MACRO2(VL_API_NOPRINT_CONTROL_PING_REPLY,
-    ({
-        rmp->vpe_pid = ntohl (getpid());
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_NOPRINT_CONTROL_PING_REPLY,
+  ({
+    rmp->vpe_pid = ntohl (getpid());
+  }));
+  /* *INDENT-ON* */
 }
 
-static void shmem_cli_output (uword arg, u8 * buffer, uword buffer_bytes)
+static void
+shmem_cli_output (uword arg, u8 * buffer, uword buffer_bytes)
 {
-    u8 **shmem_vecp = (u8 **)arg;
-    u8 *shmem_vec;
-    void *oldheap;
-    api_main_t * am = &api_main;
-    u32 offset;
+  u8 **shmem_vecp = (u8 **) arg;
+  u8 *shmem_vec;
+  void *oldheap;
+  api_main_t *am = &api_main;
+  u32 offset;
 
-    shmem_vec = *shmem_vecp;
+  shmem_vec = *shmem_vecp;
 
-    offset = vec_len (shmem_vec);
+  offset = vec_len (shmem_vec);
 
-    pthread_mutex_lock (&am->vlib_rp->mutex);
-    oldheap = svm_push_data_heap (am->vlib_rp);
+  pthread_mutex_lock (&am->vlib_rp->mutex);
+  oldheap = svm_push_data_heap (am->vlib_rp);
 
-    vec_validate (shmem_vec, offset + buffer_bytes - 1);
+  vec_validate (shmem_vec, offset + buffer_bytes - 1);
 
-    clib_memcpy (shmem_vec + offset, buffer, buffer_bytes);
+  clib_memcpy (shmem_vec + offset, buffer, buffer_bytes);
 
-    svm_pop_heap (oldheap);
-    pthread_mutex_unlock (&am->vlib_rp->mutex);
+  svm_pop_heap (oldheap);
+  pthread_mutex_unlock (&am->vlib_rp->mutex);
 
-    *shmem_vecp = shmem_vec;
+  *shmem_vecp = shmem_vec;
 }
 
 
-static void vl_api_cli_request_t_handler
-(vl_api_cli_request_t *mp)
+static void
+vl_api_cli_request_t_handler (vl_api_cli_request_t * mp)
 {
-    vl_api_cli_reply_t *rp;
-    unix_shared_memory_queue_t *q;
-    vlib_main_t * vm = vlib_get_main();
-    api_main_t * am = &api_main;
-    unformat_input_t input;
-    u8 *shmem_vec=0;
-    void *oldheap;
+  vl_api_cli_reply_t *rp;
+  unix_shared_memory_queue_t *q;
+  vlib_main_t *vm = vlib_get_main ();
+  api_main_t *am = &api_main;
+  unformat_input_t input;
+  u8 *shmem_vec = 0;
+  void *oldheap;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (!q)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (!q)
+    return;
 
-    rp = vl_msg_api_alloc (sizeof (*rp));
-    rp->_vl_msg_id = ntohs(VL_API_CLI_REPLY);
-    rp->context = mp->context;
+  rp = vl_msg_api_alloc (sizeof (*rp));
+  rp->_vl_msg_id = ntohs (VL_API_CLI_REPLY);
+  rp->context = mp->context;
 
-    unformat_init_vector (&input, (u8 *)(uword)mp->cmd_in_shmem);
+  unformat_init_vector (&input, (u8 *) (uword) mp->cmd_in_shmem);
 
-    vlib_cli_input (vm, &input, shmem_cli_output,
-                    (uword)&shmem_vec);
+  vlib_cli_input (vm, &input, shmem_cli_output, (uword) & shmem_vec);
 
-    pthread_mutex_lock (&am->vlib_rp->mutex);
-    oldheap = svm_push_data_heap (am->vlib_rp);
+  pthread_mutex_lock (&am->vlib_rp->mutex);
+  oldheap = svm_push_data_heap (am->vlib_rp);
 
-    vec_add1(shmem_vec, 0);
+  vec_add1 (shmem_vec, 0);
 
-    svm_pop_heap (oldheap);
-    pthread_mutex_unlock (&am->vlib_rp->mutex);
+  svm_pop_heap (oldheap);
+  pthread_mutex_unlock (&am->vlib_rp->mutex);
 
-    rp->reply_in_shmem = (uword)shmem_vec;
+  rp->reply_in_shmem = (uword) shmem_vec;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rp);
+  vl_msg_api_send_shmem (q, (u8 *) & rp);
 }
 
-static void vl_api_set_arp_neighbor_limit_t_handler (vl_api_set_arp_neighbor_limit_t *mp)
+static void
+vl_api_set_arp_neighbor_limit_t_handler (vl_api_set_arp_neighbor_limit_t * mp)
 {
-    int rv;
-    vl_api_set_arp_neighbor_limit_reply_t * rmp;
-    vnet_main_t *vnm = vnet_get_main();
-    clib_error_t * error;
+  int rv;
+  vl_api_set_arp_neighbor_limit_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  clib_error_t *error;
 
-    vnm->api_errno = 0;
+  vnm->api_errno = 0;
 
-    if (mp->is_ipv6)
-       error = ip6_set_neighbor_limit (ntohl(mp->arp_neighbor_limit));
-    else
-       error = ip4_set_arp_limit (ntohl(mp->arp_neighbor_limit));
+  if (mp->is_ipv6)
+    error = ip6_set_neighbor_limit (ntohl (mp->arp_neighbor_limit));
+  else
+    error = ip4_set_arp_limit (ntohl (mp->arp_neighbor_limit));
 
-    if (error)  {
-       clib_error_report(error);
-       rv = VNET_API_ERROR_UNSPECIFIED;
-    } else {
-        rv = vnm->api_errno;
+  if (error)
+    {
+      clib_error_report (error);
+      rv = VNET_API_ERROR_UNSPECIFIED;
+    }
+  else
+    {
+      rv = vnm->api_errno;
     }
 
-    REPLY_MACRO(VL_API_SET_ARP_NEIGHBOR_LIMIT_REPLY);
+  REPLY_MACRO (VL_API_SET_ARP_NEIGHBOR_LIMIT_REPLY);
 }
 
 static void vl_api_sr_tunnel_add_del_t_handler
-(vl_api_sr_tunnel_add_del_t *mp)
+  (vl_api_sr_tunnel_add_del_t * mp)
 {
 #if IPV6SR == 0
-    clib_warning ("unimplemented");
+  clib_warning ("unimplemented");
 #else
-    ip6_sr_add_del_tunnel_args_t _a, *a=&_a;
-    int rv = 0;
-    vl_api_sr_tunnel_add_del_reply_t * rmp;
-    ip6_address_t * segments = 0, * seg;
-    ip6_address_t * tags = 0, *tag;
-    ip6_address_t * this_address;
-    int i;
-
-    if (mp->n_segments == 0) {
-        rv = -11;
-        goto out;
-    }
-
-    memset (a, 0, sizeof (*a));
-    a->src_address = (ip6_address_t *)&mp->src_address;
-    a->dst_address = (ip6_address_t *)&mp->dst_address;
-    a->dst_mask_width = mp->dst_mask_width;
-    a->flags_net_byte_order = mp->flags_net_byte_order;
-    a->is_del = (mp->is_add == 0);
-    a->rx_table_id = ntohl(mp->outer_vrf_id);
-    a->tx_table_id = ntohl(mp->inner_vrf_id);
-
-    a->name = format(0, "%s", mp->name);
-    if (!(vec_len(a->name)))
-      a->name = 0;
-
-    a->policy_name = format(0, "%s", mp->policy_name);
-    if (!(vec_len(a->policy_name)))
-      a->policy_name = 0;
-
-    /* Yank segments and tags out of the API message */
-    this_address = (ip6_address_t *)mp->segs_and_tags;
-    for (i = 0; i < mp->n_segments; i++) {
-        vec_add2 (segments, seg, 1);
-        clib_memcpy (seg->as_u8, this_address->as_u8, sizeof (*this_address));
-        this_address++;
-    }
-    for (i = 0; i < mp->n_tags; i++) {
-        vec_add2 (tags, tag, 1);
-        clib_memcpy (tag->as_u8, this_address->as_u8, sizeof (*this_address));
-        this_address++;
-    }
-
-    a->segments = segments;
-    a->tags = tags;
-
-    rv = ip6_sr_add_del_tunnel (a);
+  ip6_sr_add_del_tunnel_args_t _a, *a = &_a;
+  int rv = 0;
+  vl_api_sr_tunnel_add_del_reply_t *rmp;
+  ip6_address_t *segments = 0, *seg;
+  ip6_address_t *tags = 0, *tag;
+  ip6_address_t *this_address;
+  int i;
+
+  if (mp->n_segments == 0)
+    {
+      rv = -11;
+      goto out;
+    }
+
+  memset (a, 0, sizeof (*a));
+  a->src_address = (ip6_address_t *) & mp->src_address;
+  a->dst_address = (ip6_address_t *) & mp->dst_address;
+  a->dst_mask_width = mp->dst_mask_width;
+  a->flags_net_byte_order = mp->flags_net_byte_order;
+  a->is_del = (mp->is_add == 0);
+  a->rx_table_id = ntohl (mp->outer_vrf_id);
+  a->tx_table_id = ntohl (mp->inner_vrf_id);
+
+  a->name = format (0, "%s", mp->name);
+  if (!(vec_len (a->name)))
+    a->name = 0;
+
+  a->policy_name = format (0, "%s", mp->policy_name);
+  if (!(vec_len (a->policy_name)))
+    a->policy_name = 0;
+
+  /* Yank segments and tags out of the API message */
+  this_address = (ip6_address_t *) mp->segs_and_tags;
+  for (i = 0; i < mp->n_segments; i++)
+    {
+      vec_add2 (segments, seg, 1);
+      clib_memcpy (seg->as_u8, this_address->as_u8, sizeof (*this_address));
+      this_address++;
+    }
+  for (i = 0; i < mp->n_tags; i++)
+    {
+      vec_add2 (tags, tag, 1);
+      clib_memcpy (tag->as_u8, this_address->as_u8, sizeof (*this_address));
+      this_address++;
+    }
+
+  a->segments = segments;
+  a->tags = tags;
+
+  rv = ip6_sr_add_del_tunnel (a);
 
 out:
 
-    REPLY_MACRO(VL_API_SR_TUNNEL_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_SR_TUNNEL_ADD_DEL_REPLY);
 #endif
 }
 
 static void vl_api_sr_policy_add_del_t_handler
-(vl_api_sr_policy_add_del_t *mp)
+  (vl_api_sr_policy_add_del_t * mp)
 {
 #if IPV6SR == 0
-    clib_warning ("unimplemented");
+  clib_warning ("unimplemented");
 #else
-    ip6_sr_add_del_policy_args_t _a, *a=&_a;
-    int rv = 0;
-    vl_api_sr_policy_add_del_reply_t * rmp;
-    int i;
+  ip6_sr_add_del_policy_args_t _a, *a = &_a;
+  int rv = 0;
+  vl_api_sr_policy_add_del_reply_t *rmp;
+  int i;
 
-    memset (a, 0, sizeof (*a));
-    a->is_del = (mp->is_add == 0);
+  memset (a, 0, sizeof (*a));
+  a->is_del = (mp->is_add == 0);
 
-    a->name = format(0, "%s", mp->name);
-    if (!(vec_len(a->name)))
-      {
-        rv = VNET_API_ERROR_NO_SUCH_NODE2;
-       goto out;
-      }
+  a->name = format (0, "%s", mp->name);
+  if (!(vec_len (a->name)))
+    {
+      rv = VNET_API_ERROR_NO_SUCH_NODE2;
+      goto out;
+    }
 
-    if (!(mp->tunnel_names[0]))
-      {
-        rv = VNET_API_ERROR_NO_SUCH_NODE2;
-       goto out;
-      }
+  if (!(mp->tunnel_names[0]))
+    {
+      rv = VNET_API_ERROR_NO_SUCH_NODE2;
+      goto out;
+    }
 
-    // start deserializing tunnel_names
-    int num_tunnels = mp->tunnel_names[0]; //number of tunnels
-    u8 * deser_tun_names = mp->tunnel_names;
-    deser_tun_names += 1; //moving along
+  // start deserializing tunnel_names
+  int num_tunnels = mp->tunnel_names[0];       //number of tunnels
+  u8 *deser_tun_names = mp->tunnel_names;
+  deser_tun_names += 1;                //moving along
 
-    u8 * tun_name = 0;
-    int tun_name_len = 0;
+  u8 *tun_name = 0;
+  int tun_name_len = 0;
 
-    for (i=0; i < num_tunnels; i++)
-      {
-       tun_name_len= *deser_tun_names;
-       deser_tun_names += 1;
-       vec_resize (tun_name, tun_name_len);
-       memcpy(tun_name, deser_tun_names, tun_name_len);
-       vec_add1 (a->tunnel_names, tun_name);
-       deser_tun_names += tun_name_len;
-       tun_name = 0;
-      }
+  for (i = 0; i < num_tunnels; i++)
+    {
+      tun_name_len = *deser_tun_names;
+      deser_tun_names += 1;
+      vec_resize (tun_name, tun_name_len);
+      memcpy (tun_name, deser_tun_names, tun_name_len);
+      vec_add1 (a->tunnel_names, tun_name);
+      deser_tun_names += tun_name_len;
+      tun_name = 0;
+    }
 
-    rv = ip6_sr_add_del_policy (a);
+  rv = ip6_sr_add_del_policy (a);
 
 out:
 
-    REPLY_MACRO(VL_API_SR_POLICY_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_SR_POLICY_ADD_DEL_REPLY);
 #endif
 }
 
 static void vl_api_sr_multicast_map_add_del_t_handler
-(vl_api_sr_multicast_map_add_del_t *mp)
+  (vl_api_sr_multicast_map_add_del_t * mp)
 {
 #if IPV6SR == 0
-    clib_warning ("unimplemented");
+  clib_warning ("unimplemented");
 #else
-    ip6_sr_add_del_multicastmap_args_t _a, *a=&_a;
-    int rv = 0;
-    vl_api_sr_multicast_map_add_del_reply_t * rmp;
+  ip6_sr_add_del_multicastmap_args_t _a, *a = &_a;
+  int rv = 0;
+  vl_api_sr_multicast_map_add_del_reply_t *rmp;
 
-    memset (a, 0, sizeof (*a));
-    a->is_del = (mp->is_add == 0);
+  memset (a, 0, sizeof (*a));
+  a->is_del = (mp->is_add == 0);
 
-    a->multicast_address = (ip6_address_t *)&mp->multicast_address;
-    a->policy_name = format(0, "%s", mp->policy_name);
+  a->multicast_address = (ip6_address_t *) & mp->multicast_address;
+  a->policy_name = format (0, "%s", mp->policy_name);
 
-    if (a->multicast_address == 0)
-      {
-        rv = -1 ;
-       goto out;
-      }
+  if (a->multicast_address == 0)
+    {
+      rv = -1;
+      goto out;
+    }
 
-    if (!(a->policy_name))
-      {
-        rv = -2 ;
-       goto out;
-      }
+  if (!(a->policy_name))
+    {
+      rv = -2;
+      goto out;
+    }
 
-#if DPDK > 0 /* Cannot call replicate without DPDK */
-    rv = ip6_sr_add_del_multicastmap (a);
+#if DPDK > 0                   /* Cannot call replicate without DPDK */
+  rv = ip6_sr_add_del_multicastmap (a);
 #else
-    clib_warning ("multicast replication without DPDK not implemented");
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  clib_warning ("multicast replication without DPDK not implemented");
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif /* DPDK */
 
 out:
 
-    REPLY_MACRO(VL_API_SR_MULTICAST_MAP_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_SR_MULTICAST_MAP_ADD_DEL_REPLY);
 #endif
 }
 
@@ -3615,175 +3809,183 @@ _(next_table_index)                             \
 _(miss_next_index)
 
 static void vl_api_classify_add_del_table_t_handler
-(vl_api_classify_add_del_table_t * mp)
+  (vl_api_classify_add_del_table_t * mp)
 {
-    vl_api_classify_add_del_table_reply_t * rmp;
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    vnet_classify_table_t * t;
-    int rv;
+  vl_api_classify_add_del_table_reply_t *rmp;
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  vnet_classify_table_t *t;
+  int rv;
 
 #define _(a) u32 a;
-    foreach_classify_add_del_table_field;
+  foreach_classify_add_del_table_field;
 #undef _
 
 #define _(a) a = ntohl(mp->a);
-    foreach_classify_add_del_table_field;
+  foreach_classify_add_del_table_field;
 #undef _
 
-    /* The underlying API fails silently, on purpose, so check here */
-    if (mp->is_add == 0)
-        if (pool_is_free_index (cm->tables, table_index)) {
-            rv = VNET_API_ERROR_NO_SUCH_TABLE;
-            goto out;
-        }
+  /* The underlying API fails silently, on purpose, so check here */
+  if (mp->is_add == 0)
+    if (pool_is_free_index (cm->tables, table_index))
+      {
+       rv = VNET_API_ERROR_NO_SUCH_TABLE;
+       goto out;
+      }
 
-    rv = vnet_classify_add_del_table
-        (cm, mp->mask, nbuckets, memory_size,
-         skip_n_vectors, match_n_vectors,
-         next_table_index, miss_next_index,
-         &table_index, mp->is_add);
+  rv = vnet_classify_add_del_table
+    (cm, mp->mask, nbuckets, memory_size,
+     skip_n_vectors, match_n_vectors,
+     next_table_index, miss_next_index, &table_index, mp->is_add);
 
 out:
-    REPLY_MACRO2(VL_API_CLASSIFY_ADD_DEL_TABLE_REPLY,
-    ({
-        if (rv == 0 && mp->is_add) {
-            t = pool_elt_at_index (cm->tables, table_index);
-            rmp->skip_n_vectors = ntohl(t->skip_n_vectors);
-            rmp->match_n_vectors = ntohl(t->match_n_vectors);
-            rmp->new_table_index = ntohl(table_index);
-        } else {
-            rmp->skip_n_vectors = ~0;
-            rmp->match_n_vectors = ~0;
-            rmp->new_table_index = ~0;
-        }
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CLASSIFY_ADD_DEL_TABLE_REPLY,
+  ({
+    if (rv == 0 && mp->is_add)
+      {
+        t = pool_elt_at_index (cm->tables, table_index);
+        rmp->skip_n_vectors = ntohl(t->skip_n_vectors);
+        rmp->match_n_vectors = ntohl(t->match_n_vectors);
+        rmp->new_table_index = ntohl(table_index);
+      }
+    else
+      {
+        rmp->skip_n_vectors = ~0;
+        rmp->match_n_vectors = ~0;
+        rmp->new_table_index = ~0;
+      }
+  }));
+  /* *INDENT-ON* */
 }
 
 static void vl_api_classify_add_del_session_t_handler
-(vl_api_classify_add_del_session_t * mp)
+  (vl_api_classify_add_del_session_t * mp)
 {
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    vl_api_classify_add_del_session_reply_t * rmp;
-    int rv;
-    u32 table_index, hit_next_index, opaque_index;
-    i32 advance;
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  vl_api_classify_add_del_session_reply_t *rmp;
+  int rv;
+  u32 table_index, hit_next_index, opaque_index;
+  i32 advance;
 
-    table_index = ntohl (mp->table_index);
-    hit_next_index = ntohl (mp->hit_next_index);
-    opaque_index = ntohl (mp->opaque_index);
-    advance = ntohl (mp->advance);
+  table_index = ntohl (mp->table_index);
+  hit_next_index = ntohl (mp->hit_next_index);
+  opaque_index = ntohl (mp->opaque_index);
+  advance = ntohl (mp->advance);
 
-    rv = vnet_classify_add_del_session
-        (cm, table_index, mp->match, hit_next_index, opaque_index,
-         advance, mp->is_add);
+  rv = vnet_classify_add_del_session
+    (cm, table_index, mp->match, hit_next_index, opaque_index,
+     advance, mp->is_add);
 
-    REPLY_MACRO(VL_API_CLASSIFY_ADD_DEL_SESSION_REPLY);
+  REPLY_MACRO (VL_API_CLASSIFY_ADD_DEL_SESSION_REPLY);
 }
 
 static void vl_api_classify_set_interface_ip_table_t_handler
-(vl_api_classify_set_interface_ip_table_t * mp)
+  (vl_api_classify_set_interface_ip_table_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_classify_set_interface_ip_table_reply_t * rmp;
-    int rv;
-    u32 table_index, sw_if_index;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_classify_set_interface_ip_table_reply_t *rmp;
+  int rv;
+  u32 table_index, sw_if_index;
 
-    table_index = ntohl (mp->table_index);
-    sw_if_index = ntohl (mp->sw_if_index);
+  table_index = ntohl (mp->table_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    if (mp->is_ipv6)
-        rv = vnet_set_ip6_classify_intfc (vm, sw_if_index, table_index);
-    else
-        rv = vnet_set_ip4_classify_intfc (vm, sw_if_index, table_index);
+  if (mp->is_ipv6)
+    rv = vnet_set_ip6_classify_intfc (vm, sw_if_index, table_index);
+  else
+    rv = vnet_set_ip4_classify_intfc (vm, sw_if_index, table_index);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_CLASSIFY_SET_INTERFACE_IP_TABLE_REPLY);
+  REPLY_MACRO (VL_API_CLASSIFY_SET_INTERFACE_IP_TABLE_REPLY);
 }
 
 static void vl_api_classify_set_interface_l2_tables_t_handler
-(vl_api_classify_set_interface_l2_tables_t * mp)
+  (vl_api_classify_set_interface_l2_tables_t * mp)
 {
-    vl_api_classify_set_interface_l2_tables_reply_t * rmp;
-    int rv;
-    u32 sw_if_index, ip4_table_index, ip6_table_index, other_table_index;
-    int enable;
+  vl_api_classify_set_interface_l2_tables_reply_t *rmp;
+  int rv;
+  u32 sw_if_index, ip4_table_index, ip6_table_index, other_table_index;
+  int enable;
 
-    ip4_table_index = ntohl(mp->ip4_table_index);
-    ip6_table_index = ntohl(mp->ip6_table_index);
-    other_table_index = ntohl(mp->other_table_index);
-    sw_if_index = ntohl(mp->sw_if_index);
+  ip4_table_index = ntohl (mp->ip4_table_index);
+  ip6_table_index = ntohl (mp->ip6_table_index);
+  other_table_index = ntohl (mp->other_table_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = vnet_l2_classify_set_tables (sw_if_index, ip4_table_index,
-                                      ip6_table_index, other_table_index);
+  rv = vnet_l2_classify_set_tables (sw_if_index, ip4_table_index,
+                                   ip6_table_index, other_table_index);
 
-    if (rv == 0) {
-        if (ip4_table_index != ~0 || ip6_table_index != ~0
-            || other_table_index != ~0)
-            enable = 1;
-        else
-            enable = 0;
+  if (rv == 0)
+    {
+      if (ip4_table_index != ~0 || ip6_table_index != ~0
+         || other_table_index != ~0)
+       enable = 1;
+      else
+       enable = 0;
 
-        vnet_l2_classify_enable_disable (sw_if_index, enable);
+      vnet_l2_classify_enable_disable (sw_if_index, enable);
     }
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_CLASSIFY_SET_INTERFACE_L2_TABLES_REPLY);
+  REPLY_MACRO (VL_API_CLASSIFY_SET_INTERFACE_L2_TABLES_REPLY);
 }
 
 static void
-vl_api_l2_fib_clear_table_t_handler (vl_api_l2_fib_clear_table_t *mp)
+vl_api_l2_fib_clear_table_t_handler (vl_api_l2_fib_clear_table_t * mp)
 {
-    int rv = 0;
-    vl_api_l2_fib_clear_table_reply_t * rmp;
+  int rv = 0;
+  vl_api_l2_fib_clear_table_reply_t *rmp;
 
-    /* DAW-FIXME: This API should only clear non-static l2fib entries, but
-     *            that is not currently implemented.  When that TODO is fixed
-     *            this call should be changed to pass 1 instead of 0.
-     */
-    l2fib_clear_table (0);
+  /* DAW-FIXME: This API should only clear non-static l2fib entries, but
+   *            that is not currently implemented.  When that TODO is fixed
+   *            this call should be changed to pass 1 instead of 0.
+   */
+  l2fib_clear_table (0);
 
-    REPLY_MACRO(VL_API_L2_FIB_CLEAR_TABLE_REPLY);
+  REPLY_MACRO (VL_API_L2_FIB_CLEAR_TABLE_REPLY);
 }
 
-extern void l2_efp_filter_configure(vnet_main_t * vnet_main,
-                                    u32           sw_if_index,
-                                    u32           enable);
+extern void l2_efp_filter_configure (vnet_main_t * vnet_main,
+                                    u32 sw_if_index, u32 enable);
 
 static void
-vl_api_l2_interface_efp_filter_t_handler (vl_api_l2_interface_efp_filter_t *mp)
+vl_api_l2_interface_efp_filter_t_handler (vl_api_l2_interface_efp_filter_t *
+                                         mp)
 {
-    int rv;
-    vl_api_l2_interface_efp_filter_reply_t * rmp;
-    vnet_main_t *vnm = vnet_get_main();
+  int rv;
+  vl_api_l2_interface_efp_filter_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
 
-    // enable/disable the feature
-    l2_efp_filter_configure (vnm, mp->sw_if_index, mp->enable_disable);
-    rv = vnm->api_errno;
+  // enable/disable the feature
+  l2_efp_filter_configure (vnm, mp->sw_if_index, mp->enable_disable);
+  rv = vnm->api_errno;
 
-    REPLY_MACRO(VL_API_L2_INTERFACE_EFP_FILTER_REPLY);
+  REPLY_MACRO (VL_API_L2_INTERFACE_EFP_FILTER_REPLY);
 }
 
 static void
-vl_api_l2_interface_vlan_tag_rewrite_t_handler (vl_api_l2_interface_vlan_tag_rewrite_t *mp)
+  vl_api_l2_interface_vlan_tag_rewrite_t_handler
+  (vl_api_l2_interface_vlan_tag_rewrite_t * mp)
 {
-    int rv = 0;
-    vl_api_l2_interface_vlan_tag_rewrite_reply_t * rmp;
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
-    u32 vtr_op;
+  int rv = 0;
+  vl_api_l2_interface_vlan_tag_rewrite_reply_t *rmp;
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
+  u32 vtr_op;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    vtr_op = ntohl(mp->vtr_op);
+  vtr_op = ntohl (mp->vtr_op);
 
-    /* The L2 code is unsuspicious */
-    switch(vtr_op) {
+  /* The L2 code is unsuspicious */
+  switch (vtr_op)
+    {
     case L2_VTR_DISABLED:
     case L2_VTR_PUSH_1:
     case L2_VTR_PUSH_2:
@@ -3793,1114 +3995,1218 @@ vl_api_l2_interface_vlan_tag_rewrite_t_handler (vl_api_l2_interface_vlan_tag_rew
     case L2_VTR_TRANSLATE_1_2:
     case L2_VTR_TRANSLATE_2_1:
     case L2_VTR_TRANSLATE_2_2:
-        break;
+      break;
 
     default:
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto bad_sw_if_index;
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto bad_sw_if_index;
     }
 
-    rv = l2vtr_configure (vm, vnm, ntohl(mp->sw_if_index), vtr_op,
-                          ntohl(mp->push_dot1q), ntohl(mp->tag1),
-                          ntohl(mp->tag2));
+  rv = l2vtr_configure (vm, vnm, ntohl (mp->sw_if_index), vtr_op,
+                       ntohl (mp->push_dot1q), ntohl (mp->tag1),
+                       ntohl (mp->tag2));
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_L2_INTERFACE_VLAN_TAG_REWRITE_REPLY);
+  REPLY_MACRO (VL_API_L2_INTERFACE_VLAN_TAG_REWRITE_REPLY);
 }
 
 static void
-vl_api_create_vhost_user_if_t_handler (vl_api_create_vhost_user_if_t *mp)
+vl_api_create_vhost_user_if_t_handler (vl_api_create_vhost_user_if_t * mp)
 {
-    int rv = 0;
-    vl_api_create_vhost_user_if_reply_t * rmp;
-#if DPDK > 0 
-    u32 sw_if_index = (u32)~0;
+  int rv = 0;
+  vl_api_create_vhost_user_if_reply_t *rmp;
+#if DPDK > 0
+  u32 sw_if_index = (u32) ~ 0;
 
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
 
-    rv = vhost_user_create_if(vnm, vm, (char *)mp->sock_filename,
-                              mp->is_server, &sw_if_index, (u64)~0,
-                              mp->renumber, ntohl(mp->custom_dev_instance),
-                              (mp->use_custom_mac)?mp->mac_address:NULL);
+  rv = vhost_user_create_if (vnm, vm, (char *) mp->sock_filename,
+                            mp->is_server, &sw_if_index, (u64) ~ 0,
+                            mp->renumber, ntohl (mp->custom_dev_instance),
+                            (mp->use_custom_mac) ? mp->mac_address : NULL);
 
-    REPLY_MACRO2(VL_API_CREATE_VHOST_USER_IF_REPLY,
-    ({
-      rmp->sw_if_index = ntohl (sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CREATE_VHOST_USER_IF_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
-    REPLY_MACRO(VL_API_CREATE_VHOST_USER_IF_REPLY);
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
+  REPLY_MACRO (VL_API_CREATE_VHOST_USER_IF_REPLY);
 #endif
 }
 
 static void
-vl_api_modify_vhost_user_if_t_handler (vl_api_modify_vhost_user_if_t *mp)
+vl_api_modify_vhost_user_if_t_handler (vl_api_modify_vhost_user_if_t * mp)
 {
-    int rv = 0;
-    vl_api_modify_vhost_user_if_reply_t * rmp;
+  int rv = 0;
+  vl_api_modify_vhost_user_if_reply_t *rmp;
 #if DPDK > 0 && DPDK_VHOST_USER
-    u32 sw_if_index = ntohl(mp->sw_if_index);
+  u32 sw_if_index = ntohl (mp->sw_if_index);
 
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
 
-    rv = dpdk_vhost_user_modify_if(vnm, vm, (char *)mp->sock_filename,
-                              mp->is_server, sw_if_index, (u64)~0,
-                              mp->renumber, ntohl(mp->custom_dev_instance));
+  rv = dpdk_vhost_user_modify_if (vnm, vm, (char *) mp->sock_filename,
+                                 mp->is_server, sw_if_index, (u64) ~ 0,
+                                 mp->renumber,
+                                 ntohl (mp->custom_dev_instance));
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
-    REPLY_MACRO(VL_API_MODIFY_VHOST_USER_IF_REPLY);
+  REPLY_MACRO (VL_API_MODIFY_VHOST_USER_IF_REPLY);
 }
 
 static void
-vl_api_delete_vhost_user_if_t_handler (vl_api_delete_vhost_user_if_t *mp)
+vl_api_delete_vhost_user_if_t_handler (vl_api_delete_vhost_user_if_t * mp)
 {
-    int rv = 0;
-    vl_api_delete_vhost_user_if_reply_t * rmp;
+  int rv = 0;
+  vl_api_delete_vhost_user_if_reply_t *rmp;
 #if DPDK > 0 && DPDK_VHOST_USER
-    vpe_api_main_t * vam = &vpe_api_main;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
+  vpe_api_main_t *vam = &vpe_api_main;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
 
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
 
-    rv = dpdk_vhost_user_delete_if(vnm, vm, sw_if_index);
+  rv = dpdk_vhost_user_delete_if (vnm, vm, sw_if_index);
 
-    REPLY_MACRO(VL_API_DELETE_VHOST_USER_IF_REPLY);
-    if (!rv) {
-        unix_shared_memory_queue_t * q =
-            vl_api_client_index_to_input_queue (mp->client_index);
-        if (!q)
-            return;
+  REPLY_MACRO (VL_API_DELETE_VHOST_USER_IF_REPLY);
+  if (!rv)
+    {
+      unix_shared_memory_queue_t *q =
+       vl_api_client_index_to_input_queue (mp->client_index);
+      if (!q)
+       return;
 
-        send_sw_interface_flags_deleted (vam, q, sw_if_index);
+      send_sw_interface_flags_deleted (vam, q, sw_if_index);
     }
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
-    REPLY_MACRO(VL_API_DELETE_VHOST_USER_IF_REPLY);
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
+  REPLY_MACRO (VL_API_DELETE_VHOST_USER_IF_REPLY);
 #endif
 }
 
-static void vl_api_sw_interface_vhost_user_details_t_handler (
-    vl_api_sw_interface_vhost_user_details_t * mp)
+static void
+  vl_api_sw_interface_vhost_user_details_t_handler
+  (vl_api_sw_interface_vhost_user_details_t * mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
 #if DPDK > 0 && DPDK_VHOST_USER
-static void send_sw_interface_vhost_user_details (vpe_api_main_t * am,
-                                       unix_shared_memory_queue_t *q,
-                                       vhost_user_intf_details_t * vui,
-                                       u32 context)
-{
-    vl_api_sw_interface_vhost_user_details_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_INTERFACE_VHOST_USER_DETAILS);
-    mp->sw_if_index = ntohl(vui->sw_if_index);
-    mp->virtio_net_hdr_sz = ntohl (vui->virtio_net_hdr_sz);
-    mp->features = clib_net_to_host_u64 (vui->features);
-    mp->is_server = vui->is_server;
-    mp->num_regions = ntohl(vui->num_regions);
-    mp->sock_errno = ntohl(vui->sock_errno);
-    mp->context = context;
-
-    strncpy ((char *) mp->sock_filename,
-             (char *) vui->sock_filename, ARRAY_LEN(mp->sock_filename)-1);
-    strncpy ((char *) mp->interface_name,
-             (char *) vui->if_name, ARRAY_LEN(mp->interface_name)-1);
-
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+static void
+send_sw_interface_vhost_user_details (vpe_api_main_t * am,
+                                     unix_shared_memory_queue_t * q,
+                                     vhost_user_intf_details_t * vui,
+                                     u32 context)
+{
+  vl_api_sw_interface_vhost_user_details_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_VHOST_USER_DETAILS);
+  mp->sw_if_index = ntohl (vui->sw_if_index);
+  mp->virtio_net_hdr_sz = ntohl (vui->virtio_net_hdr_sz);
+  mp->features = clib_net_to_host_u64 (vui->features);
+  mp->is_server = vui->is_server;
+  mp->num_regions = ntohl (vui->num_regions);
+  mp->sock_errno = ntohl (vui->sock_errno);
+  mp->context = context;
+
+  strncpy ((char *) mp->sock_filename,
+          (char *) vui->sock_filename, ARRAY_LEN (mp->sock_filename) - 1);
+  strncpy ((char *) mp->interface_name,
+          (char *) vui->if_name, ARRAY_LEN (mp->interface_name) - 1);
+
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 #endif
 
 static void
-vl_api_sw_interface_vhost_user_dump_t_handler (
-        vl_api_sw_interface_vhost_user_dump_t *mp)
+  vl_api_sw_interface_vhost_user_dump_t_handler
+  (vl_api_sw_interface_vhost_user_dump_t * mp)
 {
 #if DPDK > 0 && DPDK_VHOST_USER
-    int rv = 0;
-    vpe_api_main_t * am = &vpe_api_main;
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
-    vhost_user_intf_details_t *ifaces = NULL;
-    vhost_user_intf_details_t *vuid = NULL;
-    unix_shared_memory_queue_t * q;
-
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
-
-    rv = dpdk_vhost_user_dump_ifs(vnm, vm, &ifaces);
-    if (rv)
-        return;
-
-    vec_foreach (vuid, ifaces) {
-        send_sw_interface_vhost_user_details (am, q, vuid, mp->context);
-    }
-    vec_free(ifaces);
-#endif
-}
-
-static void send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t * am,
-                                       unix_shared_memory_queue_t *q,
-                                       l2t_session_t *s,
-                                       l2t_main_t * lm,
-                                       u32 context)
-{
-    vl_api_sw_if_l2tpv3_tunnel_details_t * mp;
-    u8 * if_name = NULL;
-    vnet_sw_interface_t * si = NULL;
+  int rv = 0;
+  vpe_api_main_t *am = &vpe_api_main;
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
+  vhost_user_intf_details_t *ifaces = NULL;
+  vhost_user_intf_details_t *vuid = NULL;
+  unix_shared_memory_queue_t *q;
 
-    si = vnet_get_hw_sw_interface (lm->vnet_main, s->hw_if_index);
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    if_name = format(if_name, "%U",
-                     format_vnet_sw_interface_name, lm->vnet_main, si);
+  rv = dpdk_vhost_user_dump_ifs (vnm, vm, &ifaces);
+  if (rv)
+    return;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_IF_L2TPV3_TUNNEL_DETAILS);
-    strncpy((char *)mp->interface_name,
-            (char *)if_name, ARRAY_LEN(mp->interface_name)-1);
-    mp->sw_if_index = ntohl(si->sw_if_index);
-    mp->local_session_id = s->local_session_id;
-    mp->remote_session_id = s->remote_session_id;
-    mp->local_cookie[0] = s->local_cookie[0];
-    mp->local_cookie[1] = s->local_cookie[1];
-    mp->remote_cookie = s->remote_cookie;
-    clib_memcpy(mp->client_address, &s->client_address, sizeof(s->client_address));
-    clib_memcpy(mp->our_address, &s->our_address, sizeof(s->our_address));
-    mp->l2_sublayer_present = s->l2_sublayer_present;
-    mp->context = context;
+  vec_foreach (vuid, ifaces)
+  {
+    send_sw_interface_vhost_user_details (am, q, vuid, mp->context);
+  }
+  vec_free (ifaces);
+#endif
+}
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+static void
+send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t * am,
+                                 unix_shared_memory_queue_t * q,
+                                 l2t_session_t * s,
+                                 l2t_main_t * lm, u32 context)
+{
+  vl_api_sw_if_l2tpv3_tunnel_details_t *mp;
+  u8 *if_name = NULL;
+  vnet_sw_interface_t *si = NULL;
+
+  si = vnet_get_hw_sw_interface (lm->vnet_main, s->hw_if_index);
+
+  if_name = format (if_name, "%U",
+                   format_vnet_sw_interface_name, lm->vnet_main, si);
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_IF_L2TPV3_TUNNEL_DETAILS);
+  strncpy ((char *) mp->interface_name,
+          (char *) if_name, ARRAY_LEN (mp->interface_name) - 1);
+  mp->sw_if_index = ntohl (si->sw_if_index);
+  mp->local_session_id = s->local_session_id;
+  mp->remote_session_id = s->remote_session_id;
+  mp->local_cookie[0] = s->local_cookie[0];
+  mp->local_cookie[1] = s->local_cookie[1];
+  mp->remote_cookie = s->remote_cookie;
+  clib_memcpy (mp->client_address, &s->client_address,
+              sizeof (s->client_address));
+  clib_memcpy (mp->our_address, &s->our_address, sizeof (s->our_address));
+  mp->l2_sublayer_present = s->l2_sublayer_present;
+  mp->context = context;
+
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
-static void send_ip_address_details (vpe_api_main_t * am,
-                                     unix_shared_memory_queue_t * q,
-                                     u8 * ip,
-                                     u16 prefix_length,
-                                     u8 is_ipv6,
-                                     u32 context)
+static void
+send_ip_address_details (vpe_api_main_t * am,
+                        unix_shared_memory_queue_t * q,
+                        u8 * ip, u16 prefix_length, u8 is_ipv6, u32 context)
 {
-    vl_api_ip_address_details_t * mp;
+  vl_api_ip_address_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_IP_ADDRESS_DETAILS);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_ADDRESS_DETAILS);
 
-    if (is_ipv6) {
-        clib_memcpy(&mp->ip, ip, sizeof(mp->ip));
-    } else {
-        u32 * tp = (u32 *)mp->ip;
-        *tp = ntohl(*(u32*)ip);
+  if (is_ipv6)
+    {
+      clib_memcpy (&mp->ip, ip, sizeof (mp->ip));
     }
-    mp->prefix_length = prefix_length;
-    mp->context = context;
+  else
+    {
+      u32 *tp = (u32 *) mp->ip;
+      *tp = ntohl (*(u32 *) ip);
+    }
+  mp->prefix_length = prefix_length;
+  mp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_ip_address_dump_t_handler (vl_api_ip_address_dump_t *mp)
+vl_api_ip_address_dump_t_handler (vl_api_ip_address_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    ip6_address_t * r6;
-    ip4_address_t * r4;
-    ip6_main_t * im6 = &ip6_main;
-    ip4_main_t * im4 = &ip4_main;
-    ip_lookup_main_t * lm6 = &im6->lookup_main;
-    ip_lookup_main_t * lm4 = &im4->lookup_main;
-    ip_interface_address_t * ia = 0;
-    u32 sw_if_index = ~0;
-    int rv __attribute__ ((unused)) = 0;
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  ip6_address_t *r6;
+  ip4_address_t *r4;
+  ip6_main_t *im6 = &ip6_main;
+  ip4_main_t *im4 = &ip4_main;
+  ip_lookup_main_t *lm6 = &im6->lookup_main;
+  ip_lookup_main_t *lm4 = &im4->lookup_main;
+  ip_interface_address_t *ia = 0;
+  u32 sw_if_index = ~0;
+  int rv __attribute__ ((unused)) = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    sw_if_index = ntohl(mp->sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    if (mp->is_ipv6) {
-        foreach_ip_interface_address (lm6, ia, sw_if_index,
-                                      1 /* honor unnumbered */,
-        ({
-            r6 = ip_interface_address_get_address (lm6, ia);
-            u16 prefix_length = ia->address_length;
-            send_ip_address_details(am, q, (u8*)r6, prefix_length, 1, mp->context);
-        }));
-    } else {
-        foreach_ip_interface_address (lm4, ia, sw_if_index,
-                                      1 /* honor unnumbered */,
-        ({
-            r4 = ip_interface_address_get_address (lm4, ia);
-            u16 prefix_length = ia->address_length;
-            send_ip_address_details(am, q, (u8*)r4, prefix_length, 0, mp->context);
-        }));
+  if (mp->is_ipv6)
+    {
+      /* *INDENT-OFF* */
+      foreach_ip_interface_address (lm6, ia, sw_if_index,
+                                    1 /* honor unnumbered */,
+      ({
+        r6 = ip_interface_address_get_address (lm6, ia);
+        u16 prefix_length = ia->address_length;
+        send_ip_address_details(am, q, (u8*)r6, prefix_length, 1, mp->context);
+      }));
+      /* *INDENT-ON* */
+    }
+  else
+    {
+      /* *INDENT-OFF* */
+      foreach_ip_interface_address (lm4, ia, sw_if_index,
+                                    1 /* honor unnumbered */,
+      ({
+        r4 = ip_interface_address_get_address (lm4, ia);
+        u16 prefix_length = ia->address_length;
+        send_ip_address_details(am, q, (u8*)r4, prefix_length, 0, mp->context);
+      }));
+      /* *INDENT-ON* */
     }
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 }
 
-static void send_ip_details (vpe_api_main_t * am,
-                               unix_shared_memory_queue_t *q,
-                               u32 sw_if_index,
-                               u32 context)
+static void
+send_ip_details (vpe_api_main_t * am,
+                unix_shared_memory_queue_t * q, u32 sw_if_index, u32 context)
 {
-    vl_api_ip_details_t * mp;
+  vl_api_ip_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_IP_DETAILS);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_DETAILS);
 
-    mp->sw_if_index = ntohl(sw_if_index);
-    mp->context = context;
+  mp->sw_if_index = ntohl (sw_if_index);
+  mp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_sw_if_l2tpv3_tunnel_dump_t_handler (
-        vl_api_sw_if_l2tpv3_tunnel_dump_t *mp)
+vl_api_sw_if_l2tpv3_tunnel_dump_t_handler (vl_api_sw_if_l2tpv3_tunnel_dump_t *
+                                          mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    l2t_main_t * lm = &l2t_main;
-    unix_shared_memory_queue_t * q;
-    l2t_session_t *session;
+  vpe_api_main_t *am = &vpe_api_main;
+  l2t_main_t *lm = &l2t_main;
+  unix_shared_memory_queue_t *q;
+  l2t_session_t *session;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    pool_foreach (session, lm->sessions,
-    ({
-        send_sw_if_l2tpv3_tunnel_details (am, q, session, lm, mp->context);
-    }));
+  /* *INDENT-OFF* */
+  pool_foreach (session, lm->sessions,
+  ({
+    send_sw_if_l2tpv3_tunnel_details (am, q, session, lm, mp->context);
+  }));
+  /* *INDENT-ON* */
 }
 
 
-static void send_sw_interface_tap_details (vpe_api_main_t * am,
-                                       unix_shared_memory_queue_t *q,
-                                       tapcli_interface_details_t *tap_if,
-                                       u32 context)
+static void
+send_sw_interface_tap_details (vpe_api_main_t * am,
+                              unix_shared_memory_queue_t * q,
+                              tapcli_interface_details_t * tap_if,
+                              u32 context)
 {
-    vl_api_sw_interface_tap_details_t * mp;
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_SW_INTERFACE_TAP_DETAILS);
-    mp->sw_if_index = ntohl(tap_if->sw_if_index);
-    strncpy((char *)mp->dev_name,
-            (char *)tap_if->dev_name, ARRAY_LEN(mp->dev_name)-1);
-    mp->context = context;
+  vl_api_sw_interface_tap_details_t *mp;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_TAP_DETAILS);
+  mp->sw_if_index = ntohl (tap_if->sw_if_index);
+  strncpy ((char *) mp->dev_name,
+          (char *) tap_if->dev_name, ARRAY_LEN (mp->dev_name) - 1);
+  mp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_sw_interface_tap_dump_t_handler (
-        vl_api_sw_interface_tap_dump_t *mp)
+vl_api_sw_interface_tap_dump_t_handler (vl_api_sw_interface_tap_dump_t * mp)
 {
-    int rv = 0;
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    tapcli_interface_details_t *tapifs = NULL;
-    tapcli_interface_details_t *tap_if = NULL;
+  int rv = 0;
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  tapcli_interface_details_t *tapifs = NULL;
+  tapcli_interface_details_t *tap_if = NULL;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    rv = vnet_tap_dump_ifs(&tapifs);
-    if (rv)
-        return;
+  rv = vnet_tap_dump_ifs (&tapifs);
+  if (rv)
+    return;
 
-    vec_foreach(tap_if, tapifs) {
-        send_sw_interface_tap_details(am, q, tap_if, mp->context);
-    }
+  vec_foreach (tap_if, tapifs)
+  {
+    send_sw_interface_tap_details (am, q, tap_if, mp->context);
+  }
 
-    vec_free(tapifs);
+  vec_free (tapifs);
 }
 
 static void
-vl_api_ip_dump_t_handler (vl_api_ip_dump_t *mp)
+vl_api_ip_dump_t_handler (vl_api_ip_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    vnet_main_t * vnm = vnet_get_main();
-    vlib_main_t * vm = vlib_get_main();
-    vnet_interface_main_t * im = &vnm->interface_main;
-    unix_shared_memory_queue_t * q;
-    vnet_sw_interface_t * si, * sorted_sis;
-    u32 sw_if_index = ~0;
+  vpe_api_main_t *am = &vpe_api_main;
+  vnet_main_t *vnm = vnet_get_main ();
+  vlib_main_t *vm = vlib_get_main ();
+  vnet_interface_main_t *im = &vnm->interface_main;
+  unix_shared_memory_queue_t *q;
+  vnet_sw_interface_t *si, *sorted_sis;
+  u32 sw_if_index = ~0;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    /* Gather interfaces. */
-    sorted_sis = vec_new (vnet_sw_interface_t, pool_elts (im->sw_interfaces));
-    _vec_len (sorted_sis) = 0;
-    pool_foreach (si, im->sw_interfaces, ({ vec_add1 (sorted_sis, si[0]); }));
+  /* Gather interfaces. */
+  sorted_sis = vec_new (vnet_sw_interface_t, pool_elts (im->sw_interfaces));
+  _vec_len (sorted_sis) = 0;
+  /* *INDENT-OFF* */
+  pool_foreach (si, im->sw_interfaces,
+  ({
+    vec_add1 (sorted_sis, si[0]);
+  }));
+  /* *INDENT-ON* */
 
-    vec_foreach (si, sorted_sis) {
-        if (!(si->flags & VNET_SW_INTERFACE_FLAG_UNNUMBERED)) {
-            if (mp->is_ipv6 && !ip6_interface_enabled(vm, si->sw_if_index)) {
-                continue;
-            }
-            sw_if_index = si->sw_if_index;
-            send_ip_details(am, q, sw_if_index, mp->context);
-        }
-    }
+  vec_foreach (si, sorted_sis)
+  {
+    if (!(si->flags & VNET_SW_INTERFACE_FLAG_UNNUMBERED))
+      {
+       if (mp->is_ipv6 && !ip6_interface_enabled (vm, si->sw_if_index))
+         {
+           continue;
+         }
+       sw_if_index = si->sw_if_index;
+       send_ip_details (am, q, sw_if_index, mp->context);
+      }
+  }
 }
 
-static void vl_api_l2_fib_table_entry_t_handler (
-    vl_api_l2_fib_table_entry_t * mp)
+static void
+vl_api_l2_fib_table_entry_t_handler (vl_api_l2_fib_table_entry_t * mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_l2fib_table_entry (vpe_api_main_t * am,
-                                    unix_shared_memory_queue_t *q,
-                                    l2fib_entry_key_t * l2fe_key,
-                                    l2fib_entry_result_t * l2fe_res,
-                                    u32 context)
+static void
+send_l2fib_table_entry (vpe_api_main_t * am,
+                       unix_shared_memory_queue_t * q,
+                       l2fib_entry_key_t * l2fe_key,
+                       l2fib_entry_result_t * l2fe_res, u32 context)
 {
-    vl_api_l2_fib_table_entry_t * mp;
+  vl_api_l2_fib_table_entry_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_L2_FIB_TABLE_ENTRY);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_L2_FIB_TABLE_ENTRY);
 
-    mp->bd_id = ntohl(l2input_main.bd_configs[l2fe_key->fields.bd_index].bd_id);
+  mp->bd_id =
+    ntohl (l2input_main.bd_configs[l2fe_key->fields.bd_index].bd_id);
 
-    mp->mac = l2fib_make_key (l2fe_key->fields.mac, 0);
-    mp->sw_if_index = ntohl(l2fe_res->fields.sw_if_index);
-    mp->static_mac = l2fe_res->fields.static_mac;
-    mp->filter_mac = l2fe_res->fields.filter;
-    mp->bvi_mac = l2fe_res->fields.bvi;
-    mp->context = context;
+  mp->mac = l2fib_make_key (l2fe_key->fields.mac, 0);
+  mp->sw_if_index = ntohl (l2fe_res->fields.sw_if_index);
+  mp->static_mac = l2fe_res->fields.static_mac;
+  mp->filter_mac = l2fe_res->fields.filter;
+  mp->bvi_mac = l2fe_res->fields.bvi;
+  mp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_l2_fib_table_dump_t_handler (vl_api_l2_fib_table_dump_t *mp)
+vl_api_l2_fib_table_dump_t_handler (vl_api_l2_fib_table_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    bd_main_t * bdm = &bd_main;
-    l2fib_entry_key_t *l2fe_key = NULL;
-    l2fib_entry_result_t *l2fe_res = NULL;
-    u32 ni, bd_id = ntohl (mp->bd_id);
-    u32 bd_index;
-    unix_shared_memory_queue_t * q;
-    uword * p;
+  vpe_api_main_t *am = &vpe_api_main;
+  bd_main_t *bdm = &bd_main;
+  l2fib_entry_key_t *l2fe_key = NULL;
+  l2fib_entry_result_t *l2fe_res = NULL;
+  u32 ni, bd_id = ntohl (mp->bd_id);
+  u32 bd_index;
+  unix_shared_memory_queue_t *q;
+  uword *p;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    /* see l2fib_table_dump: ~0 means "any" */
-    if (bd_id == ~0)
-        bd_index = ~0;
-    else {
-        p = hash_get (bdm->bd_index_by_bd_id, bd_id);
-        if (p == 0)
-            return;
+  /* see l2fib_table_dump: ~0 means "any" */
+  if (bd_id == ~0)
+    bd_index = ~0;
+  else
+    {
+      p = hash_get (bdm->bd_index_by_bd_id, bd_id);
+      if (p == 0)
+       return;
 
-        bd_index = p[0];
+      bd_index = p[0];
     }
 
-    l2fib_table_dump (bd_index, &l2fe_key, &l2fe_res);
+  l2fib_table_dump (bd_index, &l2fe_key, &l2fe_res);
 
-    vec_foreach_index (ni, l2fe_key) {
-        send_l2fib_table_entry (am, q, vec_elt_at_index(l2fe_key, ni),
-                                vec_elt_at_index(l2fe_res, ni), mp->context);
-    }
-    vec_free(l2fe_key);
-    vec_free(l2fe_res);
+  vec_foreach_index (ni, l2fe_key)
+  {
+    send_l2fib_table_entry (am, q, vec_elt_at_index (l2fe_key, ni),
+                           vec_elt_at_index (l2fe_res, ni), mp->context);
+  }
+  vec_free (l2fe_key);
+  vec_free (l2fe_res);
 }
 
 static void
-vl_api_show_version_t_handler (vl_api_show_version_t *mp)
+vl_api_show_version_t_handler (vl_api_show_version_t * mp)
 {
-    vl_api_show_version_reply_t *rmp;
-    int rv = 0;
-    char * vpe_api_get_build_directory(void);
-    char * vpe_api_get_version(void);
-    char * vpe_api_get_build_date(void);
+  vl_api_show_version_reply_t *rmp;
+  int rv = 0;
+  char *vpe_api_get_build_directory (void);
+  char *vpe_api_get_version (void);
+  char *vpe_api_get_build_date (void);
 
-    unix_shared_memory_queue_t * q =
-        vl_api_client_index_to_input_queue (mp->client_index);
+  unix_shared_memory_queue_t *q =
+    vl_api_client_index_to_input_queue (mp->client_index);
 
-    if (!q)
-        return;
+  if (!q)
+    return;
 
-    REPLY_MACRO2(VL_API_SHOW_VERSION_REPLY,
-    ({
-        strncpy ((char *) rmp->program, "vpe", ARRAY_LEN(rmp->program)-1);
-        strncpy ((char *) rmp->build_directory, vpe_api_get_build_directory(),
-                 ARRAY_LEN(rmp->build_directory)-1);
-        strncpy ((char *) rmp->version, vpe_api_get_version(),
-                 ARRAY_LEN(rmp->version)-1);
-        strncpy ((char *) rmp->build_date, vpe_api_get_build_date(),
-                 ARRAY_LEN(rmp->build_date)-1);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_SHOW_VERSION_REPLY,
+  ({
+    strncpy ((char *) rmp->program, "vpe", ARRAY_LEN(rmp->program)-1);
+    strncpy ((char *) rmp->build_directory, vpe_api_get_build_directory(),
+             ARRAY_LEN(rmp->build_directory)-1);
+    strncpy ((char *) rmp->version, vpe_api_get_version(),
+             ARRAY_LEN(rmp->version)-1);
+    strncpy ((char *) rmp->build_date, vpe_api_get_build_date(),
+             ARRAY_LEN(rmp->build_date)-1);
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_get_node_index_t_handler
-(vl_api_get_node_index_t * mp)
+static void
+vl_api_get_node_index_t_handler (vl_api_get_node_index_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_get_node_index_reply_t * rmp;
-    vlib_node_t * n;
-    int rv = 0;
-    u32 node_index = ~0;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_get_node_index_reply_t *rmp;
+  vlib_node_t *n;
+  int rv = 0;
+  u32 node_index = ~0;
 
-    n = vlib_get_node_by_name (vm, mp->node_name);
+  n = vlib_get_node_by_name (vm, mp->node_name);
 
-    if (n == 0)
-        rv = VNET_API_ERROR_NO_SUCH_NODE;
-    else
-        node_index = n->index;
+  if (n == 0)
+    rv = VNET_API_ERROR_NO_SUCH_NODE;
+  else
+    node_index = n->index;
 
-    REPLY_MACRO2(VL_API_GET_NODE_INDEX_REPLY,
-    ({
-        rmp->node_index = ntohl(node_index);
-    }))
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_NODE_INDEX_REPLY,
+  ({
+    rmp->node_index = ntohl(node_index);
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_get_next_index_t_handler
-(vl_api_get_next_index_t * mp)
+static void
+vl_api_get_next_index_t_handler (vl_api_get_next_index_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_get_next_index_reply_t * rmp;
-    vlib_node_t * node, * next_node;
-    int rv = 0;
-    u32 next_node_index = ~0, next_index = ~0;
-    uword * p;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_get_next_index_reply_t *rmp;
+  vlib_node_t *node, *next_node;
+  int rv = 0;
+  u32 next_node_index = ~0, next_index = ~0;
+  uword *p;
 
-    node = vlib_get_node_by_name (vm, mp->node_name);
+  node = vlib_get_node_by_name (vm, mp->node_name);
 
-    if (node == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_NODE;
-        goto out;
+  if (node == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_NODE;
+      goto out;
     }
 
-    next_node = vlib_get_node_by_name (vm, mp->next_name);
+  next_node = vlib_get_node_by_name (vm, mp->next_name);
 
-    if (next_node == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_NODE2;
-        goto out;
+  if (next_node == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_NODE2;
+      goto out;
     }
-    else
-        next_node_index = next_node->index;
+  else
+    next_node_index = next_node->index;
 
-    p = hash_get (node->next_slot_by_node, next_node_index);
+  p = hash_get (node->next_slot_by_node, next_node_index);
 
-    if (p == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_ENTRY;
-        goto out;
+  if (p == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_ENTRY;
+      goto out;
     }
-    else
-        next_index = p[0];
+  else
+    next_index = p[0];
 
- out:
-    REPLY_MACRO2(VL_API_GET_NEXT_INDEX_REPLY,
-    ({
-        rmp->next_index = ntohl(next_index);
-    }));
+out:
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_NEXT_INDEX_REPLY,
+  ({
+    rmp->next_index = ntohl(next_index);
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_add_node_next_t_handler
-(vl_api_add_node_next_t * mp)
+static void
+vl_api_add_node_next_t_handler (vl_api_add_node_next_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_add_node_next_reply_t * rmp;
-    vlib_node_t * n, * next;
-    int rv = 0;
-    u32 next_index = ~0;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_add_node_next_reply_t *rmp;
+  vlib_node_t *n, *next;
+  int rv = 0;
+  u32 next_index = ~0;
 
-    n = vlib_get_node_by_name (vm, mp->node_name);
+  n = vlib_get_node_by_name (vm, mp->node_name);
 
-    if (n == 0) {
-        rv = VNET_API_ERROR_NO_SUCH_NODE;
-        goto out;
+  if (n == 0)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_NODE;
+      goto out;
     }
 
-    next = vlib_get_node_by_name (vm, mp->next_name);
+  next = vlib_get_node_by_name (vm, mp->next_name);
 
-    if (next == 0)
-        rv = VNET_API_ERROR_NO_SUCH_NODE2;
-    else
-        next_index = vlib_node_add_next (vm, n->index, next->index);
+  if (next == 0)
+    rv = VNET_API_ERROR_NO_SUCH_NODE2;
+  else
+    next_index = vlib_node_add_next (vm, n->index, next->index);
 
 out:
-    REPLY_MACRO2(VL_API_GET_NODE_INDEX_REPLY,
-    ({
-        rmp->next_index = ntohl(next_index);
-    }))
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_NODE_INDEX_REPLY,
+  ({
+    rmp->next_index = ntohl(next_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void vl_api_l2tpv3_create_tunnel_t_handler
-(vl_api_l2tpv3_create_tunnel_t *mp)
-{
-    vl_api_l2tpv3_create_tunnel_reply_t * rmp;
-    l2t_main_t *lm = &l2t_main;
-    u32 sw_if_index = (u32)~0;
-    int rv;
-
-    if (mp->is_ipv6 != 1) {
-        rv = VNET_API_ERROR_UNIMPLEMENTED;
-        goto out;
-    }
-
-    u32 encap_fib_index;
-
-    if (mp->encap_vrf_id != ~0) {
-        uword *p;
-        ip6_main_t *im = &ip6_main;
-        if (!(p = hash_get (im->fib_index_by_table_id, ntohl(mp->encap_vrf_id)))) {
-            rv = VNET_API_ERROR_NO_SUCH_FIB;
-            goto out;
-        }
-        encap_fib_index = p[0];
-    } else {
-        encap_fib_index = ~0;
-    }
-
-    rv = create_l2tpv3_ipv6_tunnel (lm,
-                               (ip6_address_t *) mp->client_address,
-                               (ip6_address_t *) mp->our_address,
-                               ntohl(mp->local_session_id),
-                               ntohl(mp->remote_session_id),
-                               clib_net_to_host_u64(mp->local_cookie),
-                               clib_net_to_host_u64(mp->remote_cookie),
-                               mp->l2_sublayer_present,
-                               encap_fib_index,
-                               &sw_if_index);
+  (vl_api_l2tpv3_create_tunnel_t * mp)
+{
+  vl_api_l2tpv3_create_tunnel_reply_t *rmp;
+  l2t_main_t *lm = &l2t_main;
+  u32 sw_if_index = (u32) ~ 0;
+  int rv;
+
+  if (mp->is_ipv6 != 1)
+    {
+      rv = VNET_API_ERROR_UNIMPLEMENTED;
+      goto out;
+    }
+
+  u32 encap_fib_index;
+
+  if (mp->encap_vrf_id != ~0)
+    {
+      uword *p;
+      ip6_main_t *im = &ip6_main;
+      if (!
+         (p =
+          hash_get (im->fib_index_by_table_id, ntohl (mp->encap_vrf_id))))
+       {
+         rv = VNET_API_ERROR_NO_SUCH_FIB;
+         goto out;
+       }
+      encap_fib_index = p[0];
+    }
+  else
+    {
+      encap_fib_index = ~0;
+    }
+
+  rv = create_l2tpv3_ipv6_tunnel (lm,
+                                 (ip6_address_t *) mp->client_address,
+                                 (ip6_address_t *) mp->our_address,
+                                 ntohl (mp->local_session_id),
+                                 ntohl (mp->remote_session_id),
+                                 clib_net_to_host_u64 (mp->local_cookie),
+                                 clib_net_to_host_u64 (mp->remote_cookie),
+                                 mp->l2_sublayer_present,
+                                 encap_fib_index, &sw_if_index);
 
 out:
-    REPLY_MACRO2(VL_API_L2TPV3_CREATE_TUNNEL_REPLY,
-    ({
-        rmp->sw_if_index = ntohl (sw_if_index);
-    }))
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_L2TPV3_CREATE_TUNNEL_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void vl_api_l2tpv3_set_tunnel_cookies_t_handler
-(vl_api_l2tpv3_set_tunnel_cookies_t *mp)
+  (vl_api_l2tpv3_set_tunnel_cookies_t * mp)
 {
-    vl_api_l2tpv3_set_tunnel_cookies_reply_t * rmp;
-    l2t_main_t *lm = &l2t_main;
-    int rv;
+  vl_api_l2tpv3_set_tunnel_cookies_reply_t *rmp;
+  l2t_main_t *lm = &l2t_main;
+  int rv;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = l2tpv3_set_tunnel_cookies (lm, ntohl(mp->sw_if_index),
-                                  clib_net_to_host_u64(mp->new_local_cookie),
-                                  clib_net_to_host_u64(mp->new_remote_cookie));
+  rv = l2tpv3_set_tunnel_cookies (lm, ntohl (mp->sw_if_index),
+                                 clib_net_to_host_u64 (mp->new_local_cookie),
+                                 clib_net_to_host_u64
+                                 (mp->new_remote_cookie));
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO (VL_API_L2TPV3_SET_TUNNEL_COOKIES_REPLY);
+  REPLY_MACRO (VL_API_L2TPV3_SET_TUNNEL_COOKIES_REPLY);
 }
 
 static void vl_api_l2tpv3_interface_enable_disable_t_handler
-(vl_api_l2tpv3_interface_enable_disable_t * mp)
+  (vl_api_l2tpv3_interface_enable_disable_t * mp)
 {
-    int rv;
-    vnet_main_t * vnm = vnet_get_main();
-    vl_api_l2tpv3_interface_enable_disable_reply_t * rmp;
+  int rv;
+  vnet_main_t *vnm = vnet_get_main ();
+  vl_api_l2tpv3_interface_enable_disable_reply_t *rmp;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = l2tpv3_interface_enable_disable
-        (vnm, ntohl(mp->sw_if_index), mp->enable_disable);
+  rv = l2tpv3_interface_enable_disable
+    (vnm, ntohl (mp->sw_if_index), mp->enable_disable);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO (VL_API_L2TPV3_INTERFACE_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_L2TPV3_INTERFACE_ENABLE_DISABLE_REPLY);
 }
 
 static void vl_api_l2tpv3_set_lookup_key_t_handler
-(vl_api_l2tpv3_set_lookup_key_t * mp)
+  (vl_api_l2tpv3_set_lookup_key_t * mp)
 {
-    int rv = 0;
-    l2t_main_t *lm = &l2t_main;
-    vl_api_l2tpv3_set_lookup_key_reply_t * rmp;
+  int rv = 0;
+  l2t_main_t *lm = &l2t_main;
+  vl_api_l2tpv3_set_lookup_key_reply_t *rmp;
 
-    if (mp->key > L2T_LOOKUP_SESSION_ID) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
+  if (mp->key > L2T_LOOKUP_SESSION_ID)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto out;
     }
 
-    lm->lookup_type = mp->key;
+  lm->lookup_type = mp->key;
 
 out:
-    REPLY_MACRO (VL_API_L2TPV3_SET_LOOKUP_KEY_REPLY);
+  REPLY_MACRO (VL_API_L2TPV3_SET_LOOKUP_KEY_REPLY);
 }
 
 static void vl_api_vxlan_add_del_tunnel_t_handler
-(vl_api_vxlan_add_del_tunnel_t * mp)
+  (vl_api_vxlan_add_del_tunnel_t * mp)
 {
-    vl_api_vxlan_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
-    vnet_vxlan_add_del_tunnel_args_t _a, *a = &_a;
-    u32 encap_fib_index;
-    uword * p;
-    ip4_main_t * im = &ip4_main;
-    u32 sw_if_index = ~0;
-
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->encap_vrf_id));
-    if (! p) {
-        rv = VNET_API_ERROR_NO_SUCH_FIB;
-        goto out;
+  vl_api_vxlan_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
+  vnet_vxlan_add_del_tunnel_args_t _a, *a = &_a;
+  u32 encap_fib_index;
+  uword *p;
+  ip4_main_t *im = &ip4_main;
+  u32 sw_if_index = ~0;
+
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->encap_vrf_id));
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_FIB;
+      goto out;
     }
-    encap_fib_index = p[0];
+  encap_fib_index = p[0];
 
-    /* Check src & dst are different */
-    if ((mp->is_ipv6 && memcmp(mp->src_address, mp->dst_address, 16) == 0) ||
-       (!mp->is_ipv6 && memcmp(mp->src_address, mp->dst_address, 4) == 0)) {
-        rv = VNET_API_ERROR_SAME_SRC_DST;
-        goto out;
+  /* Check src & dst are different */
+  if ((mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 16) == 0) ||
+      (!mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 4) == 0))
+    {
+      rv = VNET_API_ERROR_SAME_SRC_DST;
+      goto out;
     }
-    memset (a, 0, sizeof (*a));
+  memset (a, 0, sizeof (*a));
 
-    a->is_add = mp->is_add;
-    a->is_ip6 = mp->is_ipv6;
+  a->is_add = mp->is_add;
+  a->is_ip6 = mp->is_ipv6;
 
-    /* ip addresses sent in network byte order */
-    if (a->is_ip6) {
-        memcpy(&(a->src.ip6), mp->src_address, 16);
-        memcpy(&(a->dst.ip6), mp->dst_address, 16);
-    } else {
-        memcpy(&(a->src.ip4), mp->src_address, 4);
-        memcpy(&(a->dst.ip4), mp->dst_address, 4);
+  /* ip addresses sent in network byte order */
+  if (a->is_ip6)
+    {
+      memcpy (&(a->src.ip6), mp->src_address, 16);
+      memcpy (&(a->dst.ip6), mp->dst_address, 16);
+    }
+  else
+    {
+      memcpy (&(a->src.ip4), mp->src_address, 4);
+      memcpy (&(a->dst.ip4), mp->dst_address, 4);
     }
 
-    a->encap_fib_index = encap_fib_index;
-    a->decap_next_index = ntohl(mp->decap_next_index);
-    a->vni = ntohl(mp->vni);
-    rv = vnet_vxlan_add_del_tunnel (a, &sw_if_index);
+  a->encap_fib_index = encap_fib_index;
+  a->decap_next_index = ntohl (mp->decap_next_index);
+  a->vni = ntohl (mp->vni);
+  rv = vnet_vxlan_add_del_tunnel (a, &sw_if_index);
 
 out:
-    REPLY_MACRO2(VL_API_VXLAN_ADD_DEL_TUNNEL_REPLY,
-    ({
-        rmp->sw_if_index = ntohl (sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_VXLAN_ADD_DEL_TUNNEL_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void send_vxlan_tunnel_details
-(vxlan_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
+  (vxlan_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_vxlan_tunnel_details_t * rmp;
-    ip4_main_t * im4 = &ip4_main;
-    ip6_main_t * im6 = &ip6_main;
-    u8 is_ipv6 = !(t->flags & VXLAN_TUNNEL_IS_IPV4);
+  vl_api_vxlan_tunnel_details_t *rmp;
+  ip4_main_t *im4 = &ip4_main;
+  ip6_main_t *im6 = &ip6_main;
+  u8 is_ipv6 = !(t->flags & VXLAN_TUNNEL_IS_IPV4);
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_VXLAN_TUNNEL_DETAILS);
-    if (is_ipv6) {
-        memcpy(rmp->src_address, &(t->src.ip6), 16);
-        memcpy(rmp->dst_address, &(t->dst.ip6), 16);
-        rmp->encap_vrf_id = htonl(im6->fibs[t->encap_fib_index].table_id);
-    } else {
-        memcpy(rmp->src_address, &(t->src.ip4), 4);
-        memcpy(rmp->dst_address, &(t->dst.ip4), 4);
-        rmp->encap_vrf_id = htonl(im4->fibs[t->encap_fib_index].table_id);
-    }
-    rmp->vni = htonl(t->vni);
-    rmp->decap_next_index = htonl(t->decap_next_index);
-    rmp->sw_if_index = htonl(t->sw_if_index);
-    rmp->is_ipv6 = is_ipv6;
-    rmp->context = context;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_VXLAN_TUNNEL_DETAILS);
+  if (is_ipv6)
+    {
+      memcpy (rmp->src_address, &(t->src.ip6), 16);
+      memcpy (rmp->dst_address, &(t->dst.ip6), 16);
+      rmp->encap_vrf_id = htonl (im6->fibs[t->encap_fib_index].table_id);
+    }
+  else
+    {
+      memcpy (rmp->src_address, &(t->src.ip4), 4);
+      memcpy (rmp->dst_address, &(t->dst.ip4), 4);
+      rmp->encap_vrf_id = htonl (im4->fibs[t->encap_fib_index].table_id);
+    }
+  rmp->vni = htonl (t->vni);
+  rmp->decap_next_index = htonl (t->decap_next_index);
+  rmp->sw_if_index = htonl (t->sw_if_index);
+  rmp->is_ipv6 = is_ipv6;
+  rmp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void vl_api_vxlan_tunnel_dump_t_handler
-(vl_api_vxlan_tunnel_dump_t * mp)
+  (vl_api_vxlan_tunnel_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q;
-    vxlan_main_t * vxm = &vxlan_main;
-    vxlan_tunnel_t * t;
-    u32 sw_if_index;
+  unix_shared_memory_queue_t *q;
+  vxlan_main_t *vxm = &vxlan_main;
+  vxlan_tunnel_t *t;
+  u32 sw_if_index;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    sw_if_index = ntohl(mp->sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    if (~0 == sw_if_index) {
-        pool_foreach (t, vxm->tunnels,
-        ({
-            send_vxlan_tunnel_details(t, q, mp->context);
-        }));
-    } else {
-        if ((sw_if_index >= vec_len(vxm->tunnel_index_by_sw_if_index)) ||
-                (~0 == vxm->tunnel_index_by_sw_if_index[sw_if_index])) {
-            return;
-        }
-        t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
+  if (~0 == sw_if_index)
+    {
+      /* *INDENT-OFF* */
+      pool_foreach (t, vxm->tunnels,
+      ({
         send_vxlan_tunnel_details(t, q, mp->context);
+      }));
+      /* *INDENT-ON* */
+    }
+  else
+    {
+      if ((sw_if_index >= vec_len (vxm->tunnel_index_by_sw_if_index)) ||
+         (~0 == vxm->tunnel_index_by_sw_if_index[sw_if_index]))
+       {
+         return;
+       }
+      t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
+      send_vxlan_tunnel_details (t, q, mp->context);
     }
 }
 
 static void vl_api_gre_add_del_tunnel_t_handler
-(vl_api_gre_add_del_tunnel_t * mp)
+  (vl_api_gre_add_del_tunnel_t * mp)
 {
-    vl_api_gre_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
-    vnet_gre_add_del_tunnel_args_t _a, *a = &_a;
-    u32 outer_fib_id;
-    uword * p;
-    ip4_main_t * im = &ip4_main;
-    u32 sw_if_index = ~0;
-
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->outer_fib_id));
-    if (! p) {
-        rv = VNET_API_ERROR_NO_SUCH_FIB;
-        goto out;
+  vl_api_gre_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
+  vnet_gre_add_del_tunnel_args_t _a, *a = &_a;
+  u32 outer_fib_id;
+  uword *p;
+  ip4_main_t *im = &ip4_main;
+  u32 sw_if_index = ~0;
+
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->outer_fib_id));
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_FIB;
+      goto out;
     }
-    outer_fib_id = p[0];
+  outer_fib_id = p[0];
 
-    /* Check src & dst are different */
-    if ((mp->is_ipv6 && memcmp(mp->src_address, mp->dst_address, 16) == 0) ||
-       (!mp->is_ipv6 && memcmp(mp->src_address, mp->dst_address, 4) == 0)) {
-        rv = VNET_API_ERROR_SAME_SRC_DST;
-        goto out;
+  /* Check src & dst are different */
+  if ((mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 16) == 0) ||
+      (!mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 4) == 0))
+    {
+      rv = VNET_API_ERROR_SAME_SRC_DST;
+      goto out;
     }
-    memset (a, 0, sizeof (*a));
+  memset (a, 0, sizeof (*a));
 
-    a->is_add = mp->is_add;
+  a->is_add = mp->is_add;
 
-    /* ip addresses sent in network byte order */
-    clib_memcpy(&(a->src), mp->src_address, 4);
-    clib_memcpy(&(a->dst), mp->dst_address, 4);
+  /* ip addresses sent in network byte order */
+  clib_memcpy (&(a->src), mp->src_address, 4);
+  clib_memcpy (&(a->dst), mp->dst_address, 4);
 
-    a->outer_fib_id = outer_fib_id;
-    rv = vnet_gre_add_del_tunnel (a, &sw_if_index);
+  a->outer_fib_id = outer_fib_id;
+  rv = vnet_gre_add_del_tunnel (a, &sw_if_index);
 
 out:
-    REPLY_MACRO2(VL_API_GRE_ADD_DEL_TUNNEL_REPLY,
-    ({
-        rmp->sw_if_index = ntohl (sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GRE_ADD_DEL_TUNNEL_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void send_gre_tunnel_details
-(gre_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
+  (gre_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_gre_tunnel_details_t * rmp;
-    ip4_main_t * im = &ip4_main;
+  vl_api_gre_tunnel_details_t *rmp;
+  ip4_main_t *im = &ip4_main;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_GRE_TUNNEL_DETAILS);
-    clib_memcpy(rmp->src_address, &(t->tunnel_src), 4);
-    clib_memcpy(rmp->dst_address, &(t->tunnel_dst), 4);
-    rmp->outer_fib_id = htonl(im->fibs[t->outer_fib_index].table_id);
-    rmp->sw_if_index = htonl(t->sw_if_index);
-    rmp->context = context;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_GRE_TUNNEL_DETAILS);
+  clib_memcpy (rmp->src_address, &(t->tunnel_src), 4);
+  clib_memcpy (rmp->dst_address, &(t->tunnel_dst), 4);
+  rmp->outer_fib_id = htonl (im->fibs[t->outer_fib_index].table_id);
+  rmp->sw_if_index = htonl (t->sw_if_index);
+  rmp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-static void vl_api_gre_tunnel_dump_t_handler
-(vl_api_gre_tunnel_dump_t * mp)
+static void
+vl_api_gre_tunnel_dump_t_handler (vl_api_gre_tunnel_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q;
-    gre_main_t * gm = &gre_main;
-    gre_tunnel_t * t;
-    u32 sw_if_index;
+  unix_shared_memory_queue_t *q;
+  gre_main_t *gm = &gre_main;
+  gre_tunnel_t *t;
+  u32 sw_if_index;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    sw_if_index = ntohl(mp->sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    if (~0 == sw_if_index) {
-        pool_foreach (t, gm->tunnels,
-        ({
-            send_gre_tunnel_details(t, q, mp->context);
-        }));
-    } else {
-        if ((sw_if_index >= vec_len(gm->tunnel_index_by_sw_if_index)) ||
-                (~0 == gm->tunnel_index_by_sw_if_index[sw_if_index])) {
-            return;
-        }
-        t = &gm->tunnels[gm->tunnel_index_by_sw_if_index[sw_if_index]];
+  if (~0 == sw_if_index)
+    {
+      /* *INDENT-OFF* */
+      pool_foreach (t, gm->tunnels,
+      ({
         send_gre_tunnel_details(t, q, mp->context);
+      }));
+      /* *INDENT-ON* */
+    }
+  else
+    {
+      if ((sw_if_index >= vec_len (gm->tunnel_index_by_sw_if_index)) ||
+         (~0 == gm->tunnel_index_by_sw_if_index[sw_if_index]))
+       {
+         return;
+       }
+      t = &gm->tunnels[gm->tunnel_index_by_sw_if_index[sw_if_index]];
+      send_gre_tunnel_details (t, q, mp->context);
     }
 }
 
 static void
-vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t *mp)
+vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t * mp)
 {
-    extern int vnet_l2_patch_add_del (u32 rx_sw_if_index, u32 tx_sw_if_index,
-                                     int is_add);
-    vl_api_l2_patch_add_del_reply_t * rmp;
-    int vnet_l2_patch_add_del (u32 rx_sw_if_index, u32 tx_sw_if_index,
-                               int is_add);
-    int rv = 0;
+  extern int vnet_l2_patch_add_del (u32 rx_sw_if_index, u32 tx_sw_if_index,
+                                   int is_add);
+  vl_api_l2_patch_add_del_reply_t *rmp;
+  int vnet_l2_patch_add_del (u32 rx_sw_if_index, u32 tx_sw_if_index,
+                            int is_add);
+  int rv = 0;
 
-    VALIDATE_RX_SW_IF_INDEX(mp);
-    VALIDATE_TX_SW_IF_INDEX(mp);
+  VALIDATE_RX_SW_IF_INDEX (mp);
+  VALIDATE_TX_SW_IF_INDEX (mp);
 
-    rv = vnet_l2_patch_add_del (ntohl(mp->rx_sw_if_index),
-                               ntohl(mp->tx_sw_if_index),
-                               (int)(mp->is_add != 0));
+  rv = vnet_l2_patch_add_del (ntohl (mp->rx_sw_if_index),
+                             ntohl (mp->tx_sw_if_index),
+                             (int) (mp->is_add != 0));
 
-    BAD_RX_SW_IF_INDEX_LABEL;
-    BAD_TX_SW_IF_INDEX_LABEL;
+  BAD_RX_SW_IF_INDEX_LABEL;
+  BAD_TX_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_L2_PATCH_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_L2_PATCH_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_vxlan_gpe_add_del_tunnel_t_handler
-(vl_api_vxlan_gpe_add_del_tunnel_t * mp)
+  vl_api_vxlan_gpe_add_del_tunnel_t_handler
+  (vl_api_vxlan_gpe_add_del_tunnel_t * mp)
 {
-    vl_api_vxlan_gpe_add_del_tunnel_reply_t * rmp;
-    int rv = 0;
-    vnet_vxlan_gpe_add_del_tunnel_args_t _a, *a = &_a;
-    u32 encap_fib_index, decap_fib_index;
-    u8 protocol;
-    uword * p;
-    ip4_main_t * im = &ip4_main;
-    u32 sw_if_index = ~0;
+  vl_api_vxlan_gpe_add_del_tunnel_reply_t *rmp;
+  int rv = 0;
+  vnet_vxlan_gpe_add_del_tunnel_args_t _a, *a = &_a;
+  u32 encap_fib_index, decap_fib_index;
+  u8 protocol;
+  uword *p;
+  ip4_main_t *im = &ip4_main;
+  u32 sw_if_index = ~0;
 
 
-    p = hash_get (im->fib_index_by_table_id, ntohl(mp->encap_vrf_id));
-    if (! p) {
-        rv = VNET_API_ERROR_NO_SUCH_FIB;
-        goto out;
+  p = hash_get (im->fib_index_by_table_id, ntohl (mp->encap_vrf_id));
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_FIB;
+      goto out;
     }
-    encap_fib_index = p[0];
+  encap_fib_index = p[0];
 
-    protocol = mp->protocol;
+  protocol = mp->protocol;
 
-    /* Interpret decap_vrf_id as an opaque if sending to other-than-ip4-input */
-    if (protocol == VXLAN_GPE_INPUT_NEXT_IP4_INPUT) {
-        p = hash_get (im->fib_index_by_table_id, ntohl(mp->decap_vrf_id));
-        if (! p) {
-            rv = VNET_API_ERROR_NO_SUCH_INNER_FIB;
-            goto out;
-        }
-        decap_fib_index = p[0];
-    } else {
-        decap_fib_index = ntohl(mp->decap_vrf_id);
+  /* Interpret decap_vrf_id as an opaque if sending to other-than-ip4-input */
+  if (protocol == VXLAN_GPE_INPUT_NEXT_IP4_INPUT)
+    {
+      p = hash_get (im->fib_index_by_table_id, ntohl (mp->decap_vrf_id));
+      if (!p)
+       {
+         rv = VNET_API_ERROR_NO_SUCH_INNER_FIB;
+         goto out;
+       }
+      decap_fib_index = p[0];
+    }
+  else
+    {
+      decap_fib_index = ntohl (mp->decap_vrf_id);
+    }
+
+  /* Check src & dst are different */
+  if ((mp->is_ipv6 && memcmp (mp->local, mp->remote, 16) == 0) ||
+      (!mp->is_ipv6 && memcmp (mp->local, mp->remote, 4) == 0))
+    {
+      rv = VNET_API_ERROR_SAME_SRC_DST;
+      goto out;
     }
+  memset (a, 0, sizeof (*a));
 
-    /* Check src & dst are different */
-    if ((mp->is_ipv6 && memcmp(mp->local, mp->remote, 16) == 0) ||
-       (!mp->is_ipv6 && memcmp(mp->local, mp->remote, 4) == 0)) {
-        rv = VNET_API_ERROR_SAME_SRC_DST;
-        goto out;
+  a->is_add = mp->is_add;
+  a->is_ip6 = mp->is_ipv6;
+  /* ip addresses sent in network byte order */
+  if (a->is_ip6)
+    {
+      clib_memcpy (&(a->local.ip6), mp->local, 16);
+      clib_memcpy (&(a->remote.ip6), mp->remote, 16);
     }
-    memset (a, 0, sizeof (*a));
-
-    a->is_add = mp->is_add;
-    a->is_ip6 = mp->is_ipv6;
-    /* ip addresses sent in network byte order */
-    if (a->is_ip6) {
-      clib_memcpy(&(a->local.ip6), mp->local, 16);
-      clib_memcpy(&(a->remote.ip6), mp->remote, 16);
-    } else {
-      clib_memcpy(&(a->local.ip4), mp->local, 4);
-      clib_memcpy(&(a->remote.ip4), mp->remote, 4);
+  else
+    {
+      clib_memcpy (&(a->local.ip4), mp->local, 4);
+      clib_memcpy (&(a->remote.ip4), mp->remote, 4);
     }
-    a->encap_fib_index = encap_fib_index;
-    a->decap_fib_index = decap_fib_index;
-    a->protocol = protocol;
-    a->vni = ntohl(mp->vni);
-    rv = vnet_vxlan_gpe_add_del_tunnel (a, &sw_if_index);
+  a->encap_fib_index = encap_fib_index;
+  a->decap_fib_index = decap_fib_index;
+  a->protocol = protocol;
+  a->vni = ntohl (mp->vni);
+  rv = vnet_vxlan_gpe_add_del_tunnel (a, &sw_if_index);
 
 out:
-    REPLY_MACRO2(VL_API_VXLAN_GPE_ADD_DEL_TUNNEL_REPLY,
-    ({
-        rmp->sw_if_index = ntohl (sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_VXLAN_GPE_ADD_DEL_TUNNEL_REPLY,
+  ({
+    rmp->sw_if_index = ntohl (sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void send_vxlan_gpe_tunnel_details
-(vxlan_gpe_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
+  (vxlan_gpe_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_vxlan_gpe_tunnel_details_t * rmp;
-    ip4_main_t * im4 = &ip4_main;
-    ip6_main_t * im6 = &ip6_main;
-    u8 is_ipv6 = !(t->flags & VXLAN_GPE_TUNNEL_IS_IPV4);
+  vl_api_vxlan_gpe_tunnel_details_t *rmp;
+  ip4_main_t *im4 = &ip4_main;
+  ip6_main_t *im6 = &ip6_main;
+  u8 is_ipv6 = !(t->flags & VXLAN_GPE_TUNNEL_IS_IPV4);
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_VXLAN_GPE_TUNNEL_DETAILS);
-    if (is_ipv6) {
-        memcpy(rmp->local, &(t->local.ip6), 16);
-        memcpy(rmp->remote, &(t->remote.ip6), 16);
-        rmp->encap_vrf_id = htonl(im6->fibs[t->encap_fib_index].table_id);
-        rmp->decap_vrf_id = htonl(im6->fibs[t->decap_fib_index].table_id);
-    } else {
-        memcpy(rmp->local, &(t->local.ip4), 4);
-        memcpy(rmp->remote, &(t->remote.ip4), 4);
-        rmp->encap_vrf_id = htonl(im4->fibs[t->encap_fib_index].table_id);
-        rmp->decap_vrf_id = htonl(im4->fibs[t->decap_fib_index].table_id);
-    }
-    rmp->vni = htonl(t->vni);
-    rmp->protocol = t->protocol;
-    rmp->sw_if_index = htonl(t->sw_if_index);
-    rmp->is_ipv6 = is_ipv6;
-    rmp->context = context;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_VXLAN_GPE_TUNNEL_DETAILS);
+  if (is_ipv6)
+    {
+      memcpy (rmp->local, &(t->local.ip6), 16);
+      memcpy (rmp->remote, &(t->remote.ip6), 16);
+      rmp->encap_vrf_id = htonl (im6->fibs[t->encap_fib_index].table_id);
+      rmp->decap_vrf_id = htonl (im6->fibs[t->decap_fib_index].table_id);
+    }
+  else
+    {
+      memcpy (rmp->local, &(t->local.ip4), 4);
+      memcpy (rmp->remote, &(t->remote.ip4), 4);
+      rmp->encap_vrf_id = htonl (im4->fibs[t->encap_fib_index].table_id);
+      rmp->decap_vrf_id = htonl (im4->fibs[t->decap_fib_index].table_id);
+    }
+  rmp->vni = htonl (t->vni);
+  rmp->protocol = t->protocol;
+  rmp->sw_if_index = htonl (t->sw_if_index);
+  rmp->is_ipv6 = is_ipv6;
+  rmp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void vl_api_vxlan_gpe_tunnel_dump_t_handler
-(vl_api_vxlan_gpe_tunnel_dump_t * mp)
+  (vl_api_vxlan_gpe_tunnel_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q;
-    vxlan_gpe_main_t * vgm = &vxlan_gpe_main;
-    vxlan_gpe_tunnel_t * t;
-    u32 sw_if_index;
+  unix_shared_memory_queue_t *q;
+  vxlan_gpe_main_t *vgm = &vxlan_gpe_main;
+  vxlan_gpe_tunnel_t *t;
+  u32 sw_if_index;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    sw_if_index = ntohl(mp->sw_if_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    if (~0 == sw_if_index) {
-        pool_foreach (t, vgm->tunnels,
-        ({
-            send_vxlan_gpe_tunnel_details(t, q, mp->context);
-        }));
-    } else {
-        if ((sw_if_index >= vec_len(vgm->tunnel_index_by_sw_if_index)) ||
-                (~0 == vgm->tunnel_index_by_sw_if_index[sw_if_index])) {
-            return;
-        }
-        t = &vgm->tunnels[vgm->tunnel_index_by_sw_if_index[sw_if_index]];
+  if (~0 == sw_if_index)
+    {
+      /* *INDENT-OFF* */
+      pool_foreach (t, vgm->tunnels,
+      ({
         send_vxlan_gpe_tunnel_details(t, q, mp->context);
+      }));
+      /* *INDENT-ON* */
+    }
+  else
+    {
+      if ((sw_if_index >= vec_len (vgm->tunnel_index_by_sw_if_index)) ||
+         (~0 == vgm->tunnel_index_by_sw_if_index[sw_if_index]))
+       {
+         return;
+       }
+      t = &vgm->tunnels[vgm->tunnel_index_by_sw_if_index[sw_if_index]];
+      send_vxlan_gpe_tunnel_details (t, q, mp->context);
     }
 }
 
 /** Used for transferring locators via VPP API */
-typedef CLIB_PACKED(struct
-{
-    u32 sw_if_index; /**< locator sw_if_index */
-    u8 priority; /**< locator priority */
-    u8 weight;   /**< locator weight */
+/* *INDENT-OFF* */
+typedef CLIB_PACKED (struct {
+  u32 sw_if_index; /**< locator sw_if_index */
+  u8 priority; /**< locator priority */
+  u8 weight; /**< locator weight */
 }) ls_locator_t;
+/* *INDENT-ON* */
 
 static void
-vl_api_lisp_add_del_locator_set_t_handler(vl_api_lisp_add_del_locator_set_t *mp)
+vl_api_lisp_add_del_locator_set_t_handler (vl_api_lisp_add_del_locator_set_t *
+                                          mp)
 {
-    vl_api_lisp_add_del_locator_set_reply_t *rmp;
-    int rv = 0;
-    vnet_lisp_add_del_locator_set_args_t _a, *a = &_a;
-    locator_t locator;
-    ls_locator_t *ls_loc;
-    u32 ls_index = ~0;
-    u8 *locator_name = NULL;
-    int i;
+  vl_api_lisp_add_del_locator_set_reply_t *rmp;
+  int rv = 0;
+  vnet_lisp_add_del_locator_set_args_t _a, *a = &_a;
+  locator_t locator;
+  ls_locator_t *ls_loc;
+  u32 ls_index = ~0;
+  u8 *locator_name = NULL;
+  int i;
 
-    memset(a, 0, sizeof(a[0]));
+  memset (a, 0, sizeof (a[0]));
 
-    locator_name = format(0, "%s", mp->locator_set_name);
+  locator_name = format (0, "%s", mp->locator_set_name);
 
-    a->name = locator_name;
-    a->is_add = mp->is_add;
-    a->local = 1;
+  a->name = locator_name;
+  a->is_add = mp->is_add;
+  a->local = 1;
 
-    memset(&locator, 0, sizeof(locator));
-    for (i = 0; i < mp->locator_num; i++) {
-        ls_loc = &((ls_locator_t *) mp->locators)[i];
-        VALIDATE_SW_IF_INDEX(ls_loc);
+  memset (&locator, 0, sizeof (locator));
+  for (i = 0; i < mp->locator_num; i++)
+    {
+      ls_loc = &((ls_locator_t *) mp->locators)[i];
+      VALIDATE_SW_IF_INDEX (ls_loc);
 
-        locator.sw_if_index = htonl(ls_loc->sw_if_index);
-        locator.priority = ls_loc->priority;
-        locator.weight = ls_loc->weight;
-        locator.local = 1;
-        vec_add1(a->locators, locator);
+      locator.sw_if_index = htonl (ls_loc->sw_if_index);
+      locator.priority = ls_loc->priority;
+      locator.weight = ls_loc->weight;
+      locator.local = 1;
+      vec_add1 (a->locators, locator);
     }
 
-    rv = vnet_lisp_add_del_locator_set(a, &ls_index);
+  rv = vnet_lisp_add_del_locator_set (a, &ls_index);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    vec_free(locator_name);
-    vec_free(a->locators);
+  vec_free (locator_name);
+  vec_free (a->locators);
 
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_LOCATOR_SET_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_LOCATOR_SET_REPLY);
 }
 
 static void
-vl_api_lisp_add_del_locator_t_handler(
-    vl_api_lisp_add_del_locator_t *mp)
+vl_api_lisp_add_del_locator_t_handler (vl_api_lisp_add_del_locator_t * mp)
 {
-    vl_api_lisp_add_del_locator_reply_t *rmp;
-    int rv = 0;
-    locator_t locator, *locators = NULL;
-    vnet_lisp_add_del_locator_set_args_t _a, *a = &_a;
-    u32 ls_index = ~0;
-    u8 *locator_name = NULL;
+  vl_api_lisp_add_del_locator_reply_t *rmp;
+  int rv = 0;
+  locator_t locator, *locators = NULL;
+  vnet_lisp_add_del_locator_set_args_t _a, *a = &_a;
+  u32 ls_index = ~0;
+  u8 *locator_name = NULL;
 
-    memset(&locator, 0, sizeof(locator));
-    memset(a, 0, sizeof(a[0]));
+  memset (&locator, 0, sizeof (locator));
+  memset (a, 0, sizeof (a[0]));
 
-    locator.sw_if_index = ntohl(mp->sw_if_index);
-    locator.priority = mp->priority;
-    locator.weight = mp->weight;
-    locator.local = 1;
-    vec_add1(locators, locator);
+  locator.sw_if_index = ntohl (mp->sw_if_index);
+  locator.priority = mp->priority;
+  locator.weight = mp->weight;
+  locator.local = 1;
+  vec_add1 (locators, locator);
 
-    locator_name = format(0, "%s", mp->locator_set_name);
+  locator_name = format (0, "%s", mp->locator_set_name);
 
-    a->name = locator_name;
-    a->locators = locators;
-    a->is_add = mp->is_add;
-    a->local = 1;
+  a->name = locator_name;
+  a->locators = locators;
+  a->is_add = mp->is_add;
+  a->local = 1;
 
-    rv = vnet_lisp_add_del_locator(a, NULL, &ls_index);
+  rv = vnet_lisp_add_del_locator (a, NULL, &ls_index);
 
-    vec_free(locators);
-    vec_free(locator_name);
+  vec_free (locators);
+  vec_free (locator_name);
 
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_LOCATOR_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_LOCATOR_REPLY);
 }
 
 static int
-unformat_lisp_eid_api (gid_address_t * dst, u32 vni, u8 type, void * src,
-                       u8 len)
+unformat_lisp_eid_api (gid_address_t * dst, u32 vni, u8 type, void *src,
+                      u8 len)
 {
   switch (type)
     {
-    case 0: /* ipv4 */
-      gid_address_type(dst) = GID_ADDR_IP_PREFIX;
+    case 0:                    /* ipv4 */
+      gid_address_type (dst) = GID_ADDR_IP_PREFIX;
       gid_address_ip_set (dst, src, IP4);
-      gid_address_ippref_len(dst) = len;
-      ip_prefix_normalize (&gid_address_ippref(dst));
+      gid_address_ippref_len (dst) = len;
+      ip_prefix_normalize (&gid_address_ippref (dst));
       break;
-    case 1: /* ipv6 */
-      gid_address_type(dst) = GID_ADDR_IP_PREFIX;
+    case 1:                    /* ipv6 */
+      gid_address_type (dst) = GID_ADDR_IP_PREFIX;
       gid_address_ip_set (dst, src, IP6);
-      gid_address_ippref_len(dst) = len;
-      ip_prefix_normalize (&gid_address_ippref(dst));
+      gid_address_ippref_len (dst) = len;
+      ip_prefix_normalize (&gid_address_ippref (dst));
       break;
-    case 2: /* l2 mac */
-      gid_address_type(dst) = GID_ADDR_MAC;
-      clib_memcpy (&gid_address_mac(dst), src, 6);
+    case 2:                    /* l2 mac */
+      gid_address_type (dst) = GID_ADDR_MAC;
+      clib_memcpy (&gid_address_mac (dst), src, 6);
       break;
     default:
       /* unknown type */
@@ -4913,1231 +5219,1296 @@ unformat_lisp_eid_api (gid_address_t * dst, u32 vni, u8 type, void * src,
 }
 
 static void
-vl_api_lisp_add_del_local_eid_t_handler(
-    vl_api_lisp_add_del_local_eid_t *mp)
+vl_api_lisp_add_del_local_eid_t_handler (vl_api_lisp_add_del_local_eid_t * mp)
 {
-    vl_api_lisp_add_del_local_eid_reply_t *rmp;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    int rv = 0;
-    gid_address_t _eid, * eid = &_eid;
-    uword * p = NULL;
-    u32 locator_set_index = ~0, map_index = ~0;
-    vnet_lisp_add_del_mapping_args_t _a, *a = &_a;
-    u8 *name = NULL;
-    memset (a, 0, sizeof (a[0]));
-    memset (eid, 0, sizeof (eid[0]));
+  vl_api_lisp_add_del_local_eid_reply_t *rmp;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  int rv = 0;
+  gid_address_t _eid, *eid = &_eid;
+  uword *p = NULL;
+  u32 locator_set_index = ~0, map_index = ~0;
+  vnet_lisp_add_del_mapping_args_t _a, *a = &_a;
+  u8 *name = NULL;
+  memset (a, 0, sizeof (a[0]));
+  memset (eid, 0, sizeof (eid[0]));
+
+  rv = unformat_lisp_eid_api (eid, clib_net_to_host_u32 (mp->vni),
+                             mp->eid_type, mp->eid, mp->prefix_len);
+  if (rv)
+    goto out;
 
-    rv = unformat_lisp_eid_api (eid, clib_net_to_host_u32 (mp->vni),
-                                mp->eid_type, mp->eid, mp->prefix_len);
-    if (rv)
+  name = format (0, "%s", mp->locator_set_name);
+  p = hash_get_mem (lcm->locator_set_index_by_name, name);
+  if (!p)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
       goto out;
-
-    name = format(0, "%s", mp->locator_set_name);
-    p = hash_get_mem(lcm->locator_set_index_by_name, name);
-    if (!p) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
     }
-    locator_set_index = p[0];
+  locator_set_index = p[0];
 
-    /* XXX treat batch configuration */
-    a->is_add = mp->is_add;
-    gid_address_copy (&a->eid, eid);
-    a->locator_set_index = locator_set_index;
-    a->local = 1;
-    rv = vnet_lisp_add_del_local_mapping(a, &map_index);
+  /* XXX treat batch configuration */
+  a->is_add = mp->is_add;
+  gid_address_copy (&a->eid, eid);
+  a->locator_set_index = locator_set_index;
+  a->local = 1;
+  rv = vnet_lisp_add_del_local_mapping (a, &map_index);
 
 out:
-    vec_free(name);
-    gid_address_free (&a->eid);
+  vec_free (name);
+  gid_address_free (&a->eid);
 
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_LOCAL_EID_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_LOCAL_EID_REPLY);
 }
 
 static void
-vl_api_lisp_eid_table_add_del_map_t_handler(
-    vl_api_lisp_eid_table_add_del_map_t *mp)
+  vl_api_lisp_eid_table_add_del_map_t_handler
+  (vl_api_lisp_eid_table_add_del_map_t * mp)
 {
-    vl_api_lisp_eid_table_add_del_map_reply_t *rmp;
-    int rv = 0;
-    rv = vnet_lisp_eid_table_map (clib_net_to_host_u32 (mp->vni),
-                                  clib_net_to_host_u32 (mp->dp_table),
-                                  mp->is_l2, mp->is_add);
-    REPLY_MACRO(VL_API_LISP_EID_TABLE_ADD_DEL_MAP_REPLY)
-}
+  vl_api_lisp_eid_table_add_del_map_reply_t *rmp;
+  int rv = 0;
+  rv = vnet_lisp_eid_table_map (clib_net_to_host_u32 (mp->vni),
+                               clib_net_to_host_u32 (mp->dp_table),
+                               mp->is_l2, mp->is_add);
+REPLY_MACRO (VL_API_LISP_EID_TABLE_ADD_DEL_MAP_REPLY)}
 
 /** Used for transferring locators via VPP API */
-typedef CLIB_PACKED(struct
-{
+/* *INDENT-OFF* */
+typedef CLIB_PACKED (struct {
   u8 is_ip4; /**< is locator an IPv4 address */
   u8 priority; /**< locator priority */
-  u8 weight;   /**< locator weight */
+  u8 weight; /**< locator weight */
   u8 addr[16]; /**< IPv4/IPv6 address */
 }) rloc_t;
+/* *INDENT-ON* */
 
 static locator_pair_t *
-unformat_lisp_loc_pairs (void * lcl_locs, void * rmt_locs, u32 rloc_num)
+unformat_lisp_loc_pairs (void *lcl_locs, void *rmt_locs, u32 rloc_num)
 {
   u32 i;
-  locator_pair_t * pairs = 0, pair;
-  rloc_t * r;
+  locator_pair_t *pairs = 0, pair;
+  rloc_t *r;
 
-  for (i = 0; i < rloc_num; i++) {
+  for (i = 0; i < rloc_num; i++)
+    {
       /* local locator */
       r = &((rloc_t *) lcl_locs)[i];
-      memset(&pair.lcl_loc, 0, sizeof(pair.lcl_loc));
-      ip_address_set(&pair.lcl_loc, &r->addr, r->is_ip4 ? IP4 : IP6);
+      memset (&pair.lcl_loc, 0, sizeof (pair.lcl_loc));
+      ip_address_set (&pair.lcl_loc, &r->addr, r->is_ip4 ? IP4 : IP6);
 
       /* remote locators */
       r = &((rloc_t *) rmt_locs)[i];
-      memset(&pair.rmt_loc, 0, sizeof(pair.rmt_loc));
-      ip_address_set(&pair.rmt_loc, &r->addr, r->is_ip4 ? IP4 : IP6);
+      memset (&pair.rmt_loc, 0, sizeof (pair.rmt_loc));
+      ip_address_set (&pair.rmt_loc, &r->addr, r->is_ip4 ? IP4 : IP6);
 
       pair.priority = r->priority;
       pair.weight = r->weight;
 
       vec_add1 (pairs, pair);
-  }
+    }
   return pairs;
 }
 
 static locator_t *
-unformat_lisp_locs (void * rmt_locs, u32 rloc_num)
+unformat_lisp_locs (void *rmt_locs, u32 rloc_num)
 {
   u32 i;
-  locator_t * locs = 0, loc;
-  rloc_t * r;
+  locator_t *locs = 0, loc;
+  rloc_t *r;
 
-  for (i = 0; i < rloc_num; i++) {
+  for (i = 0; i < rloc_num; i++)
+    {
       /* remote locators */
       r = &((rloc_t *) rmt_locs)[i];
-      memset(&loc, 0, sizeof(loc));
-      gid_address_ip_set(&loc.address, &r->addr, r->is_ip4 ? IP4 : IP6);
+      memset (&loc, 0, sizeof (loc));
+      gid_address_ip_set (&loc.address, &r->addr, r->is_ip4 ? IP4 : IP6);
 
       loc.priority = r->priority;
       loc.weight = r->weight;
 
       vec_add1 (locs, loc);
-  }
+    }
   return locs;
 }
 
 static void
-vl_api_lisp_gpe_add_del_fwd_entry_t_handler(
-    vl_api_lisp_gpe_add_del_fwd_entry_t *mp)
+  vl_api_lisp_gpe_add_del_fwd_entry_t_handler
+  (vl_api_lisp_gpe_add_del_fwd_entry_t * mp)
 {
-    vl_api_lisp_gpe_add_del_fwd_entry_reply_t *rmp;
-    vnet_lisp_gpe_add_del_fwd_entry_args_t _a, * a = &_a;
-    locator_pair_t * pairs = 0;
-    int rv = 0;
+  vl_api_lisp_gpe_add_del_fwd_entry_reply_t *rmp;
+  vnet_lisp_gpe_add_del_fwd_entry_args_t _a, *a = &_a;
+  locator_pair_t *pairs = 0;
+  int rv = 0;
 
-    memset (a, 0, sizeof(a[0]));
+  memset (a, 0, sizeof (a[0]));
 
-    rv = unformat_lisp_eid_api (&a->rmt_eid, mp->vni, mp->eid_type,
-                                mp->rmt_eid, mp->rmt_len);
-    rv |= unformat_lisp_eid_api (&a->lcl_eid, mp->vni, mp->eid_type,
-                                 mp->lcl_eid, mp->lcl_len);
+  rv = unformat_lisp_eid_api (&a->rmt_eid, mp->vni, mp->eid_type,
+                             mp->rmt_eid, mp->rmt_len);
+  rv |= unformat_lisp_eid_api (&a->lcl_eid, mp->vni, mp->eid_type,
+                              mp->lcl_eid, mp->lcl_len);
 
-    pairs = unformat_lisp_loc_pairs (mp->lcl_locs, mp->rmt_locs, mp->loc_num);
+  pairs = unformat_lisp_loc_pairs (mp->lcl_locs, mp->rmt_locs, mp->loc_num);
 
-    if (rv || 0 == pairs)
-      goto send_reply;
+  if (rv || 0 == pairs)
+    goto send_reply;
 
-    a->is_add = mp->is_add;
-    a->locator_pairs = pairs;
-    a->dp_table = mp->dp_table;
-    a->vni = mp->vni;
-    a->action = mp->action;
+  a->is_add = mp->is_add;
+  a->locator_pairs = pairs;
+  a->dp_table = mp->dp_table;
+  a->vni = mp->vni;
+  a->action = mp->action;
 
-    rv = vnet_lisp_gpe_add_del_fwd_entry (a, 0);
-    vec_free(pairs);
+  rv = vnet_lisp_gpe_add_del_fwd_entry (a, 0);
+  vec_free (pairs);
 send_reply:
-    REPLY_MACRO(VL_API_LISP_GPE_ADD_DEL_FWD_ENTRY_REPLY);
+  REPLY_MACRO (VL_API_LISP_GPE_ADD_DEL_FWD_ENTRY_REPLY);
 }
 
 static void
-vl_api_lisp_add_del_map_resolver_t_handler(
-    vl_api_lisp_add_del_map_resolver_t *mp)
+vl_api_lisp_add_del_map_resolver_t_handler (vl_api_lisp_add_del_map_resolver_t
+                                           * mp)
 {
-    vl_api_lisp_add_del_map_resolver_reply_t *rmp;
-    int rv = 0;
-    vnet_lisp_add_del_map_resolver_args_t _a, * a = &_a;
+  vl_api_lisp_add_del_map_resolver_reply_t *rmp;
+  int rv = 0;
+  vnet_lisp_add_del_map_resolver_args_t _a, *a = &_a;
 
-    memset(a, 0, sizeof(a[0]));
+  memset (a, 0, sizeof (a[0]));
 
-    a->is_add = mp->is_add;
-    ip_address_set (&a->address, mp->ip_address, mp->is_ipv6 ? IP6 : IP4);
+  a->is_add = mp->is_add;
+  ip_address_set (&a->address, mp->ip_address, mp->is_ipv6 ? IP6 : IP4);
 
-    rv = vnet_lisp_add_del_map_resolver (a);
+  rv = vnet_lisp_add_del_map_resolver (a);
 
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_MAP_RESOLVER_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_MAP_RESOLVER_REPLY);
 }
 
 static void
-vl_api_lisp_gpe_enable_disable_t_handler(
-    vl_api_lisp_gpe_enable_disable_t *mp)
+vl_api_lisp_gpe_enable_disable_t_handler (vl_api_lisp_gpe_enable_disable_t *
+                                         mp)
 {
-    vl_api_lisp_gpe_enable_disable_reply_t *rmp;
-    int rv = 0;
-    vnet_lisp_gpe_enable_disable_args_t _a, * a = &_a;
+  vl_api_lisp_gpe_enable_disable_reply_t *rmp;
+  int rv = 0;
+  vnet_lisp_gpe_enable_disable_args_t _a, *a = &_a;
 
-    a->is_en = mp->is_en;
-    vnet_lisp_gpe_enable_disable (a);
+  a->is_en = mp->is_en;
+  vnet_lisp_gpe_enable_disable (a);
 
-    REPLY_MACRO(VL_API_LISP_GPE_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_LISP_GPE_ENABLE_DISABLE_REPLY);
 }
 
 static void
-vl_api_lisp_enable_disable_t_handler(
-    vl_api_lisp_enable_disable_t *mp)
+vl_api_lisp_enable_disable_t_handler (vl_api_lisp_enable_disable_t * mp)
 {
-    vl_api_lisp_enable_disable_reply_t *rmp;
-    int rv = 0;
+  vl_api_lisp_enable_disable_reply_t *rmp;
+  int rv = 0;
 
-    vnet_lisp_enable_disable (mp->is_en);
-    REPLY_MACRO(VL_API_LISP_ENABLE_DISABLE_REPLY);
+  vnet_lisp_enable_disable (mp->is_en);
+  REPLY_MACRO (VL_API_LISP_ENABLE_DISABLE_REPLY);
 }
 
 static void
-vl_api_lisp_gpe_add_del_iface_t_handler(
-    vl_api_lisp_gpe_add_del_iface_t *mp)
+vl_api_lisp_gpe_add_del_iface_t_handler (vl_api_lisp_gpe_add_del_iface_t * mp)
 {
-    vl_api_lisp_gpe_add_del_iface_reply_t *rmp;
-    int rv = 0;
-    vnet_lisp_gpe_add_del_iface_args_t _a, * a = &_a;
+  vl_api_lisp_gpe_add_del_iface_reply_t *rmp;
+  int rv = 0;
+  vnet_lisp_gpe_add_del_iface_args_t _a, *a = &_a;
 
-    a->is_add = mp->is_add;
-    a->dp_table = mp->dp_table;
-    a->vni = mp->vni;
-    a->is_l2 = mp->is_l2;
-    rv = vnet_lisp_gpe_add_del_iface (a, 0);
+  a->is_add = mp->is_add;
+  a->dp_table = mp->dp_table;
+  a->vni = mp->vni;
+  a->is_l2 = mp->is_l2;
+  rv = vnet_lisp_gpe_add_del_iface (a, 0);
 
-    REPLY_MACRO(VL_API_LISP_GPE_ADD_DEL_IFACE_REPLY);
+  REPLY_MACRO (VL_API_LISP_GPE_ADD_DEL_IFACE_REPLY);
 }
 
 static void
-vl_api_lisp_pitr_set_locator_set_t_handler(
-  vl_api_lisp_pitr_set_locator_set_t *mp)
+vl_api_lisp_pitr_set_locator_set_t_handler (vl_api_lisp_pitr_set_locator_set_t
+                                           * mp)
 {
-    vl_api_lisp_pitr_set_locator_set_reply_t *rmp;
-    int rv = 0;
-    u8 * ls_name = 0;
+  vl_api_lisp_pitr_set_locator_set_reply_t *rmp;
+  int rv = 0;
+  u8 *ls_name = 0;
 
-    ls_name = format (0, "%s", mp->ls_name);
-    rv = vnet_lisp_pitr_set_locator_set (ls_name, mp->is_add);
-    vec_free (ls_name);
+  ls_name = format (0, "%s", mp->ls_name);
+  rv = vnet_lisp_pitr_set_locator_set (ls_name, mp->is_add);
+  vec_free (ls_name);
 
-    REPLY_MACRO(VL_API_LISP_PITR_SET_LOCATOR_SET_REPLY);
+  REPLY_MACRO (VL_API_LISP_PITR_SET_LOCATOR_SET_REPLY);
 }
 
 static void
-vl_api_lisp_add_del_map_request_itr_rlocs_t_handler
-(vl_api_lisp_add_del_map_request_itr_rlocs_t *mp)
+  vl_api_lisp_add_del_map_request_itr_rlocs_t_handler
+  (vl_api_lisp_add_del_map_request_itr_rlocs_t * mp)
 {
-    vl_api_lisp_add_del_map_request_itr_rlocs_reply_t *rmp;
-    int rv = 0;
-    u8 * locator_set_name = NULL;
-    vnet_lisp_add_del_mreq_itr_rloc_args_t _a, * a = &_a;
+  vl_api_lisp_add_del_map_request_itr_rlocs_reply_t *rmp;
+  int rv = 0;
+  u8 *locator_set_name = NULL;
+  vnet_lisp_add_del_mreq_itr_rloc_args_t _a, *a = &_a;
 
-    locator_set_name = format (0, "%s", mp->locator_set_name);
+  locator_set_name = format (0, "%s", mp->locator_set_name);
 
-    a->is_add = mp->is_add;
-    a->locator_set_name = locator_set_name;
+  a->is_add = mp->is_add;
+  a->locator_set_name = locator_set_name;
 
-    rv = vnet_lisp_add_del_mreq_itr_rlocs(a);
+  rv = vnet_lisp_add_del_mreq_itr_rlocs (a);
 
-    vec_free(locator_set_name);
+  vec_free (locator_set_name);
 
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_MAP_REQUEST_ITR_RLOCS_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_MAP_REQUEST_ITR_RLOCS_REPLY);
 }
 
 static void
-vl_api_lisp_add_del_remote_mapping_t_handler (
-    vl_api_lisp_add_del_remote_mapping_t *mp)
+  vl_api_lisp_add_del_remote_mapping_t_handler
+  (vl_api_lisp_add_del_remote_mapping_t * mp)
 {
-    locator_t * rlocs = 0;
-    vl_api_lisp_add_del_remote_mapping_reply_t * rmp;
-    int rv = 0;
-    gid_address_t _eid, * eid = &_eid;
+  locator_t *rlocs = 0;
+  vl_api_lisp_add_del_remote_mapping_reply_t *rmp;
+  int rv = 0;
+  gid_address_t _eid, *eid = &_eid;
 
-    memset (eid, 0, sizeof (eid[0]));
+  memset (eid, 0, sizeof (eid[0]));
 
-    rv = unformat_lisp_eid_api (eid, clib_net_to_host_u32 (mp->vni),
-                                mp->eid_type, mp->eid, mp->eid_len);
-    if (rv)
-      goto send_reply;
+  rv = unformat_lisp_eid_api (eid, clib_net_to_host_u32 (mp->vni),
+                             mp->eid_type, mp->eid, mp->eid_len);
+  if (rv)
+    goto send_reply;
 
-    rlocs = unformat_lisp_locs (mp->rlocs, mp->rloc_num);
-    if (0 == rlocs)
-      goto send_reply;
+  rlocs = unformat_lisp_locs (mp->rlocs, mp->rloc_num);
+  if (0 == rlocs)
+    goto send_reply;
 
-    if (!mp->is_add) {
-        vnet_lisp_add_del_adjacency_args_t _a, * a = &_a;
-        gid_address_copy(&a->deid, eid);
-        a->is_add = 0;
-        rv = vnet_lisp_add_del_adjacency (a);
-        if (rv) {
-          goto out;
-        }
+  if (!mp->is_add)
+    {
+      vnet_lisp_add_del_adjacency_args_t _a, *a = &_a;
+      gid_address_copy (&a->deid, eid);
+      a->is_add = 0;
+      rv = vnet_lisp_add_del_adjacency (a);
+      if (rv)
+       {
+         goto out;
+       }
     }
 
-    /* NOTE: for now this works as a static remote mapping, i.e.,
-     * not authoritative and ttl infinite. */
-    rv = vnet_lisp_add_del_mapping (eid, rlocs, mp->action, 0, ~0,
-                                    mp->is_add, 0);
+  /* NOTE: for now this works as a static remote mapping, i.e.,
+   * not authoritative and ttl infinite. */
+  rv = vnet_lisp_add_del_mapping (eid, rlocs, mp->action, 0, ~0,
+                                 mp->is_add, 0);
 
-    if (mp->del_all)
-      vnet_lisp_clear_all_remote_adjacencies ();
+  if (mp->del_all)
+    vnet_lisp_clear_all_remote_adjacencies ();
 
 out:
-    vec_free (rlocs);
+  vec_free (rlocs);
 send_reply:
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_REMOTE_MAPPING_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_REMOTE_MAPPING_REPLY);
 }
 
 static void
-vl_api_lisp_add_del_adjacency_t_handler (
-    vl_api_lisp_add_del_adjacency_t *mp)
+vl_api_lisp_add_del_adjacency_t_handler (vl_api_lisp_add_del_adjacency_t * mp)
 {
-    vl_api_lisp_add_del_adjacency_reply_t * rmp;
-    vnet_lisp_add_del_adjacency_args_t _a, * a = &_a;
+  vl_api_lisp_add_del_adjacency_reply_t *rmp;
+  vnet_lisp_add_del_adjacency_args_t _a, *a = &_a;
 
-    int rv = 0;
-    memset(a, 0, sizeof(a[0]));
+  int rv = 0;
+  memset (a, 0, sizeof (a[0]));
 
-    rv = unformat_lisp_eid_api (&a->seid, clib_net_to_host_u32 (mp->vni),
-                            mp->eid_type, mp->seid, mp->seid_len);
-    rv |= unformat_lisp_eid_api (&a->deid, clib_net_to_host_u32 (mp->vni),
-                             mp->eid_type, mp->deid, mp->deid_len);
+  rv = unformat_lisp_eid_api (&a->seid, clib_net_to_host_u32 (mp->vni),
+                             mp->eid_type, mp->seid, mp->seid_len);
+  rv |= unformat_lisp_eid_api (&a->deid, clib_net_to_host_u32 (mp->vni),
+                              mp->eid_type, mp->deid, mp->deid_len);
 
-    if (rv)
-      goto send_reply;
+  if (rv)
+    goto send_reply;
 
-    a->is_add = mp->is_add;
-    rv = vnet_lisp_add_del_adjacency (a);
+  a->is_add = mp->is_add;
+  rv = vnet_lisp_add_del_adjacency (a);
 
 send_reply:
-    REPLY_MACRO(VL_API_LISP_ADD_DEL_ADJACENCY_REPLY);
+  REPLY_MACRO (VL_API_LISP_ADD_DEL_ADJACENCY_REPLY);
 }
 
 static void
-send_lisp_locator_details (lisp_cp_main_t *lcm,
-                           locator_t *loc,
-                           unix_shared_memory_queue_t *q,
-                           u32 context)
+send_lisp_locator_details (lisp_cp_main_t * lcm,
+                          locator_t * loc,
+                          unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_lisp_locator_details_t *rmp;
+  vl_api_lisp_locator_details_t *rmp;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_LOCATOR_DETAILS);
-    rmp->context = context;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_LOCATOR_DETAILS);
+  rmp->context = context;
 
-    rmp->local = loc->local;
-    if (loc->local) {
-        rmp->sw_if_index = ntohl(loc->sw_if_index);
-    } else {
-        rmp->is_ipv6 = gid_address_ip_version(&loc->address);
-        ip_address_copy_addr(rmp->ip_address, &gid_address_ip(&loc->address));
+  rmp->local = loc->local;
+  if (loc->local)
+    {
+      rmp->sw_if_index = ntohl (loc->sw_if_index);
+    }
+  else
+    {
+      rmp->is_ipv6 = gid_address_ip_version (&loc->address);
+      ip_address_copy_addr (rmp->ip_address, &gid_address_ip (&loc->address));
     }
-    rmp->priority = loc->priority;
-    rmp->weight = loc->weight;
+  rmp->priority = loc->priority;
+  rmp->weight = loc->weight;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_locator_dump_t_handler (vl_api_lisp_locator_dump_t *mp)
+vl_api_lisp_locator_dump_t_handler (vl_api_lisp_locator_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q = 0;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    locator_set_t * lsit = 0;
-    locator_t * loc = 0;
-    u32 ls_index = ~0, * locit = 0;
-    u8 filter;
+  unix_shared_memory_queue_t *q = 0;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  locator_set_t *lsit = 0;
+  locator_t *loc = 0;
+  u32 ls_index = ~0, *locit = 0;
+  u8 filter;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    ls_index = htonl(mp->locator_set_index);
+  ls_index = htonl (mp->locator_set_index);
 
-    lsit = pool_elt_at_index(lcm->locator_set_pool, ls_index);
+  lsit = pool_elt_at_index (lcm->locator_set_pool, ls_index);
 
-    filter = mp->filter;
-    if (filter && !((1 == filter && lsit->local) ||
-                    (2 == filter && !lsit->local))) {
-          return;
-      }
+  filter = mp->filter;
+  if (filter && !((1 == filter && lsit->local) ||
+                 (2 == filter && !lsit->local)))
+    {
+      return;
+    }
 
-    vec_foreach(locit, lsit->locator_indices) {
-        loc = pool_elt_at_index(lcm->locator_pool, locit[0]);
-        send_lisp_locator_details(lcm, loc, q, mp->context);
-    };
+  vec_foreach (locit, lsit->locator_indices)
+  {
+    loc = pool_elt_at_index (lcm->locator_pool, locit[0]);
+    send_lisp_locator_details (lcm, loc, q, mp->context);
+  };
 }
 
 static void
-send_lisp_locator_set_details (lisp_cp_main_t *lcm,
-                               locator_set_t *lsit,
-                               unix_shared_memory_queue_t *q,
-                               u32 context,
-                               u32 ls_index)
-{
-    vl_api_lisp_locator_set_details_t *rmp;
-    u8 * str = 0;
-
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_LOCATOR_SET_DETAILS);
-    rmp->context = context;
-
-    rmp->local = lsit->local;
-    rmp->locator_set_index= htonl(ls_index);
-    if (lsit->local) {
-      ASSERT(lsit->name != NULL);
-      strncpy((char *) rmp->locator_set_name,
-              (char *) lsit->name, ARRAY_LEN(rmp->locator_set_name) - 1);
-    } else {
-      str = format(0, "remote-%d", ls_index);
-      strncpy((char *) rmp->locator_set_name, (char *) str,
-              ARRAY_LEN(rmp->locator_set_name) - 1);
-      vec_free(str);
+send_lisp_locator_set_details (lisp_cp_main_t * lcm,
+                              locator_set_t * lsit,
+                              unix_shared_memory_queue_t * q,
+                              u32 context, u32 ls_index)
+{
+  vl_api_lisp_locator_set_details_t *rmp;
+  u8 *str = 0;
+
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_LOCATOR_SET_DETAILS);
+  rmp->context = context;
+
+  rmp->local = lsit->local;
+  rmp->locator_set_index = htonl (ls_index);
+  if (lsit->local)
+    {
+      ASSERT (lsit->name != NULL);
+      strncpy ((char *) rmp->locator_set_name,
+              (char *) lsit->name, ARRAY_LEN (rmp->locator_set_name) - 1);
+    }
+  else
+    {
+      str = format (0, "remote-%d", ls_index);
+      strncpy ((char *) rmp->locator_set_name, (char *) str,
+              ARRAY_LEN (rmp->locator_set_name) - 1);
+      vec_free (str);
     }
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_locator_set_dump_t_handler (vl_api_lisp_locator_set_dump_t *mp)
+vl_api_lisp_locator_set_dump_t_handler (vl_api_lisp_locator_set_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    locator_set_t * lsit = NULL;
-    u32 index;
-    u8 filter;
+  unix_shared_memory_queue_t *q = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  locator_set_t *lsit = NULL;
+  u32 index;
+  u8 filter;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    filter = mp->filter;
-    index = 0;
-    pool_foreach (lsit, lcm->locator_set_pool,
-        ({
-            if (filter && !((1 == filter && lsit->local) ||
-                            (2 == filter && !lsit->local))) {
-                index++;
-                continue;
-            }
-
-            send_lisp_locator_set_details(lcm, lsit, q, mp->context, index++);
-        }));
+  filter = mp->filter;
+  index = 0;
+  /* *INDENT-OFF* */
+  pool_foreach (lsit, lcm->locator_set_pool,
+  ({
+    if (filter && !((1 == filter && lsit->local) ||
+                    (2 == filter && !lsit->local))) {
+      index++;
+      continue;
+    }
+    send_lisp_locator_set_details(lcm, lsit, q, mp->context, index++);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-send_lisp_eid_table_details (mapping_t *mapit,
-                                   unix_shared_memory_queue_t *q,
-                                   u32 context, u8 filter)
+send_lisp_eid_table_details (mapping_t * mapit,
+                            unix_shared_memory_queue_t * q,
+                            u32 context, u8 filter)
 {
-    vl_api_lisp_eid_table_details_t *rmp = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    locator_set_t *ls = NULL;
-    gid_address_t *gid = NULL;
-    u8 * mac = 0;
-    ip_prefix_t *ip_prefix = NULL;
+  vl_api_lisp_eid_table_details_t *rmp = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  locator_set_t *ls = NULL;
+  gid_address_t *gid = NULL;
+  u8 *mac = 0;
+  ip_prefix_t *ip_prefix = NULL;
 
-    ls = pool_elt_at_index (lcm->locator_set_pool,
-                            mapit->locator_set_index);
+  ls = pool_elt_at_index (lcm->locator_set_pool, mapit->locator_set_index);
 
-    switch (filter) {
+  switch (filter)
+    {
     case 0:
-        break;
+      break;
     case 1:
-        if (!ls->local) {
-          return;
-        }
-        break;
+      if (!ls->local)
+       {
+         return;
+       }
+      break;
     case 2:
-        if (ls->local) {
-          return;
-        }
-        break;
+      if (ls->local)
+       {
+         return;
+       }
+      break;
     default:
-        clib_warning("Filter error, unknown filter: %d\n", filter);
-        return;
+      clib_warning ("Filter error, unknown filter: %d\n", filter);
+      return;
     }
 
-    gid = &mapit->eid;
-    ip_prefix = &gid_address_ippref(gid);
-    mac = gid_address_mac(gid);
+  gid = &mapit->eid;
+  ip_prefix = &gid_address_ippref (gid);
+  mac = gid_address_mac (gid);
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_EID_TABLE_DETAILS);
-    rmp->locator_set_index = mapit->locator_set_index;
-    rmp->is_local = ls->local;
-    rmp->ttl = mapit->ttl;
-    rmp->authoritative = mapit->authoritative;
-
-    switch (gid_address_type (gid))
-      {
-      case GID_ADDR_IP_PREFIX:
-        rmp->eid_prefix_len = ip_prefix_len(ip_prefix);
-        if (ip_prefix_version(ip_prefix) == IP4)
-          {
-            rmp->eid_type = 0; /* ipv4 type */
-            clib_memcpy(rmp->eid, &ip_prefix_v4(ip_prefix),
-                   sizeof(ip_prefix_v4(ip_prefix)));
-          }
-        else
-          {
-            rmp->eid_type = 1; /* ipv6 type */
-            clib_memcpy(rmp->eid, &ip_prefix_v6(ip_prefix),
-                   sizeof(ip_prefix_v6(ip_prefix)));
-          }
-        break;
-      case GID_ADDR_MAC:
-        rmp->eid_type = 2; /* l2 mac type */
-        clib_memcpy(rmp->eid, mac, 6);
-        break;
-      default:
-        ASSERT(0);
-      }
-    rmp->context = context;
-    rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_EID_TABLE_DETAILS);
+  rmp->locator_set_index = mapit->locator_set_index;
+  rmp->is_local = ls->local;
+  rmp->ttl = mapit->ttl;
+  rmp->authoritative = mapit->authoritative;
+
+  switch (gid_address_type (gid))
+    {
+    case GID_ADDR_IP_PREFIX:
+      rmp->eid_prefix_len = ip_prefix_len (ip_prefix);
+      if (ip_prefix_version (ip_prefix) == IP4)
+       {
+         rmp->eid_type = 0;    /* ipv4 type */
+         clib_memcpy (rmp->eid, &ip_prefix_v4 (ip_prefix),
+                      sizeof (ip_prefix_v4 (ip_prefix)));
+       }
+      else
+       {
+         rmp->eid_type = 1;    /* ipv6 type */
+         clib_memcpy (rmp->eid, &ip_prefix_v6 (ip_prefix),
+                      sizeof (ip_prefix_v6 (ip_prefix)));
+       }
+      break;
+    case GID_ADDR_MAC:
+      rmp->eid_type = 2;       /* l2 mac type */
+      clib_memcpy (rmp->eid, mac, 6);
+      break;
+    default:
+      ASSERT (0);
+    }
+  rmp->context = context;
+  rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_eid_table_dump_t_handler (
-    vl_api_lisp_eid_table_dump_t *mp)
+vl_api_lisp_eid_table_dump_t_handler (vl_api_lisp_eid_table_dump_t * mp)
 {
-    u32 mi;
-    unix_shared_memory_queue_t * q = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    mapping_t * mapit = NULL;
-    gid_address_t _eid, * eid = &_eid;
+  u32 mi;
+  unix_shared_memory_queue_t *q = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  mapping_t *mapit = NULL;
+  gid_address_t _eid, *eid = &_eid;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    if (mp->eid_set) {
-        memset (eid, 0, sizeof (*eid));
+  if (mp->eid_set)
+    {
+      memset (eid, 0, sizeof (*eid));
 
-        unformat_lisp_eid_api (eid, mp->eid_type,
-                               clib_net_to_host_u32 (mp->vni), mp->eid,
-                               mp->prefix_length);
+      unformat_lisp_eid_api (eid, mp->eid_type,
+                            clib_net_to_host_u32 (mp->vni), mp->eid,
+                            mp->prefix_length);
 
-        mi = gid_dictionary_lookup (&lcm->mapping_index_by_gid, eid);
-        if ((u32)~0 == mi)
-          return;
+      mi = gid_dictionary_lookup (&lcm->mapping_index_by_gid, eid);
+      if ((u32) ~ 0 == mi)
+       return;
 
-        mapit = pool_elt_at_index (lcm->mapping_pool, mi);
-        send_lisp_eid_table_details(mapit, q, mp->context, mp->filter);
-    } else {
-        pool_foreach (mapit, lcm->mapping_pool,
-        ({
-            send_lisp_eid_table_details(mapit, q, mp->context,
-                                        mp->filter);
-        }));
+      mapit = pool_elt_at_index (lcm->mapping_pool, mi);
+      send_lisp_eid_table_details (mapit, q, mp->context, mp->filter);
+    }
+  else
+    {
+      /* *INDENT-OFF* */
+      pool_foreach (mapit, lcm->mapping_pool,
+      ({
+        send_lisp_eid_table_details(mapit, q, mp->context,
+                                    mp->filter);
+      }));
+      /* *INDENT-ON* */
     }
 }
 
 static void
-send_lisp_gpe_tunnel_details (lisp_gpe_tunnel_t *tunnel,
-                              unix_shared_memory_queue_t *q,
-                              u32 context)
+send_lisp_gpe_tunnel_details (lisp_gpe_tunnel_t * tunnel,
+                             unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_lisp_gpe_tunnel_details_t *rmp;
-    lisp_gpe_main_t * lgm = &lisp_gpe_main;
+  vl_api_lisp_gpe_tunnel_details_t *rmp;
+  lisp_gpe_main_t *lgm = &lisp_gpe_main;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_GPE_TUNNEL_DETAILS);
-
-    rmp->tunnels = tunnel - lgm->tunnels;
-
-    rmp->is_ipv6 = ip_addr_version(&tunnel->src) == IP6 ? 1 : 0;
-    ip_address_copy_addr(rmp->source_ip, &tunnel->src);
-    ip_address_copy_addr(rmp->destination_ip, &tunnel->dst);
-
-    rmp->encap_fib_id = htonl(tunnel->encap_fib_index);
-    rmp->decap_fib_id = htonl(tunnel->decap_fib_index);
-    rmp->dcap_next = htonl(tunnel->decap_next_index);
-    rmp->lisp_ver = tunnel->ver_res;
-    rmp->next_protocol = tunnel->next_protocol;
-    rmp->flags = tunnel->flags;
-    rmp->ver_res = tunnel->ver_res;
-    rmp->res = tunnel->res;
-    rmp->iid = htonl(tunnel->vni);
-    rmp->context = context;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_GPE_TUNNEL_DETAILS);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  rmp->tunnels = tunnel - lgm->tunnels;
+
+  rmp->is_ipv6 = ip_addr_version (&tunnel->src) == IP6 ? 1 : 0;
+  ip_address_copy_addr (rmp->source_ip, &tunnel->src);
+  ip_address_copy_addr (rmp->destination_ip, &tunnel->dst);
+
+  rmp->encap_fib_id = htonl (tunnel->encap_fib_index);
+  rmp->decap_fib_id = htonl (tunnel->decap_fib_index);
+  rmp->dcap_next = htonl (tunnel->decap_next_index);
+  rmp->lisp_ver = tunnel->ver_res;
+  rmp->next_protocol = tunnel->next_protocol;
+  rmp->flags = tunnel->flags;
+  rmp->ver_res = tunnel->ver_res;
+  rmp->res = tunnel->res;
+  rmp->iid = htonl (tunnel->vni);
+  rmp->context = context;
+
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_gpe_tunnel_dump_t_handler (
-    vl_api_lisp_gpe_tunnel_dump_t *mp)
+vl_api_lisp_gpe_tunnel_dump_t_handler (vl_api_lisp_gpe_tunnel_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    lisp_gpe_main_t * lgm = &lisp_gpe_main;
-    lisp_gpe_tunnel_t * tunnel = NULL;
+  unix_shared_memory_queue_t *q = NULL;
+  lisp_gpe_main_t *lgm = &lisp_gpe_main;
+  lisp_gpe_tunnel_t *tunnel = NULL;
 
-    if (pool_elts(lgm->tunnels) == 0) {
-        return;
+  if (pool_elts (lgm->tunnels) == 0)
+    {
+      return;
     }
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    pool_foreach(tunnel, lgm->tunnels,
-                 ({
-                     send_lisp_gpe_tunnel_details(tunnel, q, mp->context);
-                }));
+  /* *INDENT-OFF* */
+  pool_foreach(tunnel, lgm->tunnels,
+  ({
+    send_lisp_gpe_tunnel_details(tunnel, q, mp->context);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-send_lisp_map_resolver_details (ip_address_t *ip,
-                                unix_shared_memory_queue_t *q,
-                                u32 context)
+send_lisp_map_resolver_details (ip_address_t * ip,
+                               unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_lisp_map_resolver_details_t *rmp = NULL;
+  vl_api_lisp_map_resolver_details_t *rmp = NULL;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_MAP_RESOLVER_DETAILS);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_MAP_RESOLVER_DETAILS);
 
-    switch (ip_addr_version(ip)) {
-        case IP4:
-            rmp->is_ipv6 = 0;
-            clib_memcpy(rmp->ip_address, &ip_addr_v4(ip), sizeof(ip_addr_v4(ip)));
-            break;
+  switch (ip_addr_version (ip))
+    {
+    case IP4:
+      rmp->is_ipv6 = 0;
+      clib_memcpy (rmp->ip_address, &ip_addr_v4 (ip),
+                  sizeof (ip_addr_v4 (ip)));
+      break;
 
-        case IP6:
-            rmp->is_ipv6 = 1;
-            clib_memcpy(rmp->ip_address, &ip_addr_v6(ip), sizeof(ip_addr_v6(ip)));
-            break;
+    case IP6:
+      rmp->is_ipv6 = 1;
+      clib_memcpy (rmp->ip_address, &ip_addr_v6 (ip),
+                  sizeof (ip_addr_v6 (ip)));
+      break;
 
-        default:
-            ASSERT(0);
+    default:
+      ASSERT (0);
     }
-    rmp->context = context;
+  rmp->context = context;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_map_resolver_dump_t_handler (
-    vl_api_lisp_map_resolver_dump_t *mp)
+vl_api_lisp_map_resolver_dump_t_handler (vl_api_lisp_map_resolver_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    ip_address_t *ip = NULL;
+  unix_shared_memory_queue_t *q = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  ip_address_t *ip = NULL;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    vec_foreach(ip, lcm->map_resolvers) {
-        send_lisp_map_resolver_details(ip, q, mp->context);
-    }
+  vec_foreach (ip, lcm->map_resolvers)
+  {
+    send_lisp_map_resolver_details (ip, q, mp->context);
+  }
 
 }
 
 static void
 send_eid_table_map_pair (hash_pair_t * p,
-                         unix_shared_memory_queue_t * q,
-                         u32 context)
+                        unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_lisp_eid_table_map_details_t * rmp = NULL;
+  vl_api_lisp_eid_table_map_details_t *rmp = NULL;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_LISP_EID_TABLE_MAP_DETAILS);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_LISP_EID_TABLE_MAP_DETAILS);
 
-    rmp->vni = clib_host_to_net_u32 (p->key);
-    rmp->vrf = clib_host_to_net_u32 (p->value[0]);
-    rmp->context = context;
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  rmp->vni = clib_host_to_net_u32 (p->key);
+  rmp->vrf = clib_host_to_net_u32 (p->value[0]);
+  rmp->context = context;
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
 static void
-vl_api_lisp_eid_table_map_dump_t_handler (
-    vl_api_lisp_eid_table_map_dump_t *mp)
+vl_api_lisp_eid_table_map_dump_t_handler (vl_api_lisp_eid_table_map_dump_t *
+                                         mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    hash_pair_t * p;
+  unix_shared_memory_queue_t *q = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  hash_pair_t *p;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
-    hash_foreach_pair (p, lcm->table_id_by_vni, {
-        send_eid_table_map_pair (p, q, mp->context);
-    });
+  /* *INDENT-OFF* */
+  hash_foreach_pair (p, lcm->table_id_by_vni,
+  ({
+    send_eid_table_map_pair (p, q, mp->context);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_show_lisp_status_t_handler
-(vl_api_show_lisp_status_t *mp)
+vl_api_show_lisp_status_t_handler (vl_api_show_lisp_status_t * mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    vl_api_show_lisp_status_reply_t *rmp = NULL;
-    int rv = 0;
+  unix_shared_memory_queue_t *q = NULL;
+  vl_api_show_lisp_status_reply_t *rmp = NULL;
+  int rv = 0;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    REPLY_MACRO2(VL_API_SHOW_LISP_STATUS_REPLY,
-    ({
-      rmp->gpe_status = vnet_lisp_gpe_enable_disable_status ();
-      rmp->feature_status = vnet_lisp_enable_disable_status ();
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_SHOW_LISP_STATUS_REPLY,
+  ({
+    rmp->gpe_status = vnet_lisp_gpe_enable_disable_status ();
+    rmp->feature_status = vnet_lisp_enable_disable_status ();
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_lisp_get_map_request_itr_rlocs_t_handler (
-    vl_api_lisp_get_map_request_itr_rlocs_t *mp)
-{
-    unix_shared_memory_queue_t * q = NULL;
-    vl_api_lisp_get_map_request_itr_rlocs_reply_t *rmp = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    locator_set_t * loc_set = 0;
-    u8 * tmp_str = 0;
-    int rv = 0;
+  vl_api_lisp_get_map_request_itr_rlocs_t_handler
+  (vl_api_lisp_get_map_request_itr_rlocs_t * mp)
+{
+  unix_shared_memory_queue_t *q = NULL;
+  vl_api_lisp_get_map_request_itr_rlocs_reply_t *rmp = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  locator_set_t *loc_set = 0;
+  u8 *tmp_str = 0;
+  int rv = 0;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    if (~0 == lcm->mreq_itr_rlocs) {
-      tmp_str = format(0, " ");
-    } else {
-      loc_set = pool_elt_at_index (lcm->locator_set_pool, lcm->mreq_itr_rlocs);
-      tmp_str = format(0, "%s", loc_set->name);
+  if (~0 == lcm->mreq_itr_rlocs)
+    {
+      tmp_str = format (0, " ");
+    }
+  else
+    {
+      loc_set =
+       pool_elt_at_index (lcm->locator_set_pool, lcm->mreq_itr_rlocs);
+      tmp_str = format (0, "%s", loc_set->name);
     }
 
-    REPLY_MACRO2(VL_API_LISP_GET_MAP_REQUEST_ITR_RLOCS_REPLY,
-    ({
-      strncpy((char *) rmp->locator_set_name, (char *) tmp_str,
-              ARRAY_LEN(rmp->locator_set_name) - 1);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_LISP_GET_MAP_REQUEST_ITR_RLOCS_REPLY,
+  ({
+    strncpy((char *) rmp->locator_set_name, (char *) tmp_str,
+            ARRAY_LEN(rmp->locator_set_name) - 1);
+  }));
+  /* *INDENT-ON* */
 
-    vec_free(tmp_str);
+  vec_free (tmp_str);
 }
 
 static void
 vl_api_show_lisp_pitr_t_handler (vl_api_show_lisp_pitr_t * mp)
 {
-    unix_shared_memory_queue_t * q = NULL;
-    vl_api_show_lisp_pitr_reply_t * rmp = NULL;
-    lisp_cp_main_t * lcm = vnet_lisp_cp_get_main();
-    mapping_t * m;
-    locator_set_t * ls = 0;
-    u8 * tmp_str = 0;
-    int rv = 0;
+  unix_shared_memory_queue_t *q = NULL;
+  vl_api_show_lisp_pitr_reply_t *rmp = NULL;
+  lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
+  mapping_t *m;
+  locator_set_t *ls = 0;
+  u8 *tmp_str = 0;
+  int rv = 0;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0) {
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    {
+      return;
     }
 
-    if (~0 == lcm->pitr_map_index) {
-      tmp_str = format(0, "N/A");
-    } else {
+  if (~0 == lcm->pitr_map_index)
+    {
+      tmp_str = format (0, "N/A");
+    }
+  else
+    {
       m = pool_elt_at_index (lcm->mapping_pool, lcm->pitr_map_index);
-      if (~0 != m->locator_set_index) {
-        ls = pool_elt_at_index (lcm->locator_set_pool, m->locator_set_index);
-        tmp_str = format(0, "%s", ls->name);
-      } else {
-        tmp_str = format(0, "N/A");
-      }
+      if (~0 != m->locator_set_index)
+       {
+         ls =
+           pool_elt_at_index (lcm->locator_set_pool, m->locator_set_index);
+         tmp_str = format (0, "%s", ls->name);
+       }
+      else
+       {
+         tmp_str = format (0, "N/A");
+       }
     }
-    vec_add1(tmp_str, 0);
+  vec_add1 (tmp_str, 0);
 
-    REPLY_MACRO2(VL_API_SHOW_LISP_PITR_REPLY,
-    ({
-      rmp->status = lcm->lisp_pitr;
-      strncpy((char *) rmp->locator_set_name, (char *) tmp_str,
-              ARRAY_LEN(rmp->locator_set_name) - 1);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_SHOW_LISP_PITR_REPLY,
+  ({
+    rmp->status = lcm->lisp_pitr;
+    strncpy((char *) rmp->locator_set_name, (char *) tmp_str,
+            ARRAY_LEN(rmp->locator_set_name) - 1);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_interface_name_renumber_t_handler (vl_api_interface_name_renumber_t *mp)
+vl_api_interface_name_renumber_t_handler (vl_api_interface_name_renumber_t *
+                                         mp)
 {
-    vl_api_interface_name_renumber_reply_t * rmp;
-    int rv = 0;
+  vl_api_interface_name_renumber_reply_t *rmp;
+  int rv = 0;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = vnet_interface_name_renumber
-        (ntohl(mp->sw_if_index), ntohl(mp->new_show_dev_instance));
+  rv = vnet_interface_name_renumber
+    (ntohl (mp->sw_if_index), ntohl (mp->new_show_dev_instance));
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_INTERFACE_NAME_RENUMBER_REPLY);
+  REPLY_MACRO (VL_API_INTERFACE_NAME_RENUMBER_REPLY);
 }
 
-static int arp_change_data_callback (u32 pool_index, u8 * new_mac,
-                                    u32 sw_if_index, u32 address)
+static int
+arp_change_data_callback (u32 pool_index, u8 * new_mac,
+                         u32 sw_if_index, u32 address)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    vlib_main_t * vm = am->vlib_main;
-    vl_api_ip4_arp_event_t * event;
-    static f64 arp_event_last_time;
-    f64 now = vlib_time_now (vm);
+  vpe_api_main_t *am = &vpe_api_main;
+  vlib_main_t *vm = am->vlib_main;
+  vl_api_ip4_arp_event_t *event;
+  static f64 arp_event_last_time;
+  f64 now = vlib_time_now (vm);
 
-    if (pool_is_free_index (am->arp_events, pool_index))
-        return 1;
+  if (pool_is_free_index (am->arp_events, pool_index))
+    return 1;
 
-    event = pool_elt_at_index (am->arp_events, pool_index);
-    if (memcmp (&event->new_mac, new_mac, sizeof (event->new_mac))) {
-       clib_memcpy (event->new_mac, new_mac, sizeof(event->new_mac));
-    } else { /* same mac */
-       if ((sw_if_index == event->sw_if_index) &&
-           ((address == 0) ||
-             /* for BD case, also check IP address with 10 sec timeout */
-            ((address == event->address) &&
-             ((now - arp_event_last_time) < 10.0))))
-           return 1;
-    }
-
-    arp_event_last_time = now;
-    event->sw_if_index = sw_if_index;
-    if (address) event->address = address;
-    return 0;
+  event = pool_elt_at_index (am->arp_events, pool_index);
+  if (memcmp (&event->new_mac, new_mac, sizeof (event->new_mac)))
+    {
+      clib_memcpy (event->new_mac, new_mac, sizeof (event->new_mac));
+    }
+  else
+    {                          /* same mac */
+      if ((sw_if_index == event->sw_if_index) && ((address == 0) ||
+                                                 /* for BD case, also check IP address with 10 sec timeout */
+                                                 ((address == event->address)
+                                                  &&
+                                                  ((now -
+                                                    arp_event_last_time) <
+                                                   10.0))))
+       return 1;
+    }
+
+  arp_event_last_time = now;
+  event->sw_if_index = sw_if_index;
+  if (address)
+    event->address = address;
+  return 0;
 }
 
-static int arp_change_delete_callback (u32 pool_index, u8 * notused)
+static int
+arp_change_delete_callback (u32 pool_index, u8 * notused)
 {
-    vpe_api_main_t * am = &vpe_api_main;
+  vpe_api_main_t *am = &vpe_api_main;
 
-    if (pool_is_free_index (am->arp_events, pool_index))
-        return 1;
+  if (pool_is_free_index (am->arp_events, pool_index))
+    return 1;
 
-    pool_put_index (am->arp_events, pool_index);
-    return 0;
+  pool_put_index (am->arp_events, pool_index);
+  return 0;
 }
 
 static void
-vl_api_want_ip4_arp_events_t_handler
-(vl_api_want_ip4_arp_events_t * mp)
+vl_api_want_ip4_arp_events_t_handler (vl_api_want_ip4_arp_events_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    vnet_main_t * vnm = vnet_get_main();
-    vl_api_want_ip4_arp_events_reply_t *rmp;
-    vl_api_ip4_arp_event_t * event;
-    int rv;
-
-    if (mp->enable_disable) {
-        pool_get (am->arp_events, event);
-        memset (event, 0, sizeof (*event));
-
-        event->_vl_msg_id = ntohs(VL_API_IP4_ARP_EVENT);
-        event->client_index = mp->client_index;
-        event->context = mp->context;
-        event->address = mp->address;
-        event->pid = mp->pid;
+  vpe_api_main_t *am = &vpe_api_main;
+  vnet_main_t *vnm = vnet_get_main ();
+  vl_api_want_ip4_arp_events_reply_t *rmp;
+  vl_api_ip4_arp_event_t *event;
+  int rv;
 
-        rv = vnet_add_del_ip4_arp_change_event
-            (vnm, arp_change_data_callback,
-             mp->pid,
-             &mp->address /* addr, in net byte order */,
-             vpe_resolver_process_node.index,
-             IP4_ARP_EVENT, event - am->arp_events, 1 /* is_add */);
-    } else {
-        rv = vnet_add_del_ip4_arp_change_event
-            (vnm, arp_change_delete_callback,
-             mp->pid,
-             &mp->address /* addr, in net byte order */,
-             vpe_resolver_process_node.index,
-             IP4_ARP_EVENT, ~0 /* pool index */, 0 /* is_add */);
+  if (mp->enable_disable)
+    {
+      pool_get (am->arp_events, event);
+      memset (event, 0, sizeof (*event));
+
+      event->_vl_msg_id = ntohs (VL_API_IP4_ARP_EVENT);
+      event->client_index = mp->client_index;
+      event->context = mp->context;
+      event->address = mp->address;
+      event->pid = mp->pid;
+
+      rv = vnet_add_del_ip4_arp_change_event
+       (vnm, arp_change_data_callback,
+        mp->pid, &mp->address /* addr, in net byte order */ ,
+        vpe_resolver_process_node.index,
+        IP4_ARP_EVENT, event - am->arp_events, 1 /* is_add */ );
+    }
+  else
+    {
+      rv = vnet_add_del_ip4_arp_change_event
+       (vnm, arp_change_delete_callback,
+        mp->pid, &mp->address /* addr, in net byte order */ ,
+        vpe_resolver_process_node.index,
+        IP4_ARP_EVENT, ~0 /* pool index */ , 0 /* is_add */ );
     }
-    REPLY_MACRO(VL_API_WANT_IP4_ARP_EVENTS_REPLY);
+  REPLY_MACRO (VL_API_WANT_IP4_ARP_EVENTS_REPLY);
 }
 
 static void vl_api_input_acl_set_interface_t_handler
-(vl_api_input_acl_set_interface_t * mp)
+  (vl_api_input_acl_set_interface_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_input_acl_set_interface_reply_t * rmp;
-    int rv;
-    u32 sw_if_index, ip4_table_index, ip6_table_index, l2_table_index;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_input_acl_set_interface_reply_t *rmp;
+  int rv;
+  u32 sw_if_index, ip4_table_index, ip6_table_index, l2_table_index;
 
-    ip4_table_index = ntohl(mp->ip4_table_index);
-    ip6_table_index = ntohl(mp->ip6_table_index);
-    l2_table_index = ntohl(mp->l2_table_index);
-    sw_if_index = ntohl(mp->sw_if_index);
+  ip4_table_index = ntohl (mp->ip4_table_index);
+  ip6_table_index = ntohl (mp->ip6_table_index);
+  l2_table_index = ntohl (mp->l2_table_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = vnet_set_input_acl_intfc (vm, sw_if_index, ip4_table_index,
-                                   ip6_table_index, l2_table_index,
-                                   mp->is_add);
+  rv = vnet_set_input_acl_intfc (vm, sw_if_index, ip4_table_index,
+                                ip6_table_index, l2_table_index, mp->is_add);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_INPUT_ACL_SET_INTERFACE_REPLY);
+  REPLY_MACRO (VL_API_INPUT_ACL_SET_INTERFACE_REPLY);
 }
 
 static void vl_api_ipsec_spd_add_del_t_handler
-(vl_api_ipsec_spd_add_del_t * mp)
+  (vl_api_ipsec_spd_add_del_t * mp)
 {
 #if IPSEC == 0
-    clib_warning ("unimplemented");
+  clib_warning ("unimplemented");
 #else
 
-    vlib_main_t *vm __attribute__((unused)) = vlib_get_main();
-    vl_api_ipsec_spd_add_del_reply_t * rmp;
-    int rv;
+  vlib_main_t *vm __attribute__ ((unused)) = vlib_get_main ();
+  vl_api_ipsec_spd_add_del_reply_t *rmp;
+  int rv;
 
 #if DPDK > 0
-    rv = ipsec_add_del_spd (vm, ntohl(mp->spd_id), mp->is_add);
+  rv = ipsec_add_del_spd (vm, ntohl (mp->spd_id), mp->is_add);
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-    REPLY_MACRO(VL_API_IPSEC_SPD_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_IPSEC_SPD_ADD_DEL_REPLY);
 #endif
 }
 
 static void vl_api_ipsec_interface_add_del_spd_t_handler
-(vl_api_ipsec_interface_add_del_spd_t * mp)
+  (vl_api_ipsec_interface_add_del_spd_t * mp)
 {
-    vlib_main_t *vm __attribute__((unused)) = vlib_get_main();
-    vl_api_ipsec_interface_add_del_spd_reply_t * rmp;
-    int rv;
-    u32 sw_if_index __attribute__((unused));
-    u32 spd_id __attribute__((unused));
+  vlib_main_t *vm __attribute__ ((unused)) = vlib_get_main ();
+  vl_api_ipsec_interface_add_del_spd_reply_t *rmp;
+  int rv;
+  u32 sw_if_index __attribute__ ((unused));
+  u32 spd_id __attribute__ ((unused));
 
-    sw_if_index = ntohl(mp->sw_if_index);
-    spd_id = ntohl(mp->spd_id);
+  sw_if_index = ntohl (mp->sw_if_index);
+  spd_id = ntohl (mp->spd_id);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
 #if IPSEC > 0
-    rv = ipsec_set_interface_spd(vm, sw_if_index, spd_id, mp->is_add);
+  rv = ipsec_set_interface_spd (vm, sw_if_index, spd_id, mp->is_add);
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_IPSEC_INTERFACE_ADD_DEL_SPD_REPLY);
+  REPLY_MACRO (VL_API_IPSEC_INTERFACE_ADD_DEL_SPD_REPLY);
 }
 
 static void vl_api_ipsec_spd_add_del_entry_t_handler
-(vl_api_ipsec_spd_add_del_entry_t * mp)
+  (vl_api_ipsec_spd_add_del_entry_t * mp)
 {
-    vlib_main_t *vm __attribute__((unused)) = vlib_get_main();
-    vl_api_ipsec_spd_add_del_entry_reply_t * rmp;
-    int rv;
+  vlib_main_t *vm __attribute__ ((unused)) = vlib_get_main ();
+  vl_api_ipsec_spd_add_del_entry_reply_t *rmp;
+  int rv;
 
 #if IPSEC > 0
-    ipsec_policy_t p;
-
-    memset(&p, 0, sizeof(p));
-
-    p.id = ntohl(mp->spd_id);
-    p.priority = ntohl(mp->priority);
-    p.is_outbound = mp->is_outbound;
-    p.is_ipv6 = mp->is_ipv6;
-
-    if (mp->is_ipv6 || mp->is_ip_any) {
-        clib_memcpy(&p.raddr.start, mp->remote_address_start, 16);
-        clib_memcpy(&p.raddr.stop, mp->remote_address_stop, 16);
-        clib_memcpy(&p.laddr.start, mp->local_address_start, 16);
-        clib_memcpy(&p.laddr.stop, mp->local_address_stop, 16);
-    } else {
-        clib_memcpy(&p.raddr.start.ip4.data, mp->remote_address_start, 4);
-        clib_memcpy(&p.raddr.stop.ip4.data, mp->remote_address_stop, 4);
-        clib_memcpy(&p.laddr.start.ip4.data, mp->local_address_start, 4);
-        clib_memcpy(&p.laddr.stop.ip4.data, mp->local_address_stop, 4);
-    }
-    p.protocol = mp->protocol;
-    p.rport.start = ntohs(mp->remote_port_start);
-    p.rport.stop  = ntohs(mp->remote_port_stop);
-    p.lport.start = ntohs(mp->local_port_start);
-    p.lport.stop  = ntohs(mp->local_port_stop);
-    /* policy action resolve unsupported */
-    if (mp->policy == IPSEC_POLICY_ACTION_RESOLVE) {
-        clib_warning("unsupported action: 'resolve'");
-        rv = VNET_API_ERROR_UNIMPLEMENTED;
-        goto out;
-    }
-    p.policy = mp->policy;
-    p.sa_id = ntohl(mp->sa_id);
-
-    rv = ipsec_add_del_policy(vm, &p, mp->is_add);
-    if (rv)
+  ipsec_policy_t p;
+
+  memset (&p, 0, sizeof (p));
+
+  p.id = ntohl (mp->spd_id);
+  p.priority = ntohl (mp->priority);
+  p.is_outbound = mp->is_outbound;
+  p.is_ipv6 = mp->is_ipv6;
+
+  if (mp->is_ipv6 || mp->is_ip_any)
+    {
+      clib_memcpy (&p.raddr.start, mp->remote_address_start, 16);
+      clib_memcpy (&p.raddr.stop, mp->remote_address_stop, 16);
+      clib_memcpy (&p.laddr.start, mp->local_address_start, 16);
+      clib_memcpy (&p.laddr.stop, mp->local_address_stop, 16);
+    }
+  else
+    {
+      clib_memcpy (&p.raddr.start.ip4.data, mp->remote_address_start, 4);
+      clib_memcpy (&p.raddr.stop.ip4.data, mp->remote_address_stop, 4);
+      clib_memcpy (&p.laddr.start.ip4.data, mp->local_address_start, 4);
+      clib_memcpy (&p.laddr.stop.ip4.data, mp->local_address_stop, 4);
+    }
+  p.protocol = mp->protocol;
+  p.rport.start = ntohs (mp->remote_port_start);
+  p.rport.stop = ntohs (mp->remote_port_stop);
+  p.lport.start = ntohs (mp->local_port_start);
+  p.lport.stop = ntohs (mp->local_port_stop);
+  /* policy action resolve unsupported */
+  if (mp->policy == IPSEC_POLICY_ACTION_RESOLVE)
+    {
+      clib_warning ("unsupported action: 'resolve'");
+      rv = VNET_API_ERROR_UNIMPLEMENTED;
       goto out;
+    }
+  p.policy = mp->policy;
+  p.sa_id = ntohl (mp->sa_id);
+
+  rv = ipsec_add_del_policy (vm, &p, mp->is_add);
+  if (rv)
+    goto out;
 
-    if (mp->is_ip_any) {
+  if (mp->is_ip_any)
+    {
       p.is_ipv6 = 1;
-      rv = ipsec_add_del_policy(vm, &p, mp->is_add);
+      rv = ipsec_add_del_policy (vm, &p, mp->is_add);
     }
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
-    goto out;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
+  goto out;
 #endif
 
 out:
-    REPLY_MACRO(VL_API_IPSEC_SPD_ADD_DEL_ENTRY_REPLY);
+  REPLY_MACRO (VL_API_IPSEC_SPD_ADD_DEL_ENTRY_REPLY);
 }
 
 static void vl_api_ipsec_sad_add_del_entry_t_handler
-(vl_api_ipsec_sad_add_del_entry_t * mp)
+  (vl_api_ipsec_sad_add_del_entry_t * mp)
 {
-    vlib_main_t *vm __attribute__((unused)) = vlib_get_main();
-    vl_api_ipsec_sad_add_del_entry_reply_t * rmp;
-    int rv;
+  vlib_main_t *vm __attribute__ ((unused)) = vlib_get_main ();
+  vl_api_ipsec_sad_add_del_entry_reply_t *rmp;
+  int rv;
 #if IPSEC > 0
-    ipsec_sa_t sa;
-
-    memset(&sa, 0, sizeof(sa));
-
-    sa.id = ntohl(mp->sad_id);
-    sa.spi = ntohl(mp->spi);
-    /* security protocol AH unsupported */
-    if (mp->protocol == IPSEC_PROTOCOL_AH) {
-        clib_warning("unsupported security protocol 'AH'");
-        rv = VNET_API_ERROR_UNIMPLEMENTED;
-        goto out;
-    }
-    sa.protocol = mp->protocol;
-    /* check for unsupported crypto-alg */
-    if (mp->crypto_algorithm < IPSEC_CRYPTO_ALG_AES_CBC_128 ||
-        mp->crypto_algorithm > IPSEC_CRYPTO_ALG_AES_CBC_256) {
-        clib_warning("unsupported crypto-alg: '%U'", format_ipsec_crypto_alg,
-                     mp->crypto_algorithm);
-        rv = VNET_API_ERROR_UNIMPLEMENTED;
-        goto out;
-    }
-    sa.crypto_alg = mp->crypto_algorithm;
-    sa.crypto_key_len = mp->crypto_key_length;
-    clib_memcpy(&sa.crypto_key, mp->crypto_key, sizeof(sa.crypto_key));
-    /* check for unsupported integ-alg */
-    if (mp->integrity_algorithm < IPSEC_INTEG_ALG_SHA1_96 ||
-        mp->integrity_algorithm > IPSEC_INTEG_ALG_SHA_512_256) {
-        clib_warning("unsupported integ-alg: '%U'", format_ipsec_integ_alg,
-                     mp->integrity_algorithm);
-        rv = VNET_API_ERROR_UNIMPLEMENTED;
-        goto out;
-    }
-    sa.integ_alg = mp->integrity_algorithm;
-    sa.integ_key_len = mp->integrity_key_length;
-    clib_memcpy(&sa.integ_key, mp->integrity_key, sizeof(sa.integ_key));
-    sa.use_esn = mp->use_extended_sequence_number;
-    sa.is_tunnel = mp->is_tunnel;
-    sa.is_tunnel_ip6 = mp->is_tunnel_ipv6;
-    if (sa.is_tunnel_ip6) {
-        clib_memcpy(&sa.tunnel_src_addr, mp->tunnel_src_address, 16);
-        clib_memcpy(&sa.tunnel_dst_addr, mp->tunnel_dst_address, 16);
-    } else {
-        clib_memcpy(&sa.tunnel_src_addr.ip4.data, mp->tunnel_src_address, 4);
-        clib_memcpy(&sa.tunnel_dst_addr.ip4.data, mp->tunnel_dst_address, 4);
-    }
-
-    rv = ipsec_add_del_sa(vm, &sa, mp->is_add);
+  ipsec_sa_t sa;
+
+  memset (&sa, 0, sizeof (sa));
+
+  sa.id = ntohl (mp->sad_id);
+  sa.spi = ntohl (mp->spi);
+  /* security protocol AH unsupported */
+  if (mp->protocol == IPSEC_PROTOCOL_AH)
+    {
+      clib_warning ("unsupported security protocol 'AH'");
+      rv = VNET_API_ERROR_UNIMPLEMENTED;
+      goto out;
+    }
+  sa.protocol = mp->protocol;
+  /* check for unsupported crypto-alg */
+  if (mp->crypto_algorithm < IPSEC_CRYPTO_ALG_AES_CBC_128 ||
+      mp->crypto_algorithm > IPSEC_CRYPTO_ALG_AES_CBC_256)
+    {
+      clib_warning ("unsupported crypto-alg: '%U'", format_ipsec_crypto_alg,
+                   mp->crypto_algorithm);
+      rv = VNET_API_ERROR_UNIMPLEMENTED;
+      goto out;
+    }
+  sa.crypto_alg = mp->crypto_algorithm;
+  sa.crypto_key_len = mp->crypto_key_length;
+  clib_memcpy (&sa.crypto_key, mp->crypto_key, sizeof (sa.crypto_key));
+  /* check for unsupported integ-alg */
+  if (mp->integrity_algorithm < IPSEC_INTEG_ALG_SHA1_96 ||
+      mp->integrity_algorithm > IPSEC_INTEG_ALG_SHA_512_256)
+    {
+      clib_warning ("unsupported integ-alg: '%U'", format_ipsec_integ_alg,
+                   mp->integrity_algorithm);
+      rv = VNET_API_ERROR_UNIMPLEMENTED;
+      goto out;
+    }
+  sa.integ_alg = mp->integrity_algorithm;
+  sa.integ_key_len = mp->integrity_key_length;
+  clib_memcpy (&sa.integ_key, mp->integrity_key, sizeof (sa.integ_key));
+  sa.use_esn = mp->use_extended_sequence_number;
+  sa.is_tunnel = mp->is_tunnel;
+  sa.is_tunnel_ip6 = mp->is_tunnel_ipv6;
+  if (sa.is_tunnel_ip6)
+    {
+      clib_memcpy (&sa.tunnel_src_addr, mp->tunnel_src_address, 16);
+      clib_memcpy (&sa.tunnel_dst_addr, mp->tunnel_dst_address, 16);
+    }
+  else
+    {
+      clib_memcpy (&sa.tunnel_src_addr.ip4.data, mp->tunnel_src_address, 4);
+      clib_memcpy (&sa.tunnel_dst_addr.ip4.data, mp->tunnel_dst_address, 4);
+    }
+
+  rv = ipsec_add_del_sa (vm, &sa, mp->is_add);
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
-    goto out;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
+  goto out;
 #endif
 
 out:
-    REPLY_MACRO(VL_API_IPSEC_SAD_ADD_DEL_ENTRY_REPLY);
+  REPLY_MACRO (VL_API_IPSEC_SAD_ADD_DEL_ENTRY_REPLY);
 }
 
 static void
-vl_api_ikev2_profile_add_del_t_handler
-(vl_api_ikev2_profile_add_del_t * mp)
+vl_api_ikev2_profile_add_del_t_handler (vl_api_ikev2_profile_add_del_t * mp)
 {
-    vl_api_ikev2_profile_add_del_reply_t * rmp;
-    int rv = 0;
+  vl_api_ikev2_profile_add_del_reply_t *rmp;
+  int rv = 0;
 
 #if IPSEC > 0
-    vlib_main_t * vm = vlib_get_main();
-    clib_error_t * error;
-    u8 * tmp = format(0, "%s", mp->name);
-    error = ikev2_add_del_profile(vm, tmp, mp->is_add);
-    vec_free (tmp);
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  vlib_main_t *vm = vlib_get_main ();
+  clib_error_t *error;
+  u8 *tmp = format (0, "%s", mp->name);
+  error = ikev2_add_del_profile (vm, tmp, mp->is_add);
+  vec_free (tmp);
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-   REPLY_MACRO(VL_API_IKEV2_PROFILE_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_IKEV2_PROFILE_ADD_DEL_REPLY);
 }
 
 static void
-vl_api_ikev2_profile_set_auth_t_handler
-(vl_api_ikev2_profile_set_auth_t * mp)
+  vl_api_ikev2_profile_set_auth_t_handler
+  (vl_api_ikev2_profile_set_auth_t * mp)
 {
-    vl_api_ikev2_profile_set_auth_reply_t * rmp;
-    int rv = 0;
+  vl_api_ikev2_profile_set_auth_reply_t *rmp;
+  int rv = 0;
 
 #if IPSEC > 0
-    vlib_main_t * vm = vlib_get_main();
-    clib_error_t * error;
-    u8 * tmp = format(0, "%s", mp->name);
-    u8 * data = vec_new (u8, mp->data_len);
-    clib_memcpy(data, mp->data, mp->data_len);
-    error = ikev2_set_profile_auth(vm, tmp, mp->auth_method, data, mp->is_hex);
-    vec_free (tmp);
-    vec_free (data);
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  vlib_main_t *vm = vlib_get_main ();
+  clib_error_t *error;
+  u8 *tmp = format (0, "%s", mp->name);
+  u8 *data = vec_new (u8, mp->data_len);
+  clib_memcpy (data, mp->data, mp->data_len);
+  error = ikev2_set_profile_auth (vm, tmp, mp->auth_method, data, mp->is_hex);
+  vec_free (tmp);
+  vec_free (data);
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-   REPLY_MACRO(VL_API_IKEV2_PROFILE_SET_AUTH_REPLY);
+  REPLY_MACRO (VL_API_IKEV2_PROFILE_SET_AUTH_REPLY);
 }
 
 static void
-vl_api_ikev2_profile_set_id_t_handler
-(vl_api_ikev2_profile_set_id_t * mp)
+vl_api_ikev2_profile_set_id_t_handler (vl_api_ikev2_profile_set_id_t * mp)
 {
-    vl_api_ikev2_profile_add_del_reply_t * rmp;
-    int rv = 0;
+  vl_api_ikev2_profile_add_del_reply_t *rmp;
+  int rv = 0;
 
 #if IPSEC > 0
-    vlib_main_t * vm = vlib_get_main();
-    clib_error_t * error;
-    u8 * tmp = format(0, "%s", mp->name);
-    u8 * data = vec_new (u8, mp->data_len);
-    clib_memcpy(data, mp->data, mp->data_len);
-    error = ikev2_set_profile_id(vm, tmp, mp->id_type, data, mp->is_local);
-    vec_free (tmp);
-    vec_free (data);
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  vlib_main_t *vm = vlib_get_main ();
+  clib_error_t *error;
+  u8 *tmp = format (0, "%s", mp->name);
+  u8 *data = vec_new (u8, mp->data_len);
+  clib_memcpy (data, mp->data, mp->data_len);
+  error = ikev2_set_profile_id (vm, tmp, mp->id_type, data, mp->is_local);
+  vec_free (tmp);
+  vec_free (data);
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-   REPLY_MACRO(VL_API_IKEV2_PROFILE_SET_ID_REPLY);
+  REPLY_MACRO (VL_API_IKEV2_PROFILE_SET_ID_REPLY);
 }
 
 static void
-vl_api_ikev2_profile_set_ts_t_handler
-(vl_api_ikev2_profile_set_ts_t * mp)
+vl_api_ikev2_profile_set_ts_t_handler (vl_api_ikev2_profile_set_ts_t * mp)
 {
-    vl_api_ikev2_profile_set_ts_reply_t * rmp;
-    int rv = 0;
+  vl_api_ikev2_profile_set_ts_reply_t *rmp;
+  int rv = 0;
 
 #if IPSEC > 0
-    vlib_main_t * vm = vlib_get_main();
-    clib_error_t * error;
-    u8 * tmp = format(0, "%s", mp->name);
-    error = ikev2_set_profile_ts(vm, tmp, mp->proto, mp->start_port,
-                                 mp->end_port, (ip4_address_t) mp->start_addr,
-                                 (ip4_address_t) mp->end_addr, mp->is_local);
-    vec_free (tmp);
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  vlib_main_t *vm = vlib_get_main ();
+  clib_error_t *error;
+  u8 *tmp = format (0, "%s", mp->name);
+  error = ikev2_set_profile_ts (vm, tmp, mp->proto, mp->start_port,
+                               mp->end_port, (ip4_address_t) mp->start_addr,
+                               (ip4_address_t) mp->end_addr, mp->is_local);
+  vec_free (tmp);
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-   REPLY_MACRO(VL_API_IKEV2_PROFILE_SET_TS_REPLY);
+  REPLY_MACRO (VL_API_IKEV2_PROFILE_SET_TS_REPLY);
 }
 
 static void
-vl_api_ikev2_set_local_key_t_handler
-(vl_api_ikev2_set_local_key_t * mp)
+vl_api_ikev2_set_local_key_t_handler (vl_api_ikev2_set_local_key_t * mp)
 {
-    vl_api_ikev2_profile_set_ts_reply_t * rmp;
-    int rv = 0;
+  vl_api_ikev2_profile_set_ts_reply_t *rmp;
+  int rv = 0;
 
 #if IPSEC > 0
-    vlib_main_t * vm = vlib_get_main();
-    clib_error_t * error;
+  vlib_main_t *vm = vlib_get_main ();
+  clib_error_t *error;
 
-    error = ikev2_set_local_key(vm, mp->key_file);
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  error = ikev2_set_local_key (vm, mp->key_file);
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-   REPLY_MACRO(VL_API_IKEV2_SET_LOCAL_KEY_REPLY);
+  REPLY_MACRO (VL_API_IKEV2_SET_LOCAL_KEY_REPLY);
 }
 
 static void
-vl_api_map_add_domain_t_handler
-(vl_api_map_add_domain_t * mp)
+vl_api_map_add_domain_t_handler (vl_api_map_add_domain_t * mp)
 {
-  vl_api_map_add_domain_reply_t * rmp;
+  vl_api_map_add_domain_reply_t *rmp;
   int rv = 0;
   u32 index;
   u8 flags = mp->is_translation ? MAP_DOMAIN_TRANSLATION : 0;
-  rv = map_create_domain((ip4_address_t *)&mp->ip4_prefix, mp->ip4_prefix_len,
-                        (ip6_address_t *)&mp->ip6_prefix, mp->ip6_prefix_len,
-                        (ip6_address_t *)&mp->ip6_src, mp->ip6_src_prefix_len,
-                        mp->ea_bits_len, mp->psid_offset, mp->psid_length, &index, ntohs(mp->mtu), flags);
-
+  rv =
+    map_create_domain ((ip4_address_t *) & mp->ip4_prefix, mp->ip4_prefix_len,
+                      (ip6_address_t *) & mp->ip6_prefix, mp->ip6_prefix_len,
+                      (ip6_address_t *) & mp->ip6_src,
+                      mp->ip6_src_prefix_len, mp->ea_bits_len,
+                      mp->psid_offset, mp->psid_length, &index,
+                      ntohs (mp->mtu), flags);
+
+  /* *INDENT-OFF* */
   REPLY_MACRO2(VL_API_MAP_ADD_DOMAIN_REPLY,
-              ({
-                rmp->index = ntohl(index);
-              }));
+  ({
+    rmp->index = ntohl(index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_map_del_domain_t_handler
-(vl_api_map_del_domain_t * mp)
+vl_api_map_del_domain_t_handler (vl_api_map_del_domain_t * mp)
 {
-  vl_api_map_del_domain_reply_t * rmp;
+  vl_api_map_del_domain_reply_t *rmp;
   int rv = 0;
 
-  rv = map_delete_domain(ntohl(mp->index));
+  rv = map_delete_domain (ntohl (mp->index));
 
-  REPLY_MACRO(VL_API_MAP_DEL_DOMAIN_REPLY);
+  REPLY_MACRO (VL_API_MAP_DEL_DOMAIN_REPLY);
 }
 
 static void
-vl_api_map_add_del_rule_t_handler
-(vl_api_map_add_del_rule_t * mp)
+vl_api_map_add_del_rule_t_handler (vl_api_map_add_del_rule_t * mp)
 {
-  vl_api_map_del_domain_reply_t * rmp;
+  vl_api_map_del_domain_reply_t *rmp;
   int rv = 0;
 
-  rv = map_add_del_psid(ntohl(mp->index), ntohs(mp->psid), (ip6_address_t *)mp->ip6_dst, mp->is_add);
+  rv =
+    map_add_del_psid (ntohl (mp->index), ntohs (mp->psid),
+                     (ip6_address_t *) mp->ip6_dst, mp->is_add);
 
-  REPLY_MACRO(VL_API_MAP_ADD_DEL_RULE_REPLY);
+  REPLY_MACRO (VL_API_MAP_ADD_DEL_RULE_REPLY);
 }
 
 static void
-vl_api_map_domain_dump_t_handler
-(vl_api_map_domain_dump_t * mp)
+vl_api_map_domain_dump_t_handler (vl_api_map_domain_dump_t * mp)
 {
-  vl_api_map_domain_details_t * rmp;
+  vl_api_map_domain_details_t *rmp;
   map_main_t *mm = &map_main;
   map_domain_t *d;
-  unix_shared_memory_queue_t * q;
+  unix_shared_memory_queue_t *q;
 
   if (pool_elts (mm->domains) == 0)
-      return;
+    return;
 
   q = vl_api_client_index_to_input_queue (mp->client_index);
-  if (q == 0) {
-    return;
-  }
+  if (q == 0)
+    {
+      return;
+    }
 
-  pool_foreach(d, mm->domains, ({
+  /* *INDENT-OFF* */
+  pool_foreach(d, mm->domains,
+  ({
     /* Make sure every field is initiated (or don't skip the memset()) */
     rmp = vl_msg_api_alloc (sizeof (*rmp));
     rmp->_vl_msg_id = ntohs(VL_API_MAP_DOMAIN_DETAILS);
@@ -6157,1376 +6528,1491 @@ vl_api_map_domain_dump_t_handler
 
     vl_msg_api_send_shmem (q, (u8 *)&rmp);
   }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_map_rule_dump_t_handler
-(vl_api_map_rule_dump_t * mp)
+vl_api_map_rule_dump_t_handler (vl_api_map_rule_dump_t * mp)
 {
-  unix_shared_memory_queue_t * q;
+  unix_shared_memory_queue_t *q;
   u16 i;
   ip6_address_t dst;
-  vl_api_map_rule_details_t * rmp;
+  vl_api_map_rule_details_t *rmp;
   map_main_t *mm = &map_main;
-  u32 domain_index = ntohl(mp->domain_index);
+  u32 domain_index = ntohl (mp->domain_index);
   map_domain_t *d;
 
   if (pool_elts (mm->domains) == 0)
-   return;
-
-  d = pool_elt_at_index(mm->domains, domain_index);
-  if (!d || !d->rules) {
     return;
-  }
+
+  d = pool_elt_at_index (mm->domains, domain_index);
+  if (!d || !d->rules)
+    {
+      return;
+    }
 
   q = vl_api_client_index_to_input_queue (mp->client_index);
-  if (q == 0) {
-    return;
-  }
+  if (q == 0)
+    {
+      return;
+    }
 
-  for (i = 0; i < (0x1 << d->psid_length); i++) {
-    dst = d->rules[i];
-    if (dst.as_u64[0] == 0 && dst.as_u64[1] == 0) {
-      continue;
+  for (i = 0; i < (0x1 << d->psid_length); i++)
+    {
+      dst = d->rules[i];
+      if (dst.as_u64[0] == 0 && dst.as_u64[1] == 0)
+       {
+         continue;
+       }
+      rmp = vl_msg_api_alloc (sizeof (*rmp));
+      memset (rmp, 0, sizeof (*rmp));
+      rmp->_vl_msg_id = ntohs (VL_API_MAP_RULE_DETAILS);
+      rmp->psid = htons (i);
+      clib_memcpy (rmp->ip6_dst, &dst, sizeof (rmp->ip6_dst));
+      rmp->context = mp->context;
+      vl_msg_api_send_shmem (q, (u8 *) & rmp);
     }
-    rmp = vl_msg_api_alloc(sizeof(*rmp));
-    memset(rmp, 0, sizeof(*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_MAP_RULE_DETAILS);
-    rmp->psid = htons(i);
-    clib_memcpy(rmp->ip6_dst, &dst, sizeof(rmp->ip6_dst));
-    rmp->context = mp->context;
-    vl_msg_api_send_shmem(q, (u8 *)&rmp);
-  }
 }
 
 static void
-vl_api_map_summary_stats_t_handler (
-    vl_api_map_summary_stats_t *mp)
-{
-    vl_api_map_summary_stats_reply_t *rmp;
-    vlib_combined_counter_main_t *cm;
-    vlib_counter_t v;
-    int i, which;
-    u64 total_pkts[VLIB_N_RX_TX];
-    u64 total_bytes[VLIB_N_RX_TX];
-    map_main_t *mm = &map_main;
-    unix_shared_memory_queue_t *q =
-        vl_api_client_index_to_input_queue(mp->client_index);
+vl_api_map_summary_stats_t_handler (vl_api_map_summary_stats_t * mp)
+{
+  vl_api_map_summary_stats_reply_t *rmp;
+  vlib_combined_counter_main_t *cm;
+  vlib_counter_t v;
+  int i, which;
+  u64 total_pkts[VLIB_N_RX_TX];
+  u64 total_bytes[VLIB_N_RX_TX];
+  map_main_t *mm = &map_main;
+  unix_shared_memory_queue_t *q =
+    vl_api_client_index_to_input_queue (mp->client_index);
 
-    if (!q)
-        return;
+  if (!q)
+    return;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_MAP_SUMMARY_STATS_REPLY);
-    rmp->context = mp->context;
-    rmp->retval = 0;
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_MAP_SUMMARY_STATS_REPLY);
+  rmp->context = mp->context;
+  rmp->retval = 0;
 
-    memset (total_pkts, 0, sizeof (total_pkts));
-    memset (total_bytes, 0, sizeof (total_bytes));
+  memset (total_pkts, 0, sizeof (total_pkts));
+  memset (total_bytes, 0, sizeof (total_bytes));
 
-    map_domain_counter_lock (mm);
-    vec_foreach(cm, mm->domain_counters) {
-      which = cm - mm->domain_counters;
+  map_domain_counter_lock (mm);
+  vec_foreach (cm, mm->domain_counters)
+  {
+    which = cm - mm->domain_counters;
 
-      for (i = 0; i < vec_len(cm->maxi); i++) {
+    for (i = 0; i < vec_len (cm->maxi); i++)
+      {
        vlib_get_combined_counter (cm, i, &v);
        total_pkts[which] += v.packets;
        total_bytes[which] += v.bytes;
       }
-    }
-
-    map_domain_counter_unlock (mm);
-
-    /* Note: in network byte order! */
-    rmp->total_pkts[MAP_DOMAIN_COUNTER_RX] = clib_host_to_net_u64(total_pkts[MAP_DOMAIN_COUNTER_RX]);
-    rmp->total_bytes[MAP_DOMAIN_COUNTER_RX] = clib_host_to_net_u64(total_bytes[MAP_DOMAIN_COUNTER_RX]);
-    rmp->total_pkts[MAP_DOMAIN_COUNTER_TX] = clib_host_to_net_u64(total_pkts[MAP_DOMAIN_COUNTER_TX]);
-    rmp->total_bytes[MAP_DOMAIN_COUNTER_TX] = clib_host_to_net_u64(total_bytes[MAP_DOMAIN_COUNTER_TX]);
-    rmp->total_bindings = clib_host_to_net_u64(pool_elts(mm->domains));
-    rmp->total_ip4_fragments = 0; // Not yet implemented. Should be a simple counter.
-    rmp->total_security_check[MAP_DOMAIN_COUNTER_TX] = clib_host_to_net_u64(map_error_counter_get(ip4_map_node.index, MAP_ERROR_ENCAP_SEC_CHECK));
-    rmp->total_security_check[MAP_DOMAIN_COUNTER_RX] = clib_host_to_net_u64(map_error_counter_get(ip4_map_node.index, MAP_ERROR_DECAP_SEC_CHECK));
+  }
 
-    vl_msg_api_send_shmem(q, (u8 *)&rmp);
+  map_domain_counter_unlock (mm);
+
+  /* Note: in network byte order! */
+  rmp->total_pkts[MAP_DOMAIN_COUNTER_RX] =
+    clib_host_to_net_u64 (total_pkts[MAP_DOMAIN_COUNTER_RX]);
+  rmp->total_bytes[MAP_DOMAIN_COUNTER_RX] =
+    clib_host_to_net_u64 (total_bytes[MAP_DOMAIN_COUNTER_RX]);
+  rmp->total_pkts[MAP_DOMAIN_COUNTER_TX] =
+    clib_host_to_net_u64 (total_pkts[MAP_DOMAIN_COUNTER_TX]);
+  rmp->total_bytes[MAP_DOMAIN_COUNTER_TX] =
+    clib_host_to_net_u64 (total_bytes[MAP_DOMAIN_COUNTER_TX]);
+  rmp->total_bindings = clib_host_to_net_u64 (pool_elts (mm->domains));
+  rmp->total_ip4_fragments = 0;        // Not yet implemented. Should be a simple counter.
+  rmp->total_security_check[MAP_DOMAIN_COUNTER_TX] =
+    clib_host_to_net_u64 (map_error_counter_get
+                         (ip4_map_node.index, MAP_ERROR_ENCAP_SEC_CHECK));
+  rmp->total_security_check[MAP_DOMAIN_COUNTER_RX] =
+    clib_host_to_net_u64 (map_error_counter_get
+                         (ip4_map_node.index, MAP_ERROR_DECAP_SEC_CHECK));
+
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-static void vl_api_ipsec_sa_set_key_t_handler
-(vl_api_ipsec_sa_set_key_t * mp)
+static void
+vl_api_ipsec_sa_set_key_t_handler (vl_api_ipsec_sa_set_key_t * mp)
 {
-    vlib_main_t *vm __attribute__((unused)) = vlib_get_main();
-    vl_api_ipsec_sa_set_key_reply_t *rmp;
-    int rv;
+  vlib_main_t *vm __attribute__ ((unused)) = vlib_get_main ();
+  vl_api_ipsec_sa_set_key_reply_t *rmp;
+  int rv;
 #if IPSEC > 0
-    ipsec_sa_t sa;
-    sa.id = ntohl(mp->sa_id);
-    sa.crypto_key_len = mp->crypto_key_length;
-    clib_memcpy(&sa.crypto_key, mp->crypto_key, sizeof(sa.crypto_key));
-    sa.integ_key_len = mp->integrity_key_length;
-    clib_memcpy(&sa.integ_key, mp->integrity_key, sizeof(sa.integ_key));
-
-    rv = ipsec_set_sa_key(vm, &sa);
+  ipsec_sa_t sa;
+  sa.id = ntohl (mp->sa_id);
+  sa.crypto_key_len = mp->crypto_key_length;
+  clib_memcpy (&sa.crypto_key, mp->crypto_key, sizeof (sa.crypto_key));
+  sa.integ_key_len = mp->integrity_key_length;
+  clib_memcpy (&sa.integ_key, mp->integrity_key, sizeof (sa.integ_key));
+
+  rv = ipsec_set_sa_key (vm, &sa);
 #else
-    rv = VNET_API_ERROR_UNIMPLEMENTED;
+  rv = VNET_API_ERROR_UNIMPLEMENTED;
 #endif
 
-    REPLY_MACRO(VL_API_IPSEC_SA_SET_KEY_REPLY);
+  REPLY_MACRO (VL_API_IPSEC_SA_SET_KEY_REPLY);
 }
 
 static void vl_api_cop_interface_enable_disable_t_handler
-(vl_api_cop_interface_enable_disable_t * mp)
+  (vl_api_cop_interface_enable_disable_t * mp)
 {
-    vl_api_cop_interface_enable_disable_reply_t * rmp;
-    int rv;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    int enable_disable;
+  vl_api_cop_interface_enable_disable_reply_t *rmp;
+  int rv;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  int enable_disable;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    enable_disable = (int) mp->enable_disable;
+  enable_disable = (int) mp->enable_disable;
 
-    rv = cop_interface_enable_disable (sw_if_index, enable_disable);
+  rv = cop_interface_enable_disable (sw_if_index, enable_disable);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_COP_INTERFACE_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_COP_INTERFACE_ENABLE_DISABLE_REPLY);
 }
 
 static void vl_api_cop_whitelist_enable_disable_t_handler
-(vl_api_cop_whitelist_enable_disable_t * mp)
+  (vl_api_cop_whitelist_enable_disable_t * mp)
 {
-    vl_api_cop_whitelist_enable_disable_reply_t * rmp;
-    cop_whitelist_enable_disable_args_t _a, *a=&_a;
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    int rv;
+  vl_api_cop_whitelist_enable_disable_reply_t *rmp;
+  cop_whitelist_enable_disable_args_t _a, *a = &_a;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  int rv;
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    a->sw_if_index = sw_if_index;
-    a->ip4 = mp->ip4;
-    a->ip6 = mp->ip6;
-    a->default_cop = mp->default_cop;
-    a->fib_id = ntohl(mp->fib_id);
+  a->sw_if_index = sw_if_index;
+  a->ip4 = mp->ip4;
+  a->ip6 = mp->ip6;
+  a->default_cop = mp->default_cop;
+  a->fib_id = ntohl (mp->fib_id);
 
-    rv = cop_whitelist_enable_disable (a);
+  rv = cop_whitelist_enable_disable (a);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_COP_WHITELIST_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_COP_WHITELIST_ENABLE_DISABLE_REPLY);
 }
 
-static void vl_api_get_node_graph_t_handler
-(vl_api_get_node_graph_t * mp)
+static void
+vl_api_get_node_graph_t_handler (vl_api_get_node_graph_t * mp)
 {
-    int rv = 0;
-    u8 * vector = 0;
-    api_main_t * am = &api_main;
-    vlib_main_t * vm = vlib_get_main();
-    void * oldheap;
-    vl_api_get_node_graph_reply_t * rmp;
-
-    pthread_mutex_lock (&am->vlib_rp->mutex);
-    oldheap = svm_push_data_heap (am->vlib_rp);
-
-    /*
-     * Keep the number of memcpy ops to a minimum (e.g. 1).
-     */
-    vec_validate (vector, 16384);
-    vec_reset_length (vector);
-
-    /* $$$$ FIXME */
-    vector = vlib_node_serialize (&vm->node_main, vector,
-                                  (u32)~0 /* all threads */,
-                                  1 /* include nexts */,
-                                  1 /* include stats */);
-
-    svm_pop_heap (oldheap);
-    pthread_mutex_unlock (&am->vlib_rp->mutex);
-
-    REPLY_MACRO2(VL_API_GET_NODE_GRAPH_REPLY,
-                 rmp->reply_in_shmem = (uword) vector);
+  int rv = 0;
+  u8 *vector = 0;
+  api_main_t *am = &api_main;
+  vlib_main_t *vm = vlib_get_main ();
+  void *oldheap;
+  vl_api_get_node_graph_reply_t *rmp;
+
+  pthread_mutex_lock (&am->vlib_rp->mutex);
+  oldheap = svm_push_data_heap (am->vlib_rp);
+
+  /*
+   * Keep the number of memcpy ops to a minimum (e.g. 1).
+   */
+  vec_validate (vector, 16384);
+  vec_reset_length (vector);
+
+  /* $$$$ FIXME */
+  vector = vlib_node_serialize (&vm->node_main, vector,
+                               (u32) ~ 0 /* all threads */ ,
+                               1 /* include nexts */ ,
+                               1 /* include stats */ );
+
+  svm_pop_heap (oldheap);
+  pthread_mutex_unlock (&am->vlib_rp->mutex);
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_NODE_GRAPH_REPLY,
+  ({
+    rmp->reply_in_shmem = (uword) vector;
+  }));
+  /* *INDENT-ON* */
 }
 
 static void vl_api_trace_profile_add_t_handler
-(vl_api_trace_profile_add_t *mp)
+  (vl_api_trace_profile_add_t * mp)
 {
-    int rv = 0;
-    vl_api_trace_profile_add_reply_t * rmp;
-    clib_error_t *error;
-
-    /* Ignoring the profile id as currently a single profile
-     * is supported */
-    error = ip6_ioam_trace_profile_set(mp->trace_num_elt, mp->trace_type,
-                               ntohl(mp->node_id), ntohl(mp->trace_app_data),
-                               mp->pow_enable, mp->trace_tsp,
-                               mp->trace_ppc);
-    if (error) {
-      clib_error_report(error);
-      rv = clib_error_get_code(error);
+  int rv = 0;
+  vl_api_trace_profile_add_reply_t *rmp;
+  clib_error_t *error;
+
+  /* Ignoring the profile id as currently a single profile
+   * is supported */
+  error = ip6_ioam_trace_profile_set (mp->trace_num_elt, mp->trace_type,
+                                     ntohl (mp->node_id),
+                                     ntohl (mp->trace_app_data),
+                                     mp->pow_enable, mp->trace_tsp,
+                                     mp->trace_ppc);
+  if (error)
+    {
+      clib_error_report (error);
+      rv = clib_error_get_code (error);
     }
 
-    REPLY_MACRO(VL_API_TRACE_PROFILE_ADD_REPLY);
+  REPLY_MACRO (VL_API_TRACE_PROFILE_ADD_REPLY);
 }
 
 static void vl_api_trace_profile_apply_t_handler
-(vl_api_trace_profile_apply_t *mp)
-{
-    int rv = 0;
-    vl_api_trace_profile_apply_reply_t * rmp;
-
-    if (mp->enable != 0) {
-      rv = ip6_ioam_set_destination ((ip6_address_t *)(&mp->dest_ipv6),
-                               ntohl(mp->prefix_length),
-                               ntohl(mp->vrf_id),
-                        mp->trace_op == IOAM_HBYH_ADD,
-                        mp->trace_op == IOAM_HBYH_POP,
-                        mp->trace_op == IOAM_HBYH_MOD);
-    } else {
+  (vl_api_trace_profile_apply_t * mp)
+{
+  int rv = 0;
+  vl_api_trace_profile_apply_reply_t *rmp;
+
+  if (mp->enable != 0)
+    {
+      rv = ip6_ioam_set_destination ((ip6_address_t *) (&mp->dest_ipv6),
+                                    ntohl (mp->prefix_length),
+                                    ntohl (mp->vrf_id),
+                                    mp->trace_op == IOAM_HBYH_ADD,
+                                    mp->trace_op == IOAM_HBYH_POP,
+                                    mp->trace_op == IOAM_HBYH_MOD);
+    }
+  else
+    {
       //ip6_ioam_clear_destination(&ip6, mp->prefix_length, mp->vrf_id);
     }
-    REPLY_MACRO(VL_API_TRACE_PROFILE_APPLY_REPLY);
+  REPLY_MACRO (VL_API_TRACE_PROFILE_APPLY_REPLY);
 }
 
 static void vl_api_trace_profile_del_t_handler
-(vl_api_trace_profile_del_t *mp)
+  (vl_api_trace_profile_del_t * mp)
 {
-    int rv = 0;
-    vl_api_trace_profile_del_reply_t * rmp;
-    clib_error_t *error;
+  int rv = 0;
+  vl_api_trace_profile_del_reply_t *rmp;
+  clib_error_t *error;
 
-    error = clear_ioam_rewrite_fn();
-    if (error) {
-      clib_error_report(error);
-      rv = clib_error_get_code(error);
+  error = clear_ioam_rewrite_fn ();
+  if (error)
+    {
+      clib_error_report (error);
+      rv = clib_error_get_code (error);
     }
 
-    REPLY_MACRO(VL_API_TRACE_PROFILE_DEL_REPLY);
+  REPLY_MACRO (VL_API_TRACE_PROFILE_DEL_REPLY);
 }
 
 static void
-vl_api_af_packet_create_t_handler
-(vl_api_af_packet_create_t *mp)
+vl_api_af_packet_create_t_handler (vl_api_af_packet_create_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_af_packet_create_reply_t *rmp;
-    int rv = 0;
-    u8 *host_if_name = NULL;
-    u32 sw_if_index;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_af_packet_create_reply_t *rmp;
+  int rv = 0;
+  u8 *host_if_name = NULL;
+  u32 sw_if_index;
 
-    host_if_name = format(0, "%s", mp->host_if_name);
-    vec_add1 (host_if_name, 0);
+  host_if_name = format (0, "%s", mp->host_if_name);
+  vec_add1 (host_if_name, 0);
 
-    rv = af_packet_create_if(vm, host_if_name,
-                             mp->use_random_hw_addr ? 0 : mp->hw_addr, &sw_if_index);
+  rv = af_packet_create_if (vm, host_if_name,
+                           mp->use_random_hw_addr ? 0 : mp->hw_addr,
+                           &sw_if_index);
 
-    vec_free(host_if_name);
+  vec_free (host_if_name);
 
-    REPLY_MACRO2(VL_API_AF_PACKET_CREATE_REPLY,
-                rmp->sw_if_index = clib_host_to_net_u32(sw_if_index));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_AF_PACKET_CREATE_REPLY,
+  ({
+    rmp->sw_if_index = clib_host_to_net_u32(sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 static void
-vl_api_af_packet_delete_t_handler
-(vl_api_af_packet_delete_t *mp)
+vl_api_af_packet_delete_t_handler (vl_api_af_packet_delete_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_af_packet_delete_reply_t *rmp;
-    int rv = 0;
-    u8 *host_if_name = NULL;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_af_packet_delete_reply_t *rmp;
+  int rv = 0;
+  u8 *host_if_name = NULL;
 
-    host_if_name = format(0, "%s", mp->host_if_name);
-    vec_add1 (host_if_name, 0);
+  host_if_name = format (0, "%s", mp->host_if_name);
+  vec_add1 (host_if_name, 0);
 
-    rv = af_packet_delete_if(vm, host_if_name);
+  rv = af_packet_delete_if (vm, host_if_name);
 
-    vec_free(host_if_name);
+  vec_free (host_if_name);
 
-    REPLY_MACRO(VL_API_AF_PACKET_DELETE_REPLY);
+  REPLY_MACRO (VL_API_AF_PACKET_DELETE_REPLY);
 }
 
 static void
-vl_api_policer_add_del_t_handler
-(vl_api_policer_add_del_t *mp)
+vl_api_policer_add_del_t_handler (vl_api_policer_add_del_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_policer_add_del_reply_t *rmp;
-    int rv = 0;
-    u8 *name = NULL;
-    sse2_qos_pol_cfg_params_st cfg;
-    clib_error_t * error;
-    u32 policer_index;
-
-    name = format(0, "%s", mp->name);
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_policer_add_del_reply_t *rmp;
+  int rv = 0;
+  u8 *name = NULL;
+  sse2_qos_pol_cfg_params_st cfg;
+  clib_error_t *error;
+  u32 policer_index;
+
+  name = format (0, "%s", mp->name);
+
+  memset (&cfg, 0, sizeof (cfg));
+  cfg.rfc = mp->type;
+  cfg.rnd_type = mp->round_type;
+  cfg.rate_type = mp->rate_type;
+  cfg.rb.kbps.cir_kbps = mp->cir;
+  cfg.rb.kbps.eir_kbps = mp->eir;
+  cfg.rb.kbps.cb_bytes = mp->cb;
+  cfg.rb.kbps.eb_bytes = mp->eb;
+  cfg.conform_action.action_type = mp->conform_action_type;
+  cfg.conform_action.dscp = mp->conform_dscp;
+  cfg.exceed_action.action_type = mp->exceed_action_type;
+  cfg.exceed_action.dscp = mp->exceed_dscp;
+  cfg.violate_action.action_type = mp->violate_action_type;
+  cfg.violate_action.dscp = mp->violate_dscp;
+  cfg.color_aware = mp->color_aware;
+
+  error = policer_add_del (vm, name, &cfg, &policer_index, mp->is_add);
+
+  if (error)
+    rv = VNET_API_ERROR_UNSPECIFIED;
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_POLICER_ADD_DEL_REPLY,
+  ({
+    if (rv == 0 &&  mp->is_add)
+      rmp->policer_index = ntohl(policer_index);
+    else
+      rmp->policer_index = ~0;
+  }));
+  /* *INDENT-ON* */
+}
 
-    memset (&cfg, 0, sizeof (cfg));
-    cfg.rfc = mp->type;
-    cfg.rnd_type = mp->round_type;
-    cfg.rate_type = mp->rate_type;
-    cfg.rb.kbps.cir_kbps = mp->cir;
-    cfg.rb.kbps.eir_kbps = mp->eir;
-    cfg.rb.kbps.cb_bytes = mp->cb;
-    cfg.rb.kbps.eb_bytes = mp->eb;
-    cfg.conform_action.action_type = mp->conform_action_type;
-    cfg.conform_action.dscp = mp->conform_dscp;
-    cfg.exceed_action.action_type = mp->exceed_action_type;
-    cfg.exceed_action.dscp = mp->exceed_dscp;
-    cfg.violate_action.action_type = mp->violate_action_type;
-    cfg.violate_action.dscp = mp->violate_dscp;
-    cfg.color_aware = mp->color_aware;
+static void
+send_policer_details (u8 * name,
+                     sse2_qos_pol_cfg_params_st * config,
+                     policer_read_response_type_st * templ,
+                     unix_shared_memory_queue_t * q, u32 context)
+{
+  vl_api_policer_details_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_POLICER_DETAILS);
+  mp->context = context;
+  mp->cir = htonl (config->rb.kbps.cir_kbps);
+  mp->eir = htonl (config->rb.kbps.eir_kbps);
+  mp->cb = htonl (config->rb.kbps.cb_bytes);
+  mp->eb = htonl (config->rb.kbps.eb_bytes);
+  mp->rate_type = config->rate_type;
+  mp->round_type = config->rnd_type;
+  mp->type = config->rfc;
+  mp->conform_action_type = config->conform_action.action_type;
+  mp->conform_dscp = config->conform_action.dscp;
+  mp->exceed_action_type = config->exceed_action.action_type;
+  mp->exceed_dscp = config->exceed_action.dscp;
+  mp->violate_action_type = config->violate_action.action_type;
+  mp->violate_dscp = config->violate_action.dscp;
+  mp->single_rate = templ->single_rate ? 1 : 0;
+  mp->color_aware = templ->color_aware ? 1 : 0;
+  mp->scale = htonl (templ->scale);
+  mp->cir_tokens_per_period = htonl (templ->cir_tokens_per_period);
+  mp->pir_tokens_per_period = htonl (templ->pir_tokens_per_period);
+  mp->current_limit = htonl (templ->current_limit);
+  mp->current_bucket = htonl (templ->current_bucket);
+  mp->extended_limit = htonl (templ->extended_limit);
+  mp->extended_bucket = htonl (templ->extended_bucket);
+  mp->last_update_time = clib_host_to_net_u64 (templ->last_update_time);
+
+  strncpy ((char *) mp->name, (char *) name, ARRAY_LEN (mp->name) - 1);
+
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
+}
 
-    error = policer_add_del(vm, name, &cfg, &policer_index, mp->is_add);
+static void
+vl_api_policer_dump_t_handler (vl_api_policer_dump_t * mp)
+{
+  unix_shared_memory_queue_t *q;
+  vnet_policer_main_t *pm = &vnet_policer_main;
+  hash_pair_t *hp;
+  uword *p;
+  u32 pool_index;
+  u8 *match_name = 0;
+  u8 *name;
+  sse2_qos_pol_cfg_params_st *config;
+  policer_read_response_type_st *templ;
 
-    if (error)
-      rv = VNET_API_ERROR_UNSPECIFIED;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    REPLY_MACRO2(VL_API_POLICER_ADD_DEL_REPLY,
-    ({
-        if (rv == 0 &&  mp->is_add)
-          rmp->policer_index = ntohl(policer_index);
-        else
-          rmp->policer_index = ~0;
-    }));
-}
+  if (mp->match_name_valid)
+    {
+      match_name = format (0, "%s%c", mp->match_name, 0);
+    }
 
-static void
-send_policer_details (u8 *name,
-                      sse2_qos_pol_cfg_params_st *config,
-                      policer_read_response_type_st *templ,
-                      unix_shared_memory_queue_t *q,
-                      u32 context)
-{
-    vl_api_policer_details_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_POLICER_DETAILS);
-    mp->context = context;
-    mp->cir = htonl(config->rb.kbps.cir_kbps);
-    mp->eir = htonl(config->rb.kbps.eir_kbps);
-    mp->cb = htonl(config->rb.kbps.cb_bytes);
-    mp->eb = htonl(config->rb.kbps.eb_bytes);
-    mp->rate_type = config->rate_type;
-    mp->round_type = config->rnd_type;
-    mp->type = config->rfc;
-    mp->conform_action_type = config->conform_action.action_type;
-    mp->conform_dscp = config->conform_action.dscp;
-    mp->exceed_action_type = config->exceed_action.action_type;
-    mp->exceed_dscp = config->exceed_action.dscp;
-    mp->violate_action_type = config->violate_action.action_type;
-    mp->violate_dscp = config->violate_action.dscp;
-    mp->single_rate = templ->single_rate ? 1 : 0;
-    mp->color_aware = templ->color_aware ? 1 : 0;
-    mp->scale = htonl(templ->scale);
-    mp->cir_tokens_per_period = htonl(templ->cir_tokens_per_period);
-    mp->pir_tokens_per_period = htonl(templ->pir_tokens_per_period);
-    mp->current_limit = htonl(templ->current_limit);
-    mp->current_bucket = htonl(templ->current_bucket);
-    mp->extended_limit = htonl(templ->extended_limit);
-    mp->extended_bucket = htonl(templ->extended_bucket);
-    mp->last_update_time = clib_host_to_net_u64(templ->last_update_time);
-
-    strncpy ((char *) mp->name, (char *) name, ARRAY_LEN(mp->name) - 1);
-
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
-}
-
-static void
-vl_api_policer_dump_t_handler
-(vl_api_policer_dump_t *mp)
-{
-    unix_shared_memory_queue_t * q;
-    vnet_policer_main_t * pm = &vnet_policer_main;
-    hash_pair_t * hp;
-    uword * p;
-    u32 pool_index;
-    u8 * match_name = 0;
-    u8 * name;
-    sse2_qos_pol_cfg_params_st *config;
-    policer_read_response_type_st *templ;
-
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
-
-    if (mp->match_name_valid) {
-        match_name = format(0, "%s%c", mp->match_name, 0);
-    }
-
-    if (mp->match_name_valid) {
-        p = hash_get_mem (pm->policer_config_by_name, match_name);
-        if (p) {
-            pool_index = p[0];
-            config = pool_elt_at_index (pm->configs, pool_index);
-            templ = pool_elt_at_index (pm->policer_templates, pool_index);
-            send_policer_details(match_name, config, templ, q, mp->context);
-        }
-    } else {
-        hash_foreach_pair (hp, pm->policer_config_by_name,
-        ({
-            name = (u8 *) hp->key;
-            pool_index = hp->value[0];
-            config = pool_elt_at_index (pm->configs, pool_index);
-            templ = pool_elt_at_index (pm->policer_templates, pool_index);
-            send_policer_details(name, config, templ, q, mp->context);
-        }));
+  if (mp->match_name_valid)
+    {
+      p = hash_get_mem (pm->policer_config_by_name, match_name);
+      if (p)
+       {
+         pool_index = p[0];
+         config = pool_elt_at_index (pm->configs, pool_index);
+         templ = pool_elt_at_index (pm->policer_templates, pool_index);
+         send_policer_details (match_name, config, templ, q, mp->context);
+       }
+    }
+  else
+    {
+      /* *INDENT-OFF* */
+      hash_foreach_pair (hp, pm->policer_config_by_name,
+      ({
+        name = (u8 *) hp->key;
+        pool_index = hp->value[0];
+        config = pool_elt_at_index (pm->configs, pool_index);
+        templ = pool_elt_at_index (pm->policer_templates, pool_index);
+        send_policer_details(name, config, templ, q, mp->context);
+      }));
+      /* *INDENT-ON* */
     }
 }
 
 static void
-vl_api_policer_classify_set_interface_t_handler
-(vl_api_policer_classify_set_interface_t * mp)
+  vl_api_policer_classify_set_interface_t_handler
+  (vl_api_policer_classify_set_interface_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_policer_classify_set_interface_reply_t * rmp;
-    int rv;
-    u32 sw_if_index, ip4_table_index, ip6_table_index, l2_table_index;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_policer_classify_set_interface_reply_t *rmp;
+  int rv;
+  u32 sw_if_index, ip4_table_index, ip6_table_index, l2_table_index;
 
-    ip4_table_index = ntohl(mp->ip4_table_index);
-    ip6_table_index = ntohl(mp->ip6_table_index);
-    l2_table_index = ntohl(mp->l2_table_index);
-    sw_if_index = ntohl(mp->sw_if_index);
+  ip4_table_index = ntohl (mp->ip4_table_index);
+  ip6_table_index = ntohl (mp->ip6_table_index);
+  l2_table_index = ntohl (mp->l2_table_index);
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = vnet_set_policer_classify_intfc(vm, sw_if_index, ip4_table_index,
-                                         ip6_table_index, l2_table_index,
-                                         mp->is_add);
+  rv = vnet_set_policer_classify_intfc (vm, sw_if_index, ip4_table_index,
+                                       ip6_table_index, l2_table_index,
+                                       mp->is_add);
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO(VL_API_POLICER_CLASSIFY_SET_INTERFACE_REPLY);
+  REPLY_MACRO (VL_API_POLICER_CLASSIFY_SET_INTERFACE_REPLY);
 }
 
 static void
 send_policer_classify_details (u32 sw_if_index,
-                               u32 table_index,
-                               unix_shared_memory_queue_t *q,
-                               u32 context)
+                              u32 table_index,
+                              unix_shared_memory_queue_t * q, u32 context)
 {
-    vl_api_policer_classify_details_t * mp;
+  vl_api_policer_classify_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_POLICER_CLASSIFY_DETAILS);
-    mp->context = context;
-    mp->sw_if_index= htonl(sw_if_index);
-    mp->table_index= htonl(table_index);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_POLICER_CLASSIFY_DETAILS);
+  mp->context = context;
+  mp->sw_if_index = htonl (sw_if_index);
+  mp->table_index = htonl (table_index);
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_policer_classify_dump_t_handler
-(vl_api_policer_classify_dump_t *mp)
+vl_api_policer_classify_dump_t_handler (vl_api_policer_classify_dump_t * mp)
 {
-    unix_shared_memory_queue_t * q;
-    policer_classify_main_t * pcm = &policer_classify_main;
-    u32 * vec_tbl;
-    int i;
+  unix_shared_memory_queue_t *q;
+  policer_classify_main_t *pcm = &policer_classify_main;
+  u32 *vec_tbl;
+  int i;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
+  vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
 
-    if (vec_len(vec_tbl)) {
-        for (i = 0; i < vec_len (vec_tbl); i++) {
-            if (vec_elt(vec_tbl, i) == ~0)
-                continue;
+  if (vec_len (vec_tbl))
+    {
+      for (i = 0; i < vec_len (vec_tbl); i++)
+       {
+         if (vec_elt (vec_tbl, i) == ~0)
+           continue;
 
-            send_policer_classify_details(i, vec_elt(vec_tbl, i), q,
-                                          mp->context);
-        }
+         send_policer_classify_details (i, vec_elt (vec_tbl, i), q,
+                                        mp->context);
+       }
     }
 }
 
 static void
-vl_api_netmap_create_t_handler
-(vl_api_netmap_create_t *mp)
+vl_api_netmap_create_t_handler (vl_api_netmap_create_t * mp)
 {
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_netmap_create_reply_t *rmp;
-    int rv = 0;
-    u8 *if_name = NULL;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_netmap_create_reply_t *rmp;
+  int rv = 0;
+  u8 *if_name = NULL;
 
-    if_name = format(0, "%s", mp->netmap_if_name);
-    vec_add1 (if_name, 0);
+  if_name = format (0, "%s", mp->netmap_if_name);
+  vec_add1 (if_name, 0);
 
-    rv = netmap_create_if(vm, if_name, mp->use_random_hw_addr ? 0 : mp->hw_addr,
-                          mp->is_pipe, mp->is_master, 0);
+  rv =
+    netmap_create_if (vm, if_name, mp->use_random_hw_addr ? 0 : mp->hw_addr,
+                     mp->is_pipe, mp->is_master, 0);
 
-    vec_free(if_name);
+  vec_free (if_name);
 
-    REPLY_MACRO(VL_API_NETMAP_CREATE_REPLY);
+  REPLY_MACRO (VL_API_NETMAP_CREATE_REPLY);
 }
 
 static void
-vl_api_netmap_delete_t_handler
-(vl_api_netmap_delete_t *mp)
+vl_api_netmap_delete_t_handler (vl_api_netmap_delete_t * mp)
 {
-    vlib_main_t * vm = vlib_get_main();
-    vl_api_netmap_delete_reply_t *rmp;
-    int rv = 0;
-    u8 *if_name = NULL;
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_netmap_delete_reply_t *rmp;
+  int rv = 0;
+  u8 *if_name = NULL;
 
-    if_name = format(0, "%s", mp->netmap_if_name);
-    vec_add1 (if_name, 0);
+  if_name = format (0, "%s", mp->netmap_if_name);
+  vec_add1 (if_name, 0);
 
-    rv = netmap_delete_if(vm, if_name);
+  rv = netmap_delete_if (vm, if_name);
 
-    vec_free(if_name);
+  vec_free (if_name);
 
-    REPLY_MACRO(VL_API_NETMAP_DELETE_REPLY);
+  REPLY_MACRO (VL_API_NETMAP_DELETE_REPLY);
 }
 
-static void vl_api_mpls_gre_tunnel_details_t_handler (
-    vl_api_mpls_gre_tunnel_details_t * mp)
+static void
+vl_api_mpls_gre_tunnel_details_t_handler (vl_api_mpls_gre_tunnel_details_t *
+                                         mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_mpls_gre_tunnel_entry (vpe_api_main_t * am,
-                                    unix_shared_memory_queue_t *q,
-                                    mpls_gre_tunnel_t * gt,
-                                    u32 index,
-                                    u32 context)
+static void
+send_mpls_gre_tunnel_entry (vpe_api_main_t * am,
+                           unix_shared_memory_queue_t * q,
+                           mpls_gre_tunnel_t * gt, u32 index, u32 context)
 {
-    vl_api_mpls_gre_tunnel_details_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_MPLS_GRE_TUNNEL_DETAILS);
-    mp->context = context;
-
-    if (gt != NULL) {
-        mp->tunnel_index    = htonl(index);
-        mp->tunnel_src      = gt->tunnel_src.as_u32;
-        mp->tunnel_dst      = gt->tunnel_dst.as_u32;
-        mp->intfc_address   = gt->intfc_address.as_u32;
-        mp->mask_width      = htonl(gt->mask_width);
-        mp->inner_fib_index = htonl(gt->inner_fib_index);
-        mp->outer_fib_index = htonl(gt->outer_fib_index);
-        mp->encap_index     = htonl(gt->encap_index);
-        mp->hw_if_index     = htonl(gt->hw_if_index);
-        mp->l2_only         = htonl(gt->l2_only);
-    }
+  vl_api_mpls_gre_tunnel_details_t *mp;
 
-    mpls_main_t * mm = &mpls_main;
-    mpls_encap_t * e;
-    int i;
-    u32 len = 0;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_MPLS_GRE_TUNNEL_DETAILS);
+  mp->context = context;
 
-    e = pool_elt_at_index (mm->encaps, gt->encap_index);
-    len = vec_len (e->labels);
-    mp->nlabels = htonl(len);
-
-    for (i = 0; i < len; i++) {
-        mp->labels[i] = htonl(vnet_mpls_uc_get_label(
-                clib_host_to_net_u32(e->labels[i].label_exp_s_ttl)));
+  if (gt != NULL)
+    {
+      mp->tunnel_index = htonl (index);
+      mp->tunnel_src = gt->tunnel_src.as_u32;
+      mp->tunnel_dst = gt->tunnel_dst.as_u32;
+      mp->intfc_address = gt->intfc_address.as_u32;
+      mp->mask_width = htonl (gt->mask_width);
+      mp->inner_fib_index = htonl (gt->inner_fib_index);
+      mp->outer_fib_index = htonl (gt->outer_fib_index);
+      mp->encap_index = htonl (gt->encap_index);
+      mp->hw_if_index = htonl (gt->hw_if_index);
+      mp->l2_only = htonl (gt->l2_only);
+    }
+
+  mpls_main_t *mm = &mpls_main;
+  mpls_encap_t *e;
+  int i;
+  u32 len = 0;
+
+  e = pool_elt_at_index (mm->encaps, gt->encap_index);
+  len = vec_len (e->labels);
+  mp->nlabels = htonl (len);
+
+  for (i = 0; i < len; i++)
+    {
+      mp->labels[i] =
+       htonl (vnet_mpls_uc_get_label
+              (clib_host_to_net_u32 (e->labels[i].label_exp_s_ttl)));
     }
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_mpls_gre_tunnel_dump_t_handler (vl_api_mpls_gre_tunnel_dump_t *mp)
+vl_api_mpls_gre_tunnel_dump_t_handler (vl_api_mpls_gre_tunnel_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    vlib_main_t * vm = &vlib_global_main;
-    mpls_main_t * mm = &mpls_main;
-    mpls_gre_tunnel_t * gt;
-    u32 index = ntohl(mp->tunnel_index);
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  vlib_main_t *vm = &vlib_global_main;
+  mpls_main_t *mm = &mpls_main;
+  mpls_gre_tunnel_t *gt;
+  u32 index = ntohl (mp->tunnel_index);
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    if (pool_elts (mm->gre_tunnels)) {
-        if(mp->tunnel_index >= 0) {
-            vlib_cli_output (vm, "MPLS-GRE tunnel %u", index);
-            gt = pool_elt_at_index (mm->gre_tunnels, index);
-            send_mpls_gre_tunnel_entry (am, q, gt, gt - mm->gre_tunnels, mp->context);
-        } else {
-            vlib_cli_output (vm, "MPLS-GRE tunnels");
-            pool_foreach (gt, mm->gre_tunnels,
-            ({
-              send_mpls_gre_tunnel_entry (am, q, gt, gt - mm->gre_tunnels, mp->context);
-            }));
-        }
-    } else {
-        vlib_cli_output (vm, "No MPLS-GRE tunnels");
+  if (pool_elts (mm->gre_tunnels))
+    {
+      if (mp->tunnel_index >= 0)
+       {
+         vlib_cli_output (vm, "MPLS-GRE tunnel %u", index);
+         gt = pool_elt_at_index (mm->gre_tunnels, index);
+         send_mpls_gre_tunnel_entry (am, q, gt, gt - mm->gre_tunnels,
+                                     mp->context);
+       }
+      else
+       {
+         vlib_cli_output (vm, "MPLS-GRE tunnels");
+          /* *INDENT-OFF* */
+          pool_foreach (gt, mm->gre_tunnels,
+          ({
+            send_mpls_gre_tunnel_entry (am, q, gt, gt - mm->gre_tunnels,
+                                        mp->context);
+          }));
+          /* *INDENT-ON* */
+       }
+    }
+  else
+    {
+      vlib_cli_output (vm, "No MPLS-GRE tunnels");
     }
 }
 
-static void vl_api_mpls_eth_tunnel_details_t_handler (
-    vl_api_mpls_eth_tunnel_details_t * mp)
+static void
+vl_api_mpls_eth_tunnel_details_t_handler (vl_api_mpls_eth_tunnel_details_t *
+                                         mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_mpls_eth_tunnel_entry (vpe_api_main_t * am,
-                                    unix_shared_memory_queue_t *q,
-                                    mpls_eth_tunnel_t * et,
-                                    u32 index,
-                                    u32 context)
+static void
+send_mpls_eth_tunnel_entry (vpe_api_main_t * am,
+                           unix_shared_memory_queue_t * q,
+                           mpls_eth_tunnel_t * et, u32 index, u32 context)
 {
-    vl_api_mpls_eth_tunnel_details_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_MPLS_ETH_TUNNEL_DETAILS);
-    mp->context = context;
-
-    if (et != NULL) {
-        mp->tunnel_index    = htonl(index);
-        memcpy(mp->tunnel_dst_mac, et->tunnel_dst, 6);
-        mp->intfc_address   = et->intfc_address.as_u32;
-        mp->tx_sw_if_index  = htonl(et->tx_sw_if_index);
-        mp->inner_fib_index = htonl(et->inner_fib_index);
-        mp->mask_width      = htonl(et->mask_width);
-        mp->encap_index     = htonl(et->encap_index);
-        mp->hw_if_index     = htonl(et->hw_if_index);
-        mp->l2_only         = htonl(et->l2_only);
-    }
+  vl_api_mpls_eth_tunnel_details_t *mp;
 
-    mpls_main_t * mm = &mpls_main;
-    mpls_encap_t * e;
-    int i;
-    u32 len = 0;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_MPLS_ETH_TUNNEL_DETAILS);
+  mp->context = context;
 
-    e = pool_elt_at_index (mm->encaps, et->encap_index);
-    len = vec_len (e->labels);
-    mp->nlabels = htonl(len);
-
-    for (i = 0; i < len; i++) {
-        mp->labels[i] = htonl(vnet_mpls_uc_get_label(
-                clib_host_to_net_u32(e->labels[i].label_exp_s_ttl)));
+  if (et != NULL)
+    {
+      mp->tunnel_index = htonl (index);
+      memcpy (mp->tunnel_dst_mac, et->tunnel_dst, 6);
+      mp->intfc_address = et->intfc_address.as_u32;
+      mp->tx_sw_if_index = htonl (et->tx_sw_if_index);
+      mp->inner_fib_index = htonl (et->inner_fib_index);
+      mp->mask_width = htonl (et->mask_width);
+      mp->encap_index = htonl (et->encap_index);
+      mp->hw_if_index = htonl (et->hw_if_index);
+      mp->l2_only = htonl (et->l2_only);
+    }
+
+  mpls_main_t *mm = &mpls_main;
+  mpls_encap_t *e;
+  int i;
+  u32 len = 0;
+
+  e = pool_elt_at_index (mm->encaps, et->encap_index);
+  len = vec_len (e->labels);
+  mp->nlabels = htonl (len);
+
+  for (i = 0; i < len; i++)
+    {
+      mp->labels[i] =
+       htonl (vnet_mpls_uc_get_label
+              (clib_host_to_net_u32 (e->labels[i].label_exp_s_ttl)));
     }
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_mpls_eth_tunnel_dump_t_handler (vl_api_mpls_eth_tunnel_dump_t *mp)
+vl_api_mpls_eth_tunnel_dump_t_handler (vl_api_mpls_eth_tunnel_dump_t * mp)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    vlib_main_t * vm = &vlib_global_main;
-    mpls_main_t * mm = &mpls_main;
-    mpls_eth_tunnel_t * et;
-    u32 index = ntohl(mp->tunnel_index);
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  vlib_main_t *vm = &vlib_global_main;
+  mpls_main_t *mm = &mpls_main;
+  mpls_eth_tunnel_t *et;
+  u32 index = ntohl (mp->tunnel_index);
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    clib_warning("Received mpls_eth_tunnel_dump");
-    clib_warning("Received tunnel index: %u from client %u", index, mp->client_index);
+  clib_warning ("Received mpls_eth_tunnel_dump");
+  clib_warning ("Received tunnel index: %u from client %u", index,
+               mp->client_index);
 
-    if (pool_elts (mm->eth_tunnels)) {
-        if(mp->tunnel_index >= 0) {
-            vlib_cli_output (vm, "MPLS-Ethernet tunnel %u", index);
-            et = pool_elt_at_index (mm->eth_tunnels, index);
-            send_mpls_eth_tunnel_entry (am, q, et, et - mm->eth_tunnels, mp->context);
-        } else {
-            clib_warning("MPLS-Ethernet tunnels");
-            pool_foreach (et, mm->eth_tunnels,
-            ({
-                send_mpls_eth_tunnel_entry (am, q, et, et - mm->eth_tunnels, mp->context);
-            }));
-        }
-    } else {
-        clib_warning("No MPLS-Ethernet tunnels");
+  if (pool_elts (mm->eth_tunnels))
+    {
+      if (mp->tunnel_index >= 0)
+       {
+         vlib_cli_output (vm, "MPLS-Ethernet tunnel %u", index);
+         et = pool_elt_at_index (mm->eth_tunnels, index);
+         send_mpls_eth_tunnel_entry (am, q, et, et - mm->eth_tunnels,
+                                     mp->context);
+       }
+      else
+       {
+         clib_warning ("MPLS-Ethernet tunnels");
+          /* *INDENT-OFF* */
+          pool_foreach (et, mm->eth_tunnels,
+          ({
+            send_mpls_eth_tunnel_entry (am, q, et, et - mm->eth_tunnels,
+                                        mp->context);
+          }));
+          /* *INDENT-ON* */
+       }
+    }
+  else
+    {
+      clib_warning ("No MPLS-Ethernet tunnels");
     }
 }
 
-static void vl_api_mpls_fib_encap_details_t_handler (
-    vl_api_mpls_fib_encap_details_t * mp)
+static void
+vl_api_mpls_fib_encap_details_t_handler (vl_api_mpls_fib_encap_details_t * mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_mpls_fib_encap_details (vpe_api_main_t * am,
-                                    unix_shared_memory_queue_t *q,
-                                    show_mpls_fib_t *s,
-                                    u32 context)
+static void
+send_mpls_fib_encap_details (vpe_api_main_t * am,
+                            unix_shared_memory_queue_t * q,
+                            show_mpls_fib_t * s, u32 context)
 {
-    vl_api_mpls_fib_encap_details_t * mp;
+  vl_api_mpls_fib_encap_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_MPLS_FIB_ENCAP_DETAILS);
-    mp->context = context;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_MPLS_FIB_ENCAP_DETAILS);
+  mp->context = context;
 
-    mp->fib_index   = htonl(s->fib_index);
-    mp->entry_index = htonl(s->entry_index);
-    mp->dest        = s->dest;
-    mp->s_bit       = htonl(s->s_bit);
+  mp->fib_index = htonl (s->fib_index);
+  mp->entry_index = htonl (s->entry_index);
+  mp->dest = s->dest;
+  mp->s_bit = htonl (s->s_bit);
 
-    mpls_main_t * mm = &mpls_main;
-    mpls_encap_t * e;
-    int i;
-    u32 len = 0;
+  mpls_main_t *mm = &mpls_main;
+  mpls_encap_t *e;
+  int i;
+  u32 len = 0;
 
-    e = pool_elt_at_index (mm->encaps, s->entry_index);
-    len = vec_len (e->labels);
-    mp->nlabels = htonl(len);
+  e = pool_elt_at_index (mm->encaps, s->entry_index);
+  len = vec_len (e->labels);
+  mp->nlabels = htonl (len);
 
-    for (i = 0; i < len; i++) {
-        mp->labels[i] = htonl(vnet_mpls_uc_get_label(
-                clib_host_to_net_u32(e->labels[i].label_exp_s_ttl)));
+  for (i = 0; i < len; i++)
+    {
+      mp->labels[i] =
+       htonl (vnet_mpls_uc_get_label
+              (clib_host_to_net_u32 (e->labels[i].label_exp_s_ttl)));
     }
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_mpls_fib_encap_dump_t_handler (vl_api_mpls_fib_encap_dump_t *mp)
-{
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    vlib_main_t * vm = &vlib_global_main;
-    u64 key;
-    u32 value;
-    show_mpls_fib_t *records = 0;
-    show_mpls_fib_t *s;
-    mpls_main_t * mm = &mpls_main;
-    ip4_main_t * im = &ip4_main;
-    ip4_fib_t * rx_fib;
-
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+vl_api_mpls_fib_encap_dump_t_handler (vl_api_mpls_fib_encap_dump_t * mp)
+{
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  vlib_main_t *vm = &vlib_global_main;
+  u64 key;
+  u32 value;
+  show_mpls_fib_t *records = 0;
+  show_mpls_fib_t *s;
+  mpls_main_t *mm = &mpls_main;
+  ip4_main_t *im = &ip4_main;
+  ip4_fib_t *rx_fib;
 
-    hash_foreach (key, value, mm->mpls_encap_by_fib_and_dest,
-    ({
-        vec_add2 (records, s, 1);
-        s->fib_index = (u32)(key>>32);
-        s->dest = (u32)(key & 0xFFFFFFFF);
-        s->entry_index = (u32) value;
-    }));
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    if (0 == vec_len(records)) {
-        vlib_cli_output(vm, "MPLS encap table empty");
-        goto out;
-    }
+  /* *INDENT-OFF* */
+  hash_foreach (key, value, mm->mpls_encap_by_fib_and_dest,
+  ({
+    vec_add2 (records, s, 1);
+    s->fib_index = (u32)(key>>32);
+    s->dest = (u32)(key & 0xFFFFFFFF);
+    s->entry_index = (u32) value;
+  }));
+  /* *INDENT-ON* */
 
-    /* sort output by dst address within fib */
-    vec_sort_with_function(records, mpls_dest_cmp);
-    vec_sort_with_function(records, mpls_fib_index_cmp);
-    vlib_cli_output(vm, "MPLS encap table");
-    vlib_cli_output(vm, "%=6s%=16s%=16s", "Table", "Dest address", "Labels");
-    vec_foreach (s, records)
+  if (0 == vec_len (records))
     {
-        rx_fib = vec_elt_at_index(im->fibs, s->fib_index);
-        vlib_cli_output(vm, "%=6d%=16U%=16U", rx_fib->table_id,
-                format_ip4_address, &s->dest, format_mpls_encap_index, mm,
-                s->entry_index);
-        send_mpls_fib_encap_details (am, q, s, mp->context);
+      vlib_cli_output (vm, "MPLS encap table empty");
+      goto out;
     }
 
+  /* sort output by dst address within fib */
+  vec_sort_with_function (records, mpls_dest_cmp);
+  vec_sort_with_function (records, mpls_fib_index_cmp);
+  vlib_cli_output (vm, "MPLS encap table");
+  vlib_cli_output (vm, "%=6s%=16s%=16s", "Table", "Dest address", "Labels");
+  vec_foreach (s, records)
+  {
+    rx_fib = vec_elt_at_index (im->fibs, s->fib_index);
+    vlib_cli_output (vm, "%=6d%=16U%=16U", rx_fib->table_id,
+                    format_ip4_address, &s->dest, format_mpls_encap_index,
+                    mm, s->entry_index);
+    send_mpls_fib_encap_details (am, q, s, mp->context);
+  }
+
 out:
-    vec_free(records);
+  vec_free (records);
 }
 
-static void vl_api_mpls_fib_decap_details_t_handler (
-    vl_api_mpls_fib_decap_details_t * mp)
+static void
+vl_api_mpls_fib_decap_details_t_handler (vl_api_mpls_fib_decap_details_t * mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_mpls_fib_decap_details (vpe_api_main_t * am,
-                                    unix_shared_memory_queue_t *q,
-                                    show_mpls_fib_t *s,
-                                    u32 rx_table_id,
-                                    u32 tx_table_id,
-                                    char *swif_tag,
-                                    u32 context)
+static void
+send_mpls_fib_decap_details (vpe_api_main_t * am,
+                            unix_shared_memory_queue_t * q,
+                            show_mpls_fib_t * s,
+                            u32 rx_table_id,
+                            u32 tx_table_id, char *swif_tag, u32 context)
 {
-    vl_api_mpls_fib_decap_details_t * mp;
+  vl_api_mpls_fib_decap_details_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset (mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs(VL_API_MPLS_FIB_DECAP_DETAILS);
-    mp->context = context;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_MPLS_FIB_DECAP_DETAILS);
+  mp->context = context;
 
-    mp->fib_index   = htonl(s->fib_index);
-    mp->entry_index = htonl(s->entry_index);
-    mp->dest        = s->dest;
-    mp->s_bit       = htonl(s->s_bit);
-    mp->label       = htonl(s->label);
-    mp->rx_table_id = htonl(rx_table_id);
-    mp->tx_table_id = htonl(tx_table_id);
-    strncpy ((char *) mp->swif_tag,
-             (char *) swif_tag, ARRAY_LEN(mp->swif_tag)-1);
+  mp->fib_index = htonl (s->fib_index);
+  mp->entry_index = htonl (s->entry_index);
+  mp->dest = s->dest;
+  mp->s_bit = htonl (s->s_bit);
+  mp->label = htonl (s->label);
+  mp->rx_table_id = htonl (rx_table_id);
+  mp->tx_table_id = htonl (tx_table_id);
+  strncpy ((char *) mp->swif_tag,
+          (char *) swif_tag, ARRAY_LEN (mp->swif_tag) - 1);
 
-    vl_msg_api_send_shmem (q, (u8 *)&mp);
+  vl_msg_api_send_shmem (q, (u8 *) & mp);
 }
 
 static void
-vl_api_mpls_fib_decap_dump_t_handler (vl_api_mpls_fib_decap_dump_t *mp)
-{
-    vpe_api_main_t * am = &vpe_api_main;
-    unix_shared_memory_queue_t * q;
-    vlib_main_t * vm = &vlib_global_main;
-    u64 key;
-    u32 value;
-    show_mpls_fib_t *records = 0;
-    show_mpls_fib_t *s;
-    mpls_main_t * mm = &mpls_main;
-    ip4_main_t * im = &ip4_main;
-    ip4_fib_t * rx_fib;
-    ip4_fib_t *tx_fib;
-    u32 tx_table_id;
-    char *swif_tag;
+vl_api_mpls_fib_decap_dump_t_handler (vl_api_mpls_fib_decap_dump_t * mp)
+{
+  vpe_api_main_t *am = &vpe_api_main;
+  unix_shared_memory_queue_t *q;
+  vlib_main_t *vm = &vlib_global_main;
+  u64 key;
+  u32 value;
+  show_mpls_fib_t *records = 0;
+  show_mpls_fib_t *s;
+  mpls_main_t *mm = &mpls_main;
+  ip4_main_t *im = &ip4_main;
+  ip4_fib_t *rx_fib;
+  ip4_fib_t *tx_fib;
+  u32 tx_table_id;
+  char *swif_tag;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    hash_foreach (key, value, mm->mpls_decap_by_rx_fib_and_label,
-    ({
-        vec_add2 (records, s, 1);
-        s->fib_index = (u32)(key>>32);
-        s->entry_index = (u32) value;
-        s->label = ((u32) key)>>12;
-        s->s_bit = (key & (1<<8)) != 0;
-    }));
+  /* *INDENT-OFF* */
+  hash_foreach (key, value, mm->mpls_decap_by_rx_fib_and_label,
+  ({
+    vec_add2 (records, s, 1);
+    s->fib_index = (u32)(key>>32);
+    s->entry_index = (u32) value;
+    s->label = ((u32) key)>>12;
+    s->s_bit = (key & (1<<8)) != 0;
+  }));
+  /* *INDENT-ON* */
 
-    if (!vec_len(records)) {
-        vlib_cli_output(vm, "MPLS decap table empty");
-        goto out;
+  if (!vec_len (records))
+    {
+      vlib_cli_output (vm, "MPLS decap table empty");
+      goto out;
     }
 
-    vec_sort_with_function(records, mpls_label_cmp);
-    vlib_cli_output(vm, "MPLS decap table");
-    vlib_cli_output(vm, "%=10s%=15s%=6s%=6s", "RX Table", "TX Table/Intfc",
-            "Label", "S-bit");
-    vec_foreach (s, records)
-    {
-        mpls_decap_t * d;
-        d = pool_elt_at_index(mm->decaps, s->entry_index);
-        if (d->next_index == MPLS_INPUT_NEXT_IP4_INPUT) {
-            tx_fib = vec_elt_at_index(im->fibs, d->tx_fib_index);
-            tx_table_id = tx_fib->table_id;
-            swif_tag = "     ";
-        } else {
-            tx_table_id = d->tx_fib_index;
-            swif_tag = "(i)  ";
-        }
-        rx_fib = vec_elt_at_index(im->fibs, s->fib_index);
+  vec_sort_with_function (records, mpls_label_cmp);
+  vlib_cli_output (vm, "MPLS decap table");
+  vlib_cli_output (vm, "%=10s%=15s%=6s%=6s", "RX Table", "TX Table/Intfc",
+                  "Label", "S-bit");
+  vec_foreach (s, records)
+  {
+    mpls_decap_t *d;
+    d = pool_elt_at_index (mm->decaps, s->entry_index);
+    if (d->next_index == MPLS_INPUT_NEXT_IP4_INPUT)
+      {
+       tx_fib = vec_elt_at_index (im->fibs, d->tx_fib_index);
+       tx_table_id = tx_fib->table_id;
+       swif_tag = "     ";
+      }
+    else
+      {
+       tx_table_id = d->tx_fib_index;
+       swif_tag = "(i)  ";
+      }
+    rx_fib = vec_elt_at_index (im->fibs, s->fib_index);
 
-        vlib_cli_output(vm, "%=10d%=10d%=5s%=6d%=6d", rx_fib->table_id,
-                tx_table_id, swif_tag, s->label, s->s_bit);
+    vlib_cli_output (vm, "%=10d%=10d%=5s%=6d%=6d", rx_fib->table_id,
+                    tx_table_id, swif_tag, s->label, s->s_bit);
 
-        send_mpls_fib_decap_details (am, q, s, rx_fib->table_id,
-                tx_table_id, swif_tag, mp->context);
-    }
+    send_mpls_fib_decap_details (am, q, s, rx_fib->table_id,
+                                tx_table_id, swif_tag, mp->context);
+  }
 
 out:
-    vec_free(records);
+  vec_free (records);
 }
 
-static void vl_api_classify_table_ids_t_handler (vl_api_classify_table_ids_t *mp)
+static void
+vl_api_classify_table_ids_t_handler (vl_api_classify_table_ids_t * mp)
 {
-    unix_shared_memory_queue_t * q;
+  unix_shared_memory_queue_t *q;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    vnet_classify_table_t * t;
-    u32 * table_ids = 0;
-    u32 count;
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  vnet_classify_table_t *t;
+  u32 *table_ids = 0;
+  u32 count;
 
-    pool_foreach (t, cm->tables,
-    ({
-        vec_add1 (table_ids, ntohl(t - cm->tables));
-    }));
-    count = vec_len(table_ids);
+  /* *INDENT-OFF* */
+  pool_foreach (t, cm->tables,
+  ({
+    vec_add1 (table_ids, ntohl(t - cm->tables));
+  }));
+  /* *INDENT-ON* */
+  count = vec_len (table_ids);
 
-    vl_api_classify_table_ids_reply_t *rmp;
-    rmp = vl_msg_api_alloc_as_if_client(sizeof (*rmp) + count * sizeof(u32));
-    rmp->_vl_msg_id = ntohs (VL_API_CLASSIFY_TABLE_IDS_REPLY);
-    rmp->context = mp->context;
-    rmp->count = ntohl(count);
-    clib_memcpy(rmp->ids, table_ids, count * sizeof(u32));
-    rmp->retval = 0;
+  vl_api_classify_table_ids_reply_t *rmp;
+  rmp = vl_msg_api_alloc_as_if_client (sizeof (*rmp) + count * sizeof (u32));
+  rmp->_vl_msg_id = ntohs (VL_API_CLASSIFY_TABLE_IDS_REPLY);
+  rmp->context = mp->context;
+  rmp->count = ntohl (count);
+  clib_memcpy (rmp->ids, table_ids, count * sizeof (u32));
+  rmp->retval = 0;
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 
-    vec_free (table_ids);
+  vec_free (table_ids);
 }
 
-static void vl_api_classify_table_by_interface_t_handler (vl_api_classify_table_by_interface_t *mp)
+static void
+  vl_api_classify_table_by_interface_t_handler
+  (vl_api_classify_table_by_interface_t * mp)
 {
-    vl_api_classify_table_by_interface_reply_t *rmp;
-    int rv = 0;
+  vl_api_classify_table_by_interface_reply_t *rmp;
+  int rv = 0;
 
-    u32 sw_if_index = ntohl(mp->sw_if_index);
-    u32 * acl = 0;
+  u32 sw_if_index = ntohl (mp->sw_if_index);
+  u32 *acl = 0;
 
-    vec_validate (acl, INPUT_ACL_N_TABLES - 1);
-    vec_set (acl, ~0);
+  vec_validate (acl, INPUT_ACL_N_TABLES - 1);
+  vec_set (acl, ~0);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    input_acl_main_t * am = &input_acl_main;
+  input_acl_main_t *am = &input_acl_main;
 
-    int if_idx;
-    u32 type;
+  int if_idx;
+  u32 type;
 
-    for (type = 0; type < INPUT_ACL_N_TABLES; type++)
+  for (type = 0; type < INPUT_ACL_N_TABLES; type++)
     {
-       u32 * vec_tbl = am->classify_table_index_by_sw_if_index[type];
-               if (vec_len(vec_tbl)) {
-                       for (if_idx = 0; if_idx < vec_len (vec_tbl); if_idx++)
-                       {
-                           if (vec_elt(vec_tbl, if_idx) == ~0 || sw_if_index != if_idx) {
-                                   continue;
-                           }
-                           acl[type] = vec_elt(vec_tbl, if_idx);
-                       }
+      u32 *vec_tbl = am->classify_table_index_by_sw_if_index[type];
+      if (vec_len (vec_tbl))
+       {
+         for (if_idx = 0; if_idx < vec_len (vec_tbl); if_idx++)
+           {
+             if (vec_elt (vec_tbl, if_idx) == ~0 || sw_if_index != if_idx)
+               {
+                 continue;
                }
+             acl[type] = vec_elt (vec_tbl, if_idx);
+           }
+       }
     }
 
-    BAD_SW_IF_INDEX_LABEL;
+  BAD_SW_IF_INDEX_LABEL;
 
-    REPLY_MACRO2(VL_API_CLASSIFY_TABLE_BY_INTERFACE_REPLY,
-    ({
-       rmp->sw_if_index = ntohl(sw_if_index);
-       rmp->l2_table_id = ntohl(acl[INPUT_ACL_TABLE_L2]);
-       rmp->ip4_table_id = ntohl(acl[INPUT_ACL_TABLE_IP4]);
-       rmp->ip6_table_id = ntohl(acl[INPUT_ACL_TABLE_IP6]);
-    }));
-    vec_free(acl);
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_CLASSIFY_TABLE_BY_INTERFACE_REPLY,
+  ({
+    rmp->sw_if_index = ntohl(sw_if_index);
+    rmp->l2_table_id = ntohl(acl[INPUT_ACL_TABLE_L2]);
+    rmp->ip4_table_id = ntohl(acl[INPUT_ACL_TABLE_IP4]);
+    rmp->ip6_table_id = ntohl(acl[INPUT_ACL_TABLE_IP6]);
+  }));
+  /* *INDENT-ON* */
+  vec_free (acl);
 }
 
-static void vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t *mp)
+static void
+vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t * mp)
 {
-    unix_shared_memory_queue_t * q;
+  unix_shared_memory_queue_t *q;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
-    if (q == 0)
-        return;
-
-    vl_api_classify_table_info_reply_t *rmp = 0;
+  q = vl_api_client_index_to_input_queue (mp->client_index);
+  if (q == 0)
+    return;
 
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    u32 table_id = ntohl(mp->table_id);
-    vnet_classify_table_t * t;
+  vl_api_classify_table_info_reply_t *rmp = 0;
 
-    pool_foreach (t, cm->tables,
-    ({
-        if (table_id == t - cm->tables) {
-            rmp = vl_msg_api_alloc_as_if_client(sizeof (*rmp) + t->match_n_vectors * sizeof (u32x4));
-            rmp->_vl_msg_id = ntohs (VL_API_CLASSIFY_TABLE_INFO_REPLY);
-            rmp->context = mp->context;
-            rmp->table_id = ntohl(table_id);
-            rmp->nbuckets = ntohl(t->nbuckets);
-            rmp->match_n_vectors = ntohl(t->match_n_vectors);
-            rmp->skip_n_vectors = ntohl(t->skip_n_vectors);
-            rmp->active_sessions = ntohl(t->active_elements);
-            rmp->next_table_index = ntohl(t->next_table_index);
-            rmp->miss_next_index = ntohl(t->miss_next_index);
-            rmp->mask_length = ntohl(t->match_n_vectors * sizeof (u32x4));
-            clib_memcpy(rmp->mask, t->mask, t->match_n_vectors * sizeof(u32x4));
-            rmp->retval = 0;
-            break;
-        }
-    }));
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  u32 table_id = ntohl (mp->table_id);
+  vnet_classify_table_t *t;
 
-    if (rmp == 0) {
-        rmp = vl_msg_api_alloc (sizeof (*rmp));
-        rmp->_vl_msg_id = ntohs((VL_API_CLASSIFY_TABLE_INFO_REPLY));
+  /* *INDENT-OFF* */
+  pool_foreach (t, cm->tables,
+  ({
+    if (table_id == t - cm->tables)
+      {
+        rmp = vl_msg_api_alloc_as_if_client
+          (sizeof (*rmp) + t->match_n_vectors * sizeof (u32x4));
+        rmp->_vl_msg_id = ntohs (VL_API_CLASSIFY_TABLE_INFO_REPLY);
         rmp->context = mp->context;
-        rmp->retval = ntohl(VNET_API_ERROR_CLASSIFY_TABLE_NOT_FOUND);
+        rmp->table_id = ntohl(table_id);
+        rmp->nbuckets = ntohl(t->nbuckets);
+        rmp->match_n_vectors = ntohl(t->match_n_vectors);
+        rmp->skip_n_vectors = ntohl(t->skip_n_vectors);
+        rmp->active_sessions = ntohl(t->active_elements);
+        rmp->next_table_index = ntohl(t->next_table_index);
+        rmp->miss_next_index = ntohl(t->miss_next_index);
+        rmp->mask_length = ntohl(t->match_n_vectors * sizeof (u32x4));
+        clib_memcpy(rmp->mask, t->mask, t->match_n_vectors * sizeof(u32x4));
+        rmp->retval = 0;
+        break;
+      }
+  }));
+  /* *INDENT-ON* */
+
+  if (rmp == 0)
+    {
+      rmp = vl_msg_api_alloc (sizeof (*rmp));
+      rmp->_vl_msg_id = ntohs ((VL_API_CLASSIFY_TABLE_INFO_REPLY));
+      rmp->context = mp->context;
+      rmp->retval = ntohl (VNET_API_ERROR_CLASSIFY_TABLE_NOT_FOUND);
     }
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-static void vl_api_classify_session_details_t_handler (vl_api_classify_session_details_t * mp)
+static void
+vl_api_classify_session_details_t_handler (vl_api_classify_session_details_t *
+                                          mp)
 {
-    clib_warning ("BUG");
+  clib_warning ("BUG");
 }
 
-static void send_classify_session_details (unix_shared_memory_queue_t * q,
-                                           u32 table_id,
-                                           u32 match_length,
-                                           vnet_classify_entry_t * e,
-                                           u32 context)
+static void
+send_classify_session_details (unix_shared_memory_queue_t * q,
+                              u32 table_id,
+                              u32 match_length,
+                              vnet_classify_entry_t * e, u32 context)
 {
-    vl_api_classify_session_details_t *rmp;
+  vl_api_classify_session_details_t *rmp;
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_CLASSIFY_SESSION_DETAILS);
-    rmp->context = context;
-    rmp->table_id = ntohl(table_id);
-    rmp->hit_next_index = ntohl(e->next_index);
-    rmp->advance = ntohl(e->advance);
-    rmp->opaque_index = ntohl(e->opaque_index);
-    rmp->match_length = ntohl(match_length);
-    clib_memcpy(rmp->match, e->key, match_length);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_CLASSIFY_SESSION_DETAILS);
+  rmp->context = context;
+  rmp->table_id = ntohl (table_id);
+  rmp->hit_next_index = ntohl (e->next_index);
+  rmp->advance = ntohl (e->advance);
+  rmp->opaque_index = ntohl (e->opaque_index);
+  rmp->match_length = ntohl (match_length);
+  clib_memcpy (rmp->match, e->key, match_length);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-static void vl_api_classify_session_dump_t_handler (vl_api_classify_session_dump_t *mp)
+static void
+vl_api_classify_session_dump_t_handler (vl_api_classify_session_dump_t * mp)
 {
-    vnet_classify_main_t * cm = &vnet_classify_main;
-    unix_shared_memory_queue_t * q;
+  vnet_classify_main_t *cm = &vnet_classify_main;
+  unix_shared_memory_queue_t *q;
 
-    u32 table_id = ntohl(mp->table_id);
-    vnet_classify_table_t * t;
+  u32 table_id = ntohl (mp->table_id);
+  vnet_classify_table_t *t;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
+  q = vl_api_client_index_to_input_queue (mp->client_index);
 
-    pool_foreach (t, cm->tables,
-    ({
-        if (table_id == t - cm->tables) {
-            vnet_classify_bucket_t * b;
-            vnet_classify_entry_t * v, * save_v;
-            int i, j, k;
-
-            for (i = 0; i < t->nbuckets; i++)
-            {
-                b = &t->buckets [i];
-                if (b->offset == 0)
-                   continue;
-
-                save_v = vnet_classify_get_entry (t, b->offset);
-                for (j = 0; j < (1<<b->log2_pages); j++)
-                {
-                       for (k = 0; k < t->entries_per_page; k++)
-                       {
-                           v = vnet_classify_entry_at_index (t, save_v, j*t->entries_per_page + k);
-                           if (vnet_classify_entry_is_free (v))
-                               continue;
-
-                               send_classify_session_details(q, table_id,
-                                               t->match_n_vectors * sizeof (u32x4), v, mp->context);
-                       }
-                }
-            }
-            break;
-        }
-    }));
+  /* *INDENT-OFF* */
+  pool_foreach (t, cm->tables,
+  ({
+    if (table_id == t - cm->tables)
+      {
+        vnet_classify_bucket_t * b;
+        vnet_classify_entry_t * v, * save_v;
+        int i, j, k;
+
+        for (i = 0; i < t->nbuckets; i++)
+          {
+            b = &t->buckets [i];
+            if (b->offset == 0)
+              continue;
+
+            save_v = vnet_classify_get_entry (t, b->offset);
+            for (j = 0; j < (1<<b->log2_pages); j++)
+              {
+                for (k = 0; k < t->entries_per_page; k++)
+                  {
+                    v = vnet_classify_entry_at_index
+                      (t, save_v, j*t->entries_per_page + k);
+                    if (vnet_classify_entry_is_free (v))
+                      continue;
+
+                    send_classify_session_details
+                      (q, table_id, t->match_n_vectors * sizeof (u32x4),
+                       v, mp->context);
+                  }
+              }
+          }
+        break;
+      }
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_ipfix_enable_t_handler (vl_api_ipfix_enable_t *mp)
-{
-    vlib_main_t *vm = vlib_get_main();
-       flow_report_main_t * frm = &flow_report_main;
-       vl_api_ipfix_enable_reply_t *rmp;
-       ip4_address_t collector, src;
-       u16 collector_port = UDP_DST_PORT_ipfix;
-    u32 path_mtu;
-    u32 template_interval;
-       u32 fib_id;
-       u32 fib_index = ~0;
-       int rv = 0;
+static void
+vl_api_ipfix_enable_t_handler (vl_api_ipfix_enable_t * mp)
+{
+  vlib_main_t *vm = vlib_get_main ();
+  flow_report_main_t *frm = &flow_report_main;
+  vl_api_ipfix_enable_reply_t *rmp;
+  ip4_address_t collector, src;
+  u16 collector_port = UDP_DST_PORT_ipfix;
+  u32 path_mtu;
+  u32 template_interval;
+  u32 fib_id;
+  u32 fib_index = ~0;
+  int rv = 0;
 
-    memcpy(collector.data, mp->collector_address, sizeof(collector.data));
-    collector_port = ntohs(mp->collector_port);
-    if (collector_port == (u16)~0)
-        collector_port = UDP_DST_PORT_ipfix;
-    memcpy(src.data, mp->src_address, sizeof(src.data));
-    fib_id = ntohl(mp->vrf_id);
+  memcpy (collector.data, mp->collector_address, sizeof (collector.data));
+  collector_port = ntohs (mp->collector_port);
+  if (collector_port == (u16) ~ 0)
+    collector_port = UDP_DST_PORT_ipfix;
+  memcpy (src.data, mp->src_address, sizeof (src.data));
+  fib_id = ntohl (mp->vrf_id);
 
-    ip4_main_t * im = &ip4_main;
-    uword * p = hash_get (im->fib_index_by_table_id, fib_id);
-    if (! p) {
-        rv = VNET_API_ERROR_NO_SUCH_FIB;
-        goto out;
+  ip4_main_t *im = &ip4_main;
+  uword *p = hash_get (im->fib_index_by_table_id, fib_id);
+  if (!p)
+    {
+      rv = VNET_API_ERROR_NO_SUCH_FIB;
+      goto out;
     }
-    fib_index = p[0];
+  fib_index = p[0];
 
-    path_mtu = ntohl(mp->path_mtu);
-    if (path_mtu == ~0)
-        path_mtu = 512; // RFC 7011 section 10.3.3.
-    template_interval = ntohl(mp->template_interval);
-    if (template_interval == ~0)
-        template_interval = 20;
+  path_mtu = ntohl (mp->path_mtu);
+  if (path_mtu == ~0)
+    path_mtu = 512;            // RFC 7011 section 10.3.3.
+  template_interval = ntohl (mp->template_interval);
+  if (template_interval == ~0)
+    template_interval = 20;
 
-    if (collector.as_u32 == 0) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
+  if (collector.as_u32 == 0)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto out;
     }
 
-    if (src.as_u32 == 0) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
+  if (src.as_u32 == 0)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto out;
     }
 
-    if (path_mtu > 1450 /* vpp does not support fragmentation */) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
+  if (path_mtu > 1450 /* vpp does not support fragmentation */ )
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto out;
     }
 
-    if (path_mtu < 68) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto out;
+  if (path_mtu < 68)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto out;
     }
 
-    /* Reset report streams if we are reconfiguring IP addresses */
-    if (frm->ipfix_collector.as_u32 != collector.as_u32 ||
-        frm->src_address.as_u32 != src.as_u32 ||
-        frm->collector_port != collector_port)
-            vnet_flow_reports_reset(frm);
+  /* Reset report streams if we are reconfiguring IP addresses */
+  if (frm->ipfix_collector.as_u32 != collector.as_u32 ||
+      frm->src_address.as_u32 != src.as_u32 ||
+      frm->collector_port != collector_port)
+    vnet_flow_reports_reset (frm);
 
-    frm->ipfix_collector.as_u32 = collector.as_u32;
-    frm->collector_port = collector_port;
-    frm->src_address.as_u32 = src.as_u32;
-    frm->fib_index = fib_index;
-    frm->path_mtu = path_mtu;
-    frm->template_interval = template_interval;
+  frm->ipfix_collector.as_u32 = collector.as_u32;
+  frm->collector_port = collector_port;
+  frm->src_address.as_u32 = src.as_u32;
+  frm->fib_index = fib_index;
+  frm->path_mtu = path_mtu;
+  frm->template_interval = template_interval;
 
-    /* Turn on the flow reporting process */
-    vlib_process_signal_event (vm, flow_report_process_node.index,
-                               1, 0);
+  /* Turn on the flow reporting process */
+  vlib_process_signal_event (vm, flow_report_process_node.index, 1, 0);
 
 out:
-    REPLY_MACRO(VL_API_IPFIX_ENABLE_REPLY);
+  REPLY_MACRO (VL_API_IPFIX_ENABLE_REPLY);
 }
 
-static void vl_api_ipfix_dump_t_handler (vl_api_ipfix_dump_t *mp)
+static void
+vl_api_ipfix_dump_t_handler (vl_api_ipfix_dump_t * mp)
 {
-    flow_report_main_t * frm = &flow_report_main;
-    unix_shared_memory_queue_t * q;
-    vl_api_ipfix_details_t *rmp;
+  flow_report_main_t *frm = &flow_report_main;
+  unix_shared_memory_queue_t *q;
+  vl_api_ipfix_details_t *rmp;
 
-    q = vl_api_client_index_to_input_queue (mp->client_index);
+  q = vl_api_client_index_to_input_queue (mp->client_index);
 
-    rmp = vl_msg_api_alloc (sizeof (*rmp));
-    memset (rmp, 0, sizeof (*rmp));
-    rmp->_vl_msg_id = ntohs(VL_API_IPFIX_DETAILS);
-    rmp->context = mp->context;
-    memcpy(rmp->collector_address, frm->ipfix_collector.data,
-           sizeof(frm->ipfix_collector.data));
-    rmp->collector_port = htons(frm->collector_port);
-    memcpy(rmp->src_address, frm->src_address.data,
-           sizeof(frm->src_address.data));
-    rmp->fib_index = htonl(frm->fib_index);
-    rmp->path_mtu = htonl(frm->path_mtu);
-    rmp->template_interval = htonl(frm->template_interval);
+  rmp = vl_msg_api_alloc (sizeof (*rmp));
+  memset (rmp, 0, sizeof (*rmp));
+  rmp->_vl_msg_id = ntohs (VL_API_IPFIX_DETAILS);
+  rmp->context = mp->context;
+  memcpy (rmp->collector_address, frm->ipfix_collector.data,
+         sizeof (frm->ipfix_collector.data));
+  rmp->collector_port = htons (frm->collector_port);
+  memcpy (rmp->src_address, frm->src_address.data,
+         sizeof (frm->src_address.data));
+  rmp->fib_index = htonl (frm->fib_index);
+  rmp->path_mtu = htonl (frm->path_mtu);
+  rmp->template_interval = htonl (frm->template_interval);
 
-    vl_msg_api_send_shmem (q, (u8 *)&rmp);
+  vl_msg_api_send_shmem (q, (u8 *) & rmp);
 }
 
-static void vl_api_pg_create_interface_t_handler (vl_api_pg_create_interface_t *mp)
+static void
+vl_api_pg_create_interface_t_handler (vl_api_pg_create_interface_t * mp)
 {
-    vl_api_pg_create_interface_reply_t *rmp;
-    int rv = 0;
+  vl_api_pg_create_interface_reply_t *rmp;
+  int rv = 0;
 
-    pg_main_t * pg = &pg_main;
-    u32 sw_if_index = pg_interface_add_or_get (pg, ntohl(mp->interface_id));
+  pg_main_t *pg = &pg_main;
+  u32 sw_if_index = pg_interface_add_or_get (pg, ntohl (mp->interface_id));
 
-    REPLY_MACRO2(VL_API_PG_CREATE_INTERFACE_REPLY,
-    ({
-       rmp->sw_if_index = ntohl(sw_if_index);
-    }));
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_PG_CREATE_INTERFACE_REPLY,
+  ({
+    rmp->sw_if_index = ntohl(sw_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
-static void vl_api_pg_capture_t_handler (vl_api_pg_capture_t *mp)
+static void
+vl_api_pg_capture_t_handler (vl_api_pg_capture_t * mp)
 {
-    vl_api_pg_capture_reply_t *rmp;
-    int rv = 0;
-
-    vnet_main_t * vnm = vnet_get_main();
-    vnet_interface_main_t * im = &vnm->interface_main;
-    vnet_hw_interface_t * hi = 0;
-
-    u8 * intf_name = format (0, "pg%d", ntohl(mp->interface_id), 0);
-    u32 hw_if_index = ~0;
-    uword * p = hash_get_mem (im->hw_interface_by_name, intf_name);
-    if (p)
-       hw_if_index = *p;
-    vec_free (intf_name);
-
-    if (hw_if_index != ~0) {
-        pg_capture_args_t _a, *a=&_a;
+  vl_api_pg_capture_reply_t *rmp;
+  int rv = 0;
 
-        u32 len = ntohl(mp->pcap_name_length);
-        u8 * pcap_file_name = vec_new(u8, len);
-        clib_memcpy(pcap_file_name, mp->pcap_file_name, len);
+  vnet_main_t *vnm = vnet_get_main ();
+  vnet_interface_main_t *im = &vnm->interface_main;
+  vnet_hw_interface_t *hi = 0;
 
-        hi = vnet_get_sup_hw_interface (vnm, hw_if_index);
-        a->hw_if_index = hw_if_index;
-        a->dev_instance = hi->dev_instance;
-        a->is_enabled = mp->is_enabled;
-        a->pcap_file_name = pcap_file_name;
-        a->count = ntohl(mp->count);
+  u8 *intf_name = format (0, "pg%d", ntohl (mp->interface_id), 0);
+  u32 hw_if_index = ~0;
+  uword *p = hash_get_mem (im->hw_interface_by_name, intf_name);
+  if (p)
+    hw_if_index = *p;
+  vec_free (intf_name);
 
-        clib_error_t * e = pg_capture (a);
-        if (e) {
-            clib_error_report(e);
-            rv = VNET_API_ERROR_CANNOT_CREATE_PCAP_FILE;
-        }
+  if (hw_if_index != ~0)
+    {
+      pg_capture_args_t _a, *a = &_a;
+
+      u32 len = ntohl (mp->pcap_name_length);
+      u8 *pcap_file_name = vec_new (u8, len);
+      clib_memcpy (pcap_file_name, mp->pcap_file_name, len);
+
+      hi = vnet_get_sup_hw_interface (vnm, hw_if_index);
+      a->hw_if_index = hw_if_index;
+      a->dev_instance = hi->dev_instance;
+      a->is_enabled = mp->is_enabled;
+      a->pcap_file_name = pcap_file_name;
+      a->count = ntohl (mp->count);
+
+      clib_error_t *e = pg_capture (a);
+      if (e)
+       {
+         clib_error_report (e);
+         rv = VNET_API_ERROR_CANNOT_CREATE_PCAP_FILE;
+       }
 
-        vec_free (pcap_file_name);
+      vec_free (pcap_file_name);
     }
-       REPLY_MACRO(VL_API_PG_CAPTURE_REPLY);
+  REPLY_MACRO (VL_API_PG_CAPTURE_REPLY);
 }
 
-static void vl_api_pg_enable_disable_t_handler (vl_api_pg_enable_disable_t *mp)
+static void
+vl_api_pg_enable_disable_t_handler (vl_api_pg_enable_disable_t * mp)
 {
-    vl_api_pg_enable_disable_reply_t *rmp;
-    int rv = 0;
+  vl_api_pg_enable_disable_reply_t *rmp;
+  int rv = 0;
 
-    pg_main_t * pg = &pg_main;
-    u32 stream_index = ~0;
+  pg_main_t *pg = &pg_main;
+  u32 stream_index = ~0;
 
-    int is_enable = mp->is_enabled != 0;
-    u32 len = ntohl(mp->stream_name_length)-1;
+  int is_enable = mp->is_enabled != 0;
+  u32 len = ntohl (mp->stream_name_length) - 1;
 
-    if (len>0) {
-        u8 * stream_name = vec_new(u8, len);
-        clib_memcpy(stream_name, mp->stream_name, len);
-        uword * p = hash_get_mem (pg->stream_index_by_name, stream_name);
-        if (p)
-            stream_index = *p;
-        vec_free(stream_name);
+  if (len > 0)
+    {
+      u8 *stream_name = vec_new (u8, len);
+      clib_memcpy (stream_name, mp->stream_name, len);
+      uword *p = hash_get_mem (pg->stream_index_by_name, stream_name);
+      if (p)
+       stream_index = *p;
+      vec_free (stream_name);
     }
 
-    pg_enable_disable (stream_index, is_enable);
+  pg_enable_disable (stream_index, is_enable);
 
-    REPLY_MACRO(VL_API_PG_ENABLE_DISABLE_REPLY);
+  REPLY_MACRO (VL_API_PG_ENABLE_DISABLE_REPLY);
 }
 
-static void vl_api_ip_source_and_port_range_check_add_del_t_handler (
-    vl_api_ip_source_and_port_range_check_add_del_t *mp)
+static void
+  vl_api_ip_source_and_port_range_check_add_del_t_handler
+  (vl_api_ip_source_and_port_range_check_add_del_t * mp)
 {
-    vl_api_ip_source_and_port_range_check_add_del_reply_t *rmp;
-    int rv = 0;
-
-    u8  is_ipv6 = mp->is_ipv6;
-    u8  is_add = mp->is_add;
-    u8  mask_length = mp->mask_length;
-    ip4_address_t ip4_addr;
-    ip6_address_t ip6_addr;
-    u16 * low_ports = 0;
-    u16 * high_ports = 0;
-    u32 vrf_id;
-    u16 tmp_low, tmp_high;
-    u8 num_ranges ;
-    int i;
-
-    // Validate port range
-    num_ranges = mp->number_of_ranges;
-    if (num_ranges > 32) { // This is size of array in VPE.API
-        rv = VNET_API_ERROR_EXCEEDED_NUMBER_OF_RANGES_CAPACITY;
-        goto reply;
-    }
-
-    vec_reset_length (low_ports);
-    vec_reset_length (high_ports);
+  vl_api_ip_source_and_port_range_check_add_del_reply_t *rmp;
+  int rv = 0;
 
-    for (i = 0; i < num_ranges; i++) {
-        tmp_low = mp->low_ports[i];
-        tmp_high = mp->high_ports[i];
-        // If tmp_low <= tmp_high then only need to check tmp_low = 0
-        // If tmp_low <= tmp_high then only need to check tmp_high > 65535
-        if (tmp_low > tmp_high || tmp_low == 0 || tmp_high > 65535) {
-            rv = VNET_API_ERROR_INVALID_VALUE;
-            goto reply;
-        }
-        vec_add1 (low_ports, tmp_low );
-        vec_add1 (high_ports, tmp_high+1 );
+  u8 is_ipv6 = mp->is_ipv6;
+  u8 is_add = mp->is_add;
+  u8 mask_length = mp->mask_length;
+  ip4_address_t ip4_addr;
+  ip6_address_t ip6_addr;
+  u16 *low_ports = 0;
+  u16 *high_ports = 0;
+  u32 vrf_id;
+  u16 tmp_low, tmp_high;
+  u8 num_ranges;
+  int i;
+
+  // Validate port range
+  num_ranges = mp->number_of_ranges;
+  if (num_ranges > 32)
+    {                          // This is size of array in VPE.API
+      rv = VNET_API_ERROR_EXCEEDED_NUMBER_OF_RANGES_CAPACITY;
+      goto reply;
+    }
+
+  vec_reset_length (low_ports);
+  vec_reset_length (high_ports);
+
+  for (i = 0; i < num_ranges; i++)
+    {
+      tmp_low = mp->low_ports[i];
+      tmp_high = mp->high_ports[i];
+      // If tmp_low <= tmp_high then only need to check tmp_low = 0
+      // If tmp_low <= tmp_high then only need to check tmp_high > 65535
+      if (tmp_low > tmp_high || tmp_low == 0 || tmp_high > 65535)
+       {
+         rv = VNET_API_ERROR_INVALID_VALUE;
+         goto reply;
+       }
+      vec_add1 (low_ports, tmp_low);
+      vec_add1 (high_ports, tmp_high + 1);
     }
 
-    // Validate mask_length
-    if (mask_length < 0 ||
-        ( is_ipv6 && mask_length > 128) ||
-        ( !is_ipv6 && mask_length > 32)) {
-        rv = VNET_API_ERROR_ADDRESS_LENGTH_MISMATCH;
-        goto reply;
+  // Validate mask_length
+  if (mask_length < 0 ||
+      (is_ipv6 && mask_length > 128) || (!is_ipv6 && mask_length > 32))
+    {
+      rv = VNET_API_ERROR_ADDRESS_LENGTH_MISMATCH;
+      goto reply;
     }
 
-    vrf_id = ntohl (mp->vrf_id);
+  vrf_id = ntohl (mp->vrf_id);
 
-    if ( vrf_id < 1 ) {
-        rv = VNET_API_ERROR_INVALID_VALUE;
-        goto reply;
+  if (vrf_id < 1)
+    {
+      rv = VNET_API_ERROR_INVALID_VALUE;
+      goto reply;
     }
 
 
-    if (is_ipv6) {
-        clib_memcpy (ip6_addr.as_u8, mp->address,
-                     sizeof (ip6_addr.as_u8));
-        rv = ip6_source_and_port_range_check_add_del (&ip6_addr,
-                                                      mask_length,
-                                                      vrf_id,
-                                                      low_ports,
-                                                      high_ports,
-                                                      is_add);
-    } else {
-          clib_memcpy (ip4_addr.data, mp->address,
-                       sizeof (ip4_addr));
-          rv = ip4_source_and_port_range_check_add_del (&ip4_addr,
-                                                        mask_length,
-                                                        vrf_id,
-                                                        low_ports,
-                                                        high_ports,
-                                                        is_add);
+  if (is_ipv6)
+    {
+      clib_memcpy (ip6_addr.as_u8, mp->address, sizeof (ip6_addr.as_u8));
+      rv = ip6_source_and_port_range_check_add_del (&ip6_addr,
+                                                   mask_length,
+                                                   vrf_id,
+                                                   low_ports,
+                                                   high_ports, is_add);
+    }
+  else
+    {
+      clib_memcpy (ip4_addr.data, mp->address, sizeof (ip4_addr));
+      rv = ip4_source_and_port_range_check_add_del (&ip4_addr,
+                                                   mask_length,
+                                                   vrf_id,
+                                                   low_ports,
+                                                   high_ports, is_add);
     }
 
- reply:
-    vec_free (low_ports);
-    vec_free (high_ports);
-    REPLY_MACRO(VL_API_IP_SOURCE_AND_PORT_RANGE_CHECK_ADD_DEL_REPLY);
+reply:
+  vec_free (low_ports);
+  vec_free (high_ports);
+  REPLY_MACRO (VL_API_IP_SOURCE_AND_PORT_RANGE_CHECK_ADD_DEL_REPLY);
 }
 
-static void
-vl_api_ip_source_and_port_range_check_interface_add_del_t_handler
-(vl_api_ip_source_and_port_range_check_interface_add_del_t * mp)
-{
-    vlib_main_t *vm = vlib_get_main();
-    vl_api_ip_source_and_port_range_check_interface_add_del_reply_t * rmp;
-    ip4_main_t * im = &ip4_main;
-    int rv;
-    u32 sw_if_index;
-    u32 fib_index[IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS];
-    u32 vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS];
-    uword * p = 0;
-    int i;
-
-    vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_OUT]  = ntohl(mp->tcp_out_vrf_id);
-    vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_UDP_OUT]  = ntohl(mp->udp_out_vrf_id);
-    vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_IN]  = ntohl(mp->tcp_in_vrf_id);
-    vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_UDP_IN]  = ntohl(mp->udp_in_vrf_id);
-
-
-    for (i = 0; i < IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS; i++)
-      {
-        if (vrf_id[i] !=0 && vrf_id[i] != ~0)
-          {
-            p = hash_get (im->fib_index_by_table_id, vrf_id[i]);
-
-            if (p == 0)
-              {
-                rv = VNET_API_ERROR_INVALID_VALUE;
-                goto reply;
-              }
+static void
+  vl_api_ip_source_and_port_range_check_interface_add_del_t_handler
+  (vl_api_ip_source_and_port_range_check_interface_add_del_t * mp)
+{
+  vlib_main_t *vm = vlib_get_main ();
+  vl_api_ip_source_and_port_range_check_interface_add_del_reply_t *rmp;
+  ip4_main_t *im = &ip4_main;
+  int rv;
+  u32 sw_if_index;
+  u32 fib_index[IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS];
+  u32 vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS];
+  uword *p = 0;
+  int i;
+
+  vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_OUT] =
+    ntohl (mp->tcp_out_vrf_id);
+  vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_UDP_OUT] =
+    ntohl (mp->udp_out_vrf_id);
+  vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_IN] =
+    ntohl (mp->tcp_in_vrf_id);
+  vrf_id[IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_UDP_IN] =
+    ntohl (mp->udp_in_vrf_id);
+
+
+  for (i = 0; i < IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS; i++)
+    {
+      if (vrf_id[i] != 0 && vrf_id[i] != ~0)
+       {
+         p = hash_get (im->fib_index_by_table_id, vrf_id[i]);
+
+         if (p == 0)
+           {
+             rv = VNET_API_ERROR_INVALID_VALUE;
+             goto reply;
+           }
 
-            fib_index[i] = p[0];
-          }
-        else
-            fib_index[i] = ~0;
-        }
-    sw_if_index = ntohl(mp->sw_if_index);
+         fib_index[i] = p[0];
+       }
+      else
+       fib_index[i] = ~0;
+    }
+  sw_if_index = ntohl (mp->sw_if_index);
 
-    VALIDATE_SW_IF_INDEX(mp);
+  VALIDATE_SW_IF_INDEX (mp);
 
-    rv = set_ip_source_and_port_range_check (vm, fib_index, sw_if_index, mp->is_add);
+  rv =
+    set_ip_source_and_port_range_check (vm, fib_index, sw_if_index,
+                                       mp->is_add);
 
-    BAD_SW_IF_INDEX_LABEL;
- reply:
+  BAD_SW_IF_INDEX_LABEL;
+reply:
 
-    REPLY_MACRO(VL_API_IP_SOURCE_AND_PORT_RANGE_CHECK_INTERFACE_ADD_DEL_REPLY);
+  REPLY_MACRO (VL_API_IP_SOURCE_AND_PORT_RANGE_CHECK_INTERFACE_ADD_DEL_REPLY);
 }
 
 #define BOUNCE_HANDLER(nn)                                              \
@@ -7568,9 +8054,9 @@ static void vl_api_##nn##_t_handler (                                   \
  */
 
 static clib_error_t *
-vpe_api_hookup (vlib_main_t *vm)
+vpe_api_hookup (vlib_main_t * vm)
 {
-    api_main_t * am = &api_main;
+  api_main_t *am = &api_main;
 
 #define _(N,n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
@@ -7579,84 +8065,80 @@ vpe_api_hookup (vlib_main_t *vm)
                            vl_api_##n##_t_endian,               \
                            vl_api_##n##_t_print,                \
                            sizeof(vl_api_##n##_t), 1);
-    foreach_vpe_api_msg;
+  foreach_vpe_api_msg;
 #undef _
 
-    /*
-     * Manually register the sr tunnel add del msg, so we trace
-     * enough bytes to capture a typical segment list
-     */
-    vl_msg_api_set_handlers (VL_API_SR_TUNNEL_ADD_DEL,
-                             "sr_tunnel_add_del",
-                             vl_api_sr_tunnel_add_del_t_handler,
-                             vl_noop_handler,
-                             vl_api_sr_tunnel_add_del_t_endian,
-                             vl_api_sr_tunnel_add_del_t_print,
-                             256, 1);
-
-
-    /*
-     * Manually register the sr policy add del msg, so we trace
-     * enough bytes to capture a typical tunnel name list
-     */
-    vl_msg_api_set_handlers (VL_API_SR_POLICY_ADD_DEL,
-                             "sr_policy_add_del",
-                             vl_api_sr_policy_add_del_t_handler,
-                             vl_noop_handler,
-                             vl_api_sr_policy_add_del_t_endian,
-                             vl_api_sr_policy_add_del_t_print,
-                             256, 1);
-
-    /*
-     * Trace space for 8 MPLS encap labels, classifier mask+match
-     */
-    am->api_trace_cfg [VL_API_MPLS_ADD_DEL_ENCAP].size += 8 * sizeof(u32);
-    am->api_trace_cfg [VL_API_CLASSIFY_ADD_DEL_TABLE].size
-        += 5 * sizeof (u32x4);
-    am->api_trace_cfg [VL_API_CLASSIFY_ADD_DEL_SESSION].size
-        += 5 * sizeof (u32x4);
-    am->api_trace_cfg [VL_API_VXLAN_ADD_DEL_TUNNEL].size
-        += 16 * sizeof (u32);
-
-    /*
-     * Thread-safe API messages
-     */
-    am->is_mp_safe [VL_API_IP_ADD_DEL_ROUTE] = 1;
-    am->is_mp_safe [VL_API_GET_NODE_GRAPH] = 1;
-
-    return 0;
-}
-
-VLIB_API_INIT_FUNCTION(vpe_api_hookup);
+  /*
+   * Manually register the sr tunnel add del msg, so we trace
+   * enough bytes to capture a typical segment list
+   */
+  vl_msg_api_set_handlers (VL_API_SR_TUNNEL_ADD_DEL,
+                          "sr_tunnel_add_del",
+                          vl_api_sr_tunnel_add_del_t_handler,
+                          vl_noop_handler,
+                          vl_api_sr_tunnel_add_del_t_endian,
+                          vl_api_sr_tunnel_add_del_t_print, 256, 1);
+
+
+  /*
+   * Manually register the sr policy add del msg, so we trace
+   * enough bytes to capture a typical tunnel name list
+   */
+  vl_msg_api_set_handlers (VL_API_SR_POLICY_ADD_DEL,
+                          "sr_policy_add_del",
+                          vl_api_sr_policy_add_del_t_handler,
+                          vl_noop_handler,
+                          vl_api_sr_policy_add_del_t_endian,
+                          vl_api_sr_policy_add_del_t_print, 256, 1);
+
+  /*
+   * Trace space for 8 MPLS encap labels, classifier mask+match
+   */
+  am->api_trace_cfg[VL_API_MPLS_ADD_DEL_ENCAP].size += 8 * sizeof (u32);
+  am->api_trace_cfg[VL_API_CLASSIFY_ADD_DEL_TABLE].size += 5 * sizeof (u32x4);
+  am->api_trace_cfg[VL_API_CLASSIFY_ADD_DEL_SESSION].size
+    += 5 * sizeof (u32x4);
+  am->api_trace_cfg[VL_API_VXLAN_ADD_DEL_TUNNEL].size += 16 * sizeof (u32);
+
+  /*
+   * Thread-safe API messages
+   */
+  am->is_mp_safe[VL_API_IP_ADD_DEL_ROUTE] = 1;
+  am->is_mp_safe[VL_API_GET_NODE_GRAPH] = 1;
+
+  return 0;
+}
+
+VLIB_API_INIT_FUNCTION (vpe_api_hookup);
 
 static clib_error_t *
-vpe_api_init (vlib_main_t *vm)
+vpe_api_init (vlib_main_t * vm)
 {
-    vpe_api_main_t *am = &vpe_api_main;
+  vpe_api_main_t *am = &vpe_api_main;
 
-    am->vlib_main = vm;
-    am->vnet_main = vnet_get_main();
-    am->interface_events_registration_hash = hash_create (0, sizeof (uword));
-    am->to_netconf_server_registration_hash = hash_create (0, sizeof (uword));
-    am->from_netconf_server_registration_hash = hash_create (0, sizeof (uword));
-    am->to_netconf_client_registration_hash = hash_create (0, sizeof (uword));
-    am->from_netconf_client_registration_hash = hash_create (0, sizeof (uword));
-    am->oam_events_registration_hash = hash_create (0, sizeof (uword));
+  am->vlib_main = vm;
+  am->vnet_main = vnet_get_main ();
+  am->interface_events_registration_hash = hash_create (0, sizeof (uword));
+  am->to_netconf_server_registration_hash = hash_create (0, sizeof (uword));
+  am->from_netconf_server_registration_hash = hash_create (0, sizeof (uword));
+  am->to_netconf_client_registration_hash = hash_create (0, sizeof (uword));
+  am->from_netconf_client_registration_hash = hash_create (0, sizeof (uword));
+  am->oam_events_registration_hash = hash_create (0, sizeof (uword));
 
-    vl_api_init (vm);
-    vl_set_memory_region_name ("/vpe-api");
-    vl_enable_disable_memory_api (vm, 1 /* enable it */);
+  vl_api_init (vm);
+  vl_set_memory_region_name ("/vpe-api");
+  vl_enable_disable_memory_api (vm, 1 /* enable it */ );
 
-    return 0;
+  return 0;
 }
 
-VLIB_INIT_FUNCTION(vpe_api_init);
+VLIB_INIT_FUNCTION (vpe_api_init);
 
 
 static clib_error_t *
 api_segment_config (vlib_main_t * vm, unformat_input_t * input)
 {
-  u8 * chroot_path;
+  u8 *chroot_path;
   int uid, gid, rv;
   char *s, buf[128];
   struct passwd _pw, *pw;
@@ -7666,69 +8148,74 @@ api_segment_config (vlib_main_t * vm, unformat_input_t * input)
   while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
     {
       if (unformat (input, "prefix %s", &chroot_path))
-        {
-          vec_add1 (chroot_path, 0);
-          vl_set_memory_root_path ((char *)chroot_path);
-        }
+       {
+         vec_add1 (chroot_path, 0);
+         vl_set_memory_root_path ((char *) chroot_path);
+       }
       else if (unformat (input, "uid %d", &uid))
-        vl_set_memory_uid (uid);
+       vl_set_memory_uid (uid);
       else if (unformat (input, "gid %d", &gid))
-        vl_set_memory_gid (gid);
+       vl_set_memory_gid (gid);
       else if (unformat (input, "uid %s", &s))
-        {
-          /* lookup the username */
-          pw = NULL;
-          rv = getpwnam_r(s, &_pw, buf, sizeof(buf), &pw);
-          if (rv < 0)
-            {
-              e = clib_error_return_code(0, rv,
-                       CLIB_ERROR_ERRNO_VALID | CLIB_ERROR_FATAL,
-                       "cannot fetch username %s", s);
-              vec_free (s);
-              return e;
-            }
-          if (pw == NULL)
-            {
-              e = clib_error_return_fatal(0, "username %s does not exist", s);
-              vec_free (s);
-              return e;
-            }
-          vec_free (s);
-          vl_set_memory_uid (pw->pw_uid);
-        }
+       {
+         /* lookup the username */
+         pw = NULL;
+         rv = getpwnam_r (s, &_pw, buf, sizeof (buf), &pw);
+         if (rv < 0)
+           {
+             e = clib_error_return_code (0, rv,
+                                         CLIB_ERROR_ERRNO_VALID |
+                                         CLIB_ERROR_FATAL,
+                                         "cannot fetch username %s", s);
+             vec_free (s);
+             return e;
+           }
+         if (pw == NULL)
+           {
+             e =
+               clib_error_return_fatal (0, "username %s does not exist", s);
+             vec_free (s);
+             return e;
+           }
+         vec_free (s);
+         vl_set_memory_uid (pw->pw_uid);
+       }
       else if (unformat (input, "gid %s", &s))
-        {
-          /* lookup the group name */
-          grp = NULL;
-          rv = getgrnam_r(s, &_grp, buf, sizeof(buf), &grp);
-          if (rv != 0)
-            {
-              e = clib_error_return_code(0, rv,
-                       CLIB_ERROR_ERRNO_VALID | CLIB_ERROR_FATAL,
-                       "cannot fetch group %s", s);
-              vec_free (s);
-              return e;
-            }
-          if (grp == NULL)
-            {
-              e = clib_error_return_fatal(0, "group %s does not exist", s);
-              vec_free (s);
-              return e;
-            }
-          vec_free (s);
-          vl_set_memory_gid (grp->gr_gid);
-        }
+       {
+         /* lookup the group name */
+         grp = NULL;
+         rv = getgrnam_r (s, &_grp, buf, sizeof (buf), &grp);
+         if (rv != 0)
+           {
+             e = clib_error_return_code (0, rv,
+                                         CLIB_ERROR_ERRNO_VALID |
+                                         CLIB_ERROR_FATAL,
+                                         "cannot fetch group %s", s);
+             vec_free (s);
+             return e;
+           }
+         if (grp == NULL)
+           {
+             e = clib_error_return_fatal (0, "group %s does not exist", s);
+             vec_free (s);
+             return e;
+           }
+         vec_free (s);
+         vl_set_memory_gid (grp->gr_gid);
+       }
       else
-        return clib_error_return (0, "unknown input `%U'",
-                                  format_unformat_error, input);
+       return clib_error_return (0, "unknown input `%U'",
+                                 format_unformat_error, input);
     }
   return 0;
 }
+
 VLIB_EARLY_CONFIG_FUNCTION (api_segment_config, "api-segment");
 
-void * get_unformat_vnet_sw_interface (void)
+void *
+get_unformat_vnet_sw_interface (void)
 {
-    return (void *) &unformat_vnet_sw_interface;
+  return (void *) &unformat_vnet_sw_interface;
 }
 
 #undef vl_api_version
@@ -7736,49 +8223,64 @@ void * get_unformat_vnet_sw_interface (void)
 #include <vpp-api/vpe.api.h>
 #undef vl_api_version
 
-int vl_msg_api_version_check (vl_api_memclnt_create_t * mp)
+int
+vl_msg_api_version_check (vl_api_memclnt_create_t * mp)
 {
-    if (clib_host_to_net_u32(mp->api_versions[0]) != vpe_api_version) {
-        clib_warning ("vpe API mismatch: 0x%08x instead of 0x%08x",
-                      clib_host_to_net_u32 (mp->api_versions[0]),
-                      vpe_api_version);
-        return -1;
+  if (clib_host_to_net_u32 (mp->api_versions[0]) != vpe_api_version)
+    {
+      clib_warning ("vpe API mismatch: 0x%08x instead of 0x%08x",
+                   clib_host_to_net_u32 (mp->api_versions[0]),
+                   vpe_api_version);
+      return -1;
     }
-    return 0;
+  return 0;
 }
 
-static u8 * format_arp_event (u8 * s, va_list * args)
+static u8 *
+format_arp_event (u8 * s, va_list * args)
 {
-    vl_api_ip4_arp_event_t * event = va_arg (*args, vl_api_ip4_arp_event_t *);
+  vl_api_ip4_arp_event_t *event = va_arg (*args, vl_api_ip4_arp_event_t *);
 
-    s = format (s, "pid %d: %U", event->pid,
-                format_ip4_address, &event->address);
-    return s;
+  s = format (s, "pid %d: %U", event->pid,
+             format_ip4_address, &event->address);
+  return s;
 }
 
 static clib_error_t *
 show_ip4_arp_events_fn (vlib_main_t * vm,
-                        unformat_input_t * input,
-                        vlib_cli_command_t * cmd)
+                       unformat_input_t * input, vlib_cli_command_t * cmd)
 {
-    vpe_api_main_t * am = &vpe_api_main;
-    vl_api_ip4_arp_event_t * event;
+  vpe_api_main_t *am = &vpe_api_main;
+  vl_api_ip4_arp_event_t *event;
 
-    if (pool_elts (am->arp_events) == 0) {
-        vlib_cli_output (vm, "No active arp event registrations");
-        return 0;
+  if (pool_elts (am->arp_events) == 0)
+    {
+      vlib_cli_output (vm, "No active arp event registrations");
+      return 0;
     }
 
-    pool_foreach (event, am->arp_events,
-    ({
-        vlib_cli_output (vm, "%U", format_arp_event, event);
-    }));
+  /* *INDENT-OFF* */
+  pool_foreach (event, am->arp_events,
+  ({
+    vlib_cli_output (vm, "%U", format_arp_event, event);
+  }));
+  /* *INDENT-ON* */
 
-    return 0;
+  return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (show_ip4_arp_events, static) = {
   .path = "show arp event registrations",
   .function = show_ip4_arp_events_fn,
   .short_help = "Show arp event registrations",
 };
+/* *INDENT-ON* */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index bf02ac4..bf6134d 100644 (file)
 
 #include <vpp-api/vpe_msg_enum.h>
 
-#define vl_typedefs             /* define message structures */
+#define vl_typedefs            /* define message structures */
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
+#define vl_endianfun           /* define message structures */
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
 
 
 static void *vl_api_create_loopback_t_print
-(vl_api_create_loopback_t *mp, void *handle)
+  (vl_api_create_loopback_t * mp, void *handle)
 {
-   u8 * s;
+  u8 *s;
 
-   s = format (0, "SCRIPT: create_loopback ");
-   s = format (s, "mac %U ", format_ethernet_address, &mp->mac_address);
+  s = format (0, "SCRIPT: create_loopback ");
+  s = format (s, "mac %U ", format_ethernet_address, &mp->mac_address);
 
-   FINISH;
+  FINISH;
 }
 
 static void *vl_api_delete_loopback_t_print
-(vl_api_delete_loopback_t *mp, void *handle)
+  (vl_api_delete_loopback_t * mp, void *handle)
 {
-   u8 * s;
+  u8 *s;
 
-   s = format (0, "SCRIPT: delete_loopback ");
-   s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (0, "SCRIPT: delete_loopback ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-   FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_flags_t_print
-(vl_api_sw_interface_set_flags_t * mp, void *handle)
+  (vl_api_sw_interface_set_flags_t * mp, void *handle)
 {
-    u8 * s;
-    s = format (0, "SCRIPT: sw_interface_set_flags ");
+  u8 *s;
+  s = format (0, "SCRIPT: sw_interface_set_flags ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->admin_up_down)
-        s = format (s, "admin-up ");
-    else
-        s = format (s, "admin-down ");
+  if (mp->admin_up_down)
+    s = format (s, "admin-up ");
+  else
+    s = format (s, "admin-down ");
 
-    if (mp->link_up_down)
-        s = format (s, "link-up");
-    else
-        s = format (s, "link-down");
+  if (mp->link_up_down)
+    s = format (s, "link-up");
+  else
+    s = format (s, "link-down");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_add_del_address_t_print
-(vl_api_sw_interface_add_del_address_t * mp, void *handle)
+  (vl_api_sw_interface_add_del_address_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_add_del_address ");
+  s = format (0, "SCRIPT: sw_interface_add_del_address ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->is_ipv6)
-        s = format (s, "%U/%d ", format_ip6_address,
-                    (ip6_address_t *) mp->address, mp->address_length);
-    else
-        s = format (s, "%U/%d ", format_ip4_address,
-                    (ip4_address_t *) mp->address, mp->address_length);
+  if (mp->is_ipv6)
+    s = format (s, "%U/%d ", format_ip6_address,
+               (ip6_address_t *) mp->address, mp->address_length);
+  else
+    s = format (s, "%U/%d ", format_ip4_address,
+               (ip4_address_t *) mp->address, mp->address_length);
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
-    if (mp->del_all)
-        s = format (s, "del-all ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
+  if (mp->del_all)
+    s = format (s, "del-all ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_table_t_print
-(vl_api_sw_interface_set_table_t * mp, void * handle)
+  (vl_api_sw_interface_set_table_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_set_table ");
+  s = format (0, "SCRIPT: sw_interface_set_table ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->vrf_id)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_ipv6)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6)
+    s = format (s, "ipv6 ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_vpath_t_print
-(vl_api_sw_interface_set_vpath_t * mp, void * handle)
+  (vl_api_sw_interface_set_vpath_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_set_vpath ");
+  s = format (0, "SCRIPT: sw_interface_set_vpath ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->enable)
-        s = format (s, "vPath enable ");
-    else
-        s = format (s, "vPath disable ");
+  if (mp->enable)
+    s = format (s, "vPath enable ");
+  else
+    s = format (s, "vPath disable ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_l2_xconnect_t_print
-(vl_api_sw_interface_set_l2_xconnect_t * mp, void *handle)
+  (vl_api_sw_interface_set_l2_xconnect_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_set_l2_xconnect ");
+  s = format (0, "SCRIPT: sw_interface_set_l2_xconnect ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->rx_sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->rx_sw_if_index));
 
-    if (mp->enable) {
-        s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
-    } else s = format (s, "delete ");
+  if (mp->enable)
+    {
+      s = format (s, "tx_sw_if_index %d ", ntohl (mp->tx_sw_if_index));
+    }
+  else
+    s = format (s, "delete ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_l2_bridge_t_print
-(vl_api_sw_interface_set_l2_bridge_t * mp, void *handle)
+  (vl_api_sw_interface_set_l2_bridge_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_set_l2_bridge ");
+  s = format (0, "SCRIPT: sw_interface_set_l2_bridge ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->rx_sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->rx_sw_if_index));
 
-    if (mp->enable) {
-        s = format (s, "bd_id %d shg %d %senable ", ntohl(mp->bd_id),
-                    mp->shg, ((mp->bvi)?"bvi ":" "));
-    } else s = format (s, "disable ");
+  if (mp->enable)
+    {
+      s = format (s, "bd_id %d shg %d %senable ", ntohl (mp->bd_id),
+                 mp->shg, ((mp->bvi) ? "bvi " : " "));
+    }
+  else
+    s = format (s, "disable ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_bridge_domain_add_del_t_print
-(vl_api_bridge_domain_add_del_t * mp, void *handle)
+static void *vl_api_bridge_domain_add_del_t_print
+  (vl_api_bridge_domain_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: bridge_domain_add_del ");
+  s = format (0, "SCRIPT: bridge_domain_add_del ");
 
-    s = format (s, "bd_id %d ", ntohl(mp->bd_id));
+  s = format (s, "bd_id %d ", ntohl (mp->bd_id));
 
-    if (mp->is_add) {
-        s = format (s, "flood %d uu-flood %d forward %d learn %d arp-term %d",
-                    mp->flood, mp->uu_flood, mp->forward, mp->learn,
-                   mp->arp_term);
-    } else s = format (s, "del ");
+  if (mp->is_add)
+    {
+      s = format (s, "flood %d uu-flood %d forward %d learn %d arp-term %d",
+                 mp->flood, mp->uu_flood, mp->forward, mp->learn,
+                 mp->arp_term);
+    }
+  else
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_bridge_domain_dump_t_print
-(vl_api_bridge_domain_dump_t * mp, void *handle)
+  (vl_api_bridge_domain_dump_t * mp, void *handle)
 {
-    u8 * s;
-    u32 bd_id = ntohl (mp->bd_id);
+  u8 *s;
+  u32 bd_id = ntohl (mp->bd_id);
 
-    s = format (0, "SCRIPT: bridge_domain_dump ");
+  s = format (0, "SCRIPT: bridge_domain_dump ");
 
-    if (bd_id != ~0)
-        s = format (s, "bd_id %d ", bd_id);
+  if (bd_id != ~0)
+    s = format (s, "bd_id %d ", bd_id);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2fib_add_del_t_print
-(vl_api_l2fib_add_del_t * mp, void *handle)
+  (vl_api_l2fib_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2fib_add_del ");
+  s = format (0, "SCRIPT: l2fib_add_del ");
 
-    s = format (s, "mac %U ", format_ethernet_address, &mp->mac);
+  s = format (s, "mac %U ", format_ethernet_address, &mp->mac);
 
-    s = format (s, "bd_id %d ", ntohl(mp->bd_id));
+  s = format (s, "bd_id %d ", ntohl (mp->bd_id));
 
 
-    if (mp->is_add) {
-       s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-        if (mp->static_mac) s = format (s, "%s", "static ");
-        if (mp->filter_mac) s = format (s, "%s", "filter ");
-        if (mp->bvi_mac) s = format (s, "%s", "bvi ");
-    } else {
-       s = format (s, "del ");
+  if (mp->is_add)
+    {
+      s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+      if (mp->static_mac)
+       s = format (s, "%s", "static ");
+      if (mp->filter_mac)
+       s = format (s, "%s", "filter ");
+      if (mp->bvi_mac)
+       s = format (s, "%s", "bvi ");
+    }
+  else
+    {
+      s = format (s, "del ");
     }
 
-    FINISH;
+  FINISH;
 }
 
-static void *vl_api_l2_flags_t_print
-(vl_api_l2_flags_t * mp, void *handle)
+static void *
+vl_api_l2_flags_t_print (vl_api_l2_flags_t * mp, void *handle)
 {
-    u8 * s;
-    u32 flags = ntohl(mp->feature_bitmap);
+  u8 *s;
+  u32 flags = ntohl (mp->feature_bitmap);
 
-    s = format (0, "SCRIPT: l2_flags ");
+  s = format (0, "SCRIPT: l2_flags ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
 #define _(a,b) \
     if (flags & L2INPUT_FEAT_ ## a) s = format (s, #a " ");
-    foreach_l2input_feat;
+  foreach_l2input_feat;
 #undef _
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_bridge_flags_t_print
-(vl_api_bridge_flags_t * mp, void *handle)
+  (vl_api_bridge_flags_t * mp, void *handle)
 {
-    u8 * s;
-    u32 flags = ntohl(mp->feature_bitmap);
+  u8 *s;
+  u32 flags = ntohl (mp->feature_bitmap);
 
-    s = format (0, "SCRIPT: bridge_flags ");
+  s = format (0, "SCRIPT: bridge_flags ");
 
-    s = format (s, "bd_id %d ", ntohl(mp->bd_id));
+  s = format (s, "bd_id %d ", ntohl (mp->bd_id));
 
-    if (flags & L2_LEARN) s = format (s, "learn ");
-    if (flags & L2_FWD)   s = format (s, "forward ");
-    if (flags & L2_FLOOD) s = format (s, "flood ");
-    if (flags & L2_UU_FLOOD) s = format (s, "uu-flood ");
-    if (flags & L2_ARP_TERM) s = format (s, "arp-term ");
+  if (flags & L2_LEARN)
+    s = format (s, "learn ");
+  if (flags & L2_FWD)
+    s = format (s, "forward ");
+  if (flags & L2_FLOOD)
+    s = format (s, "flood ");
+  if (flags & L2_UU_FLOOD)
+    s = format (s, "uu-flood ");
+  if (flags & L2_ARP_TERM)
+    s = format (s, "arp-term ");
 
-    if (mp->is_set == 0) s = format (s, "clear ");
+  if (mp->is_set == 0)
+    s = format (s, "clear ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_bd_ip_mac_add_del_t_print
-(vl_api_bd_ip_mac_add_del_t * mp, void *handle)
+  (vl_api_bd_ip_mac_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: bd_ip_mac_add_del ");
-    s = format (s, "bd_id %d ", ntohl(mp->bd_id));
+  s = format (0, "SCRIPT: bd_ip_mac_add_del ");
+  s = format (s, "bd_id %d ", ntohl (mp->bd_id));
 
-    if (mp->is_ipv6)
-        s = format (s, "%U ", format_ip6_address,
-                    (ip6_address_t *) mp->ip_address);
-    else s = format (s, "%U ", format_ip4_address,
-                    (ip4_address_t *) mp->ip_address);
+  if (mp->is_ipv6)
+    s = format (s, "%U ", format_ip6_address,
+               (ip6_address_t *) mp->ip_address);
+  else
+    s = format (s, "%U ", format_ip4_address,
+               (ip4_address_t *) mp->ip_address);
 
-    s = format (s, "%U ", format_ethernet_address, mp->mac_address);
-    if (mp->is_add == 0) s = format (s, "del ");
+  s = format (s, "%U ", format_ethernet_address, mp->mac_address);
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_tap_connect_t_print
-(vl_api_tap_connect_t * mp, void *handle)
+  (vl_api_tap_connect_t * mp, void *handle)
 {
-    u8 * s;
-    u8 null_mac[6];
+  u8 *s;
+  u8 null_mac[6];
 
-    memset(null_mac, 0, sizeof (null_mac));
+  memset (null_mac, 0, sizeof (null_mac));
 
-    s = format (0, "SCRIPT: tap_connect ");
-    s = format (s, "tapname %s ", mp->tap_name);
-    if (mp->use_random_mac)
-        s = format (s, "random-mac ");
+  s = format (0, "SCRIPT: tap_connect ");
+  s = format (s, "tapname %s ", mp->tap_name);
+  if (mp->use_random_mac)
+    s = format (s, "random-mac ");
 
-    if (memcmp (mp->mac_address, null_mac, 6))
-        s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
+  if (memcmp (mp->mac_address, null_mac, 6))
+    s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_tap_modify_t_print
-(vl_api_tap_modify_t * mp, void *handle)
+  (vl_api_tap_modify_t * mp, void *handle)
 {
-    u8 * s;
-    u8 null_mac[6];
+  u8 *s;
+  u8 null_mac[6];
 
-    memset(null_mac, 0, sizeof (null_mac));
+  memset (null_mac, 0, sizeof (null_mac));
 
-    s = format (0, "SCRIPT: tap_modify ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "tapname %s ", mp->tap_name);
-    if (mp->use_random_mac)
-        s = format (s, "random-mac ");
+  s = format (0, "SCRIPT: tap_modify ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "tapname %s ", mp->tap_name);
+  if (mp->use_random_mac)
+    s = format (s, "random-mac ");
 
-    if (memcmp (mp->mac_address, null_mac, 6))
-        s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
+  if (memcmp (mp->mac_address, null_mac, 6))
+    s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_tap_delete_t_print
-(vl_api_tap_delete_t * mp, void *handle)
+  (vl_api_tap_delete_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: tap_delete ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (0, "SCRIPT: tap_delete ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_tap_dump_t_print
-(vl_api_sw_interface_tap_dump_t * mp, void *handle)
+  (vl_api_sw_interface_tap_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_tap_dump ");
+  s = format (0, "SCRIPT: sw_interface_tap_dump ");
 
-    FINISH;
+  FINISH;
 }
 
 
 static void *vl_api_ip_add_del_route_t_print
-(vl_api_ip_add_del_route_t * mp, void *handle)
-{
-    u8 * s;
-
-    s = format (0, "SCRIPT: ip_add_del_route ");
-    if (mp->is_add == 0)
-        s = format (s, "del ");
-
-    if (mp->next_hop_sw_if_index)
-        s = format (s, "sw_if_index %d ", ntohl(mp->next_hop_sw_if_index));
-
-    if (mp->is_ipv6)
-        s = format (s, "%U/%d ", format_ip6_address, mp->dst_address,
-                    mp->dst_address_length);
-    else
-        s = format (s, "%U/%d ", format_ip4_address, mp->dst_address,
-                    mp->dst_address_length);
-    if (mp->is_local)
-        s = format (s, "local ");
-    else if (mp->is_drop)
-        s = format (s, "drop ");
-    else if (mp->is_classify)
-        s = format (s, "classify %d", ntohl (mp->classify_table_index));
-    else {
-        if (mp->is_ipv6)
-            s = format (s, "via %U ", format_ip6_address,
-                        mp->next_hop_address);
-        else
-            s = format (s, "via %U ", format_ip4_address,
-                        mp->next_hop_address);
+  (vl_api_ip_add_del_route_t * mp, void *handle)
+{
+  u8 *s;
+
+  s = format (0, "SCRIPT: ip_add_del_route ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
+
+  if (mp->next_hop_sw_if_index)
+    s = format (s, "sw_if_index %d ", ntohl (mp->next_hop_sw_if_index));
+
+  if (mp->is_ipv6)
+    s = format (s, "%U/%d ", format_ip6_address, mp->dst_address,
+               mp->dst_address_length);
+  else
+    s = format (s, "%U/%d ", format_ip4_address, mp->dst_address,
+               mp->dst_address_length);
+  if (mp->is_local)
+    s = format (s, "local ");
+  else if (mp->is_drop)
+    s = format (s, "drop ");
+  else if (mp->is_classify)
+    s = format (s, "classify %d", ntohl (mp->classify_table_index));
+  else
+    {
+      if (mp->is_ipv6)
+       s = format (s, "via %U ", format_ip6_address, mp->next_hop_address);
+      else
+       s = format (s, "via %U ", format_ip4_address, mp->next_hop_address);
     }
 
-    if (mp->vrf_id != 0)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id != 0)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->create_vrf_if_needed)
-        s = format (s, "create-vrf ");
+  if (mp->create_vrf_if_needed)
+    s = format (s, "create-vrf ");
 
-    if (mp->resolve_attempts != 0)
-        s = format (s, "resolve-attempts %d ", ntohl(mp->resolve_attempts));
+  if (mp->resolve_attempts != 0)
+    s = format (s, "resolve-attempts %d ", ntohl (mp->resolve_attempts));
 
-    if (mp->next_hop_weight != 1)
-        s = format (s, "weight %d ", mp->next_hop_weight);
+  if (mp->next_hop_weight != 1)
+    s = format (s, "weight %d ", mp->next_hop_weight);
 
-    if (mp->not_last)
-        s = format (s, "not-last ");
+  if (mp->not_last)
+    s = format (s, "not-last ");
 
-    if (mp->is_multipath)
-        s = format (s, "multipath ");
+  if (mp->is_multipath)
+    s = format (s, "multipath ");
 
-    if (mp->is_multipath)
-        s = format (s, "multipath ");
+  if (mp->is_multipath)
+    s = format (s, "multipath ");
 
-    if (mp->lookup_in_vrf)
-        s = format (s, "lookup-in-vrf %d ", ntohl (mp->lookup_in_vrf));
+  if (mp->lookup_in_vrf)
+    s = format (s, "lookup-in-vrf %d ", ntohl (mp->lookup_in_vrf));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_proxy_arp_add_del_t_print
-(vl_api_proxy_arp_add_del_t * mp, void * handle)
+  (vl_api_proxy_arp_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: proxy_arp_add_del ");
+  s = format (0, "SCRIPT: proxy_arp_add_del ");
 
-    s = format (s, "%U - %U ", format_ip4_address, mp->low_address,
-               format_ip4_address, mp->hi_address);
+  s = format (s, "%U - %U ", format_ip4_address, mp->low_address,
+             format_ip4_address, mp->hi_address);
 
-    if (mp->vrf_id)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_proxy_arp_intfc_enable_disable_t_print
-(vl_api_proxy_arp_intfc_enable_disable_t * mp, void * handle)
+  (vl_api_proxy_arp_intfc_enable_disable_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: proxy_arp_intfc_enable_disable ");
+  s = format (0, "SCRIPT: proxy_arp_intfc_enable_disable ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "enable %d ", mp->enable_disable);
+  s = format (s, "enable %d ", mp->enable_disable);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_add_del_decap_t_print
-(vl_api_mpls_add_del_decap_t * mp, void * handle)
+  (vl_api_mpls_add_del_decap_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_add_del_decap ");
+  s = format (0, "SCRIPT: mpls_add_del_decap ");
 
-    s = format (s, "rx_vrf_id %d ", ntohl(mp->rx_vrf_id));
+  s = format (s, "rx_vrf_id %d ", ntohl (mp->rx_vrf_id));
 
-    s = format (s, "tx_vrf_id %d ", ntohl(mp->tx_vrf_id));
+  s = format (s, "tx_vrf_id %d ", ntohl (mp->tx_vrf_id));
 
-    s = format (s, "label %d ", ntohl(mp->label));
+  s = format (s, "label %d ", ntohl (mp->label));
 
-    s = format (s, "next-index %d ", ntohl(mp->next_index));
+  s = format (s, "next-index %d ", ntohl (mp->next_index));
 
-    if (mp->s_bit == 0)
-        s = format (s, "s-bit-clear ");
+  if (mp->s_bit == 0)
+    s = format (s, "s-bit-clear ");
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_add_del_encap_t_print
-(vl_api_mpls_add_del_encap_t * mp, void * handle)
+  (vl_api_mpls_add_del_encap_t * mp, void *handle)
 {
-    u8 * s;
-    int i;
+  u8 *s;
+  int i;
 
-    s = format (0, "SCRIPT: mpls_add_del_encap ");
+  s = format (0, "SCRIPT: mpls_add_del_encap ");
 
-    s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf_id %d ", ntohl (mp->vrf_id));
 
-    s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
+  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
 
-    for (i = 0; i < mp->nlabels; i++)
-        s = format (s, "label %d ", ntohl(mp->labels[i]));
+  for (i = 0; i < mp->nlabels; i++)
+    s = format (s, "label %d ", ntohl (mp->labels[i]));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_gre_add_del_tunnel_t_print
-(vl_api_mpls_gre_add_del_tunnel_t * mp, void * handle)
+  (vl_api_mpls_gre_add_del_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_gre_add_del_tunnel ");
+  s = format (0, "SCRIPT: mpls_gre_add_del_tunnel ");
 
-    s = format (s, "src %U ", format_ip4_address, mp->src_address);
+  s = format (s, "src %U ", format_ip4_address, mp->src_address);
 
-    s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
+  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
 
-    s = format (s, "adj %U/%d ", format_ip4_address,
-                (ip4_address_t *) mp->intfc_address, mp->intfc_address_length);
+  s = format (s, "adj %U/%d ", format_ip4_address,
+             (ip4_address_t *) mp->intfc_address, mp->intfc_address_length);
 
-    s = format (s, "inner-vrf_id %d ", ntohl(mp->inner_vrf_id));
+  s = format (s, "inner-vrf_id %d ", ntohl (mp->inner_vrf_id));
 
-    s = format (s, "outer-vrf_id %d ", ntohl(mp->outer_vrf_id));
+  s = format (s, "outer-vrf_id %d ", ntohl (mp->outer_vrf_id));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    if (mp->l2_only)
-        s = format (s, "l2-only ");
+  if (mp->l2_only)
+    s = format (s, "l2-only ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_ethernet_add_del_tunnel_t_print
-(vl_api_mpls_ethernet_add_del_tunnel_t * mp, void * handle)
+  (vl_api_mpls_ethernet_add_del_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel ");
+  s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel ");
 
-    s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
+  s = format (s, "tx_sw_if_index %d ", ntohl (mp->tx_sw_if_index));
 
-    s = format (s, "dst %U", format_ethernet_address, mp->dst_mac_address);
+  s = format (s, "dst %U", format_ethernet_address, mp->dst_mac_address);
 
-    s = format (s, "adj %U/%d ", format_ip4_address,
-                (ip4_address_t *) mp->adj_address, mp->adj_address_length);
+  s = format (s, "adj %U/%d ", format_ip4_address,
+             (ip4_address_t *) mp->adj_address, mp->adj_address_length);
 
-    s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf_id %d ", ntohl (mp->vrf_id));
 
-    if (mp->l2_only)
-        s = format (s, "l2-only ");
+  if (mp->l2_only)
+    s = format (s, "l2-only ");
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_ethernet_add_del_tunnel_2_t_print
-(vl_api_mpls_ethernet_add_del_tunnel_2_t * mp, void * handle)
+  (vl_api_mpls_ethernet_add_del_tunnel_2_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel_2 ");
+  s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel_2 ");
 
-    s = format (s, "adj %U/%d ", format_ip4_address,
-                (ip4_address_t *) mp->adj_address, mp->adj_address_length);
+  s = format (s, "adj %U/%d ", format_ip4_address,
+             (ip4_address_t *) mp->adj_address, mp->adj_address_length);
 
-    s = format (s, "next-hop %U ", format_ip4_address,
-                (ip4_address_t *) mp->next_hop_ip4_address_in_outer_vrf);
+  s = format (s, "next-hop %U ", format_ip4_address,
+             (ip4_address_t *) mp->next_hop_ip4_address_in_outer_vrf);
 
-    s = format (s, "inner_vrf_id %d ", ntohl(mp->inner_vrf_id));
+  s = format (s, "inner_vrf_id %d ", ntohl (mp->inner_vrf_id));
 
-    s = format (s, "outer_vrf_id %d ", ntohl(mp->outer_vrf_id));
+  s = format (s, "outer_vrf_id %d ", ntohl (mp->outer_vrf_id));
 
-    s = format (s, "resolve-if-needed %d ", mp->resolve_if_needed);
+  s = format (s, "resolve-if-needed %d ", mp->resolve_if_needed);
 
-    s = format (s, "resolve-attempts %d ", ntohl(mp->resolve_attempts));
+  s = format (s, "resolve-attempts %d ", ntohl (mp->resolve_attempts));
 
-    if (mp->l2_only)
-        s = format (s, "l2-only ");
+  if (mp->l2_only)
+    s = format (s, "l2-only ");
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_set_unnumbered_t_print
-(vl_api_sw_interface_set_unnumbered_t * mp, void * handle)
+  (vl_api_sw_interface_set_unnumbered_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_set_unnumbered ");
+  s = format (0, "SCRIPT: sw_interface_set_unnumbered ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "unnum_if_index %d ", ntohl(mp->unnumbered_sw_if_index));
+  s = format (s, "unnum_if_index %d ", ntohl (mp->unnumbered_sw_if_index));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_ip_neighbor_add_del_t_print
-(vl_api_ip_neighbor_add_del_t * mp, void *handle)
+  (vl_api_ip_neighbor_add_del_t * mp, void *handle)
 {
-    u8 * s;
-    u8 null_mac[6];
+  u8 *s;
+  u8 null_mac[6];
 
-    memset(null_mac, 0, sizeof (null_mac));
+  memset (null_mac, 0, sizeof (null_mac));
 
-    s = format (0, "SCRIPT: ip_neighbor_add_del ");
+  s = format (0, "SCRIPT: ip_neighbor_add_del ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->is_static)
-        s = format (s, "is_static ");
+  if (mp->is_static)
+    s = format (s, "is_static ");
 
-    s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf_id %d ", ntohl (mp->vrf_id));
 
-    if (memcmp (mp->mac_address, null_mac, 6))
-        s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
+  if (memcmp (mp->mac_address, null_mac, 6))
+    s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
 
-    if (mp->is_ipv6)
-        s = format (s, "dst %U ", format_ip6_address, (ip6_address_t *) mp->dst_address);
-    else
-        s = format (s, "dst %U ", format_ip4_address, (ip4_address_t *) mp->dst_address);
+  if (mp->is_ipv6)
+    s =
+      format (s, "dst %U ", format_ip6_address,
+             (ip6_address_t *) mp->dst_address);
+  else
+    s =
+      format (s, "dst %U ", format_ip4_address,
+             (ip4_address_t *) mp->dst_address);
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void *vl_api_reset_vrf_t_print
-(vl_api_reset_vrf_t * mp, void * handle)
+static void *
+vl_api_reset_vrf_t_print (vl_api_reset_vrf_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: reset_vrf ");
+  s = format (0, "SCRIPT: reset_vrf ");
 
-    if (mp->vrf_id)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_ipv6 != 0)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6 != 0)
+    s = format (s, "ipv6 ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_create_vlan_subif_t_print
-(vl_api_create_vlan_subif_t * mp, void * handle)
+  (vl_api_create_vlan_subif_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: create_vlan_subif ");
+  s = format (0, "SCRIPT: create_vlan_subif ");
 
-    if (mp->sw_if_index)
-        s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  if (mp->sw_if_index)
+    s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->vlan_id)
-        s = format (s, "vlan_id %d ", ntohl(mp->vlan_id));
+  if (mp->vlan_id)
+    s = format (s, "vlan_id %d ", ntohl (mp->vlan_id));
 
-    FINISH;
+  FINISH;
 }
 
 #define foreach_create_subif_bit                \
@@ -682,405 +708,415 @@ _(outer_vlan_id_any)                            \
 _(inner_vlan_id_any)
 
 static void *vl_api_create_subif_t_print
-(vl_api_create_subif_t * mp, void * handle)
+  (vl_api_create_subif_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: create_subif ");
+  s = format (0, "SCRIPT: create_subif ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "sub_id %d ", ntohl(mp->sub_id));
+  s = format (s, "sub_id %d ", ntohl (mp->sub_id));
 
-    if (mp->outer_vlan_id)
-        s = format (s, "outer_vlan_id %d ", ntohs (mp->outer_vlan_id));
+  if (mp->outer_vlan_id)
+    s = format (s, "outer_vlan_id %d ", ntohs (mp->outer_vlan_id));
 
-    if (mp->inner_vlan_id)
-        s = format (s, "inner_vlan_id %d ", ntohs (mp->inner_vlan_id));
+  if (mp->inner_vlan_id)
+    s = format (s, "inner_vlan_id %d ", ntohs (mp->inner_vlan_id));
 
 #define _(a) if (mp->a) s = format (s, "%s ", #a);
-    foreach_create_subif_bit;
+  foreach_create_subif_bit;
 #undef _
 
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_oam_add_del_t_print
-(vl_api_oam_add_del_t * mp, void * handle)
+  (vl_api_oam_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: oam_add_del ");
+  s = format (0, "SCRIPT: oam_add_del ");
 
-    if (mp->vrf_id)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    s = format (s, "src %U ", format_ip4_address, mp->src_address);
+  s = format (s, "src %U ", format_ip4_address, mp->src_address);
 
-    s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
+  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void *vl_api_reset_fib_t_print
-(vl_api_reset_fib_t * mp, void * handle)
+static void *
+vl_api_reset_fib_t_print (vl_api_reset_fib_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: reset_fib ");
+  s = format (0, "SCRIPT: reset_fib ");
 
-    if (mp->vrf_id)
-        s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  if (mp->vrf_id)
+    s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_ipv6 != 0)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6 != 0)
+    s = format (s, "ipv6 ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_dhcp_proxy_config_t_print
-(vl_api_dhcp_proxy_config_t * mp, void *handle)
+  (vl_api_dhcp_proxy_config_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: dhcp_proxy_config ");
+  s = format (0, "SCRIPT: dhcp_proxy_config ");
 
-    s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf_id %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_ipv6) {
-        s = format (s, "svr %U ", format_ip6_address,
-                    (ip6_address_t *) mp->dhcp_server);
-        s = format (s, "src %U ", format_ip6_address,
-                    (ip6_address_t *) mp->dhcp_src_address);
-    } else {
-        s = format (s, "svr %U ", format_ip4_address,
-                    (ip4_address_t *) mp->dhcp_server);
-        s = format (s, "src %U ", format_ip4_address,
-                    (ip4_address_t *) mp->dhcp_src_address);
+  if (mp->is_ipv6)
+    {
+      s = format (s, "svr %U ", format_ip6_address,
+                 (ip6_address_t *) mp->dhcp_server);
+      s = format (s, "src %U ", format_ip6_address,
+                 (ip6_address_t *) mp->dhcp_src_address);
     }
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  else
+    {
+      s = format (s, "svr %U ", format_ip4_address,
+                 (ip4_address_t *) mp->dhcp_server);
+      s = format (s, "src %U ", format_ip4_address,
+                 (ip4_address_t *) mp->dhcp_src_address);
+    }
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    s = format (s, "insert-cid %d ", mp->insert_circuit_id);
+  s = format (s, "insert-cid %d ", mp->insert_circuit_id);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_dhcp_proxy_config_2_t_print
-(vl_api_dhcp_proxy_config_2_t * mp, void *handle)
+  (vl_api_dhcp_proxy_config_2_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: dhcp_proxy_config_2 ");
+  s = format (0, "SCRIPT: dhcp_proxy_config_2 ");
 
-    s = format (s, "rx_vrf_id %d ", ntohl(mp->rx_vrf_id));
-    s = format (s, "server_vrf_id %d ", ntohl(mp->server_vrf_id));
+  s = format (s, "rx_vrf_id %d ", ntohl (mp->rx_vrf_id));
+  s = format (s, "server_vrf_id %d ", ntohl (mp->server_vrf_id));
 
-    if (mp->is_ipv6) {
-        s = format (s, "svr %U ", format_ip6_address,
-                    (ip6_address_t *) mp->dhcp_server);
-        s = format (s, "src %U ", format_ip6_address,
-                    (ip6_address_t *) mp->dhcp_src_address);
-    } else {
-        s = format (s, "svr %U ", format_ip4_address,
-                    (ip4_address_t *) mp->dhcp_server);
-        s = format (s, "src %U ", format_ip4_address,
-                    (ip4_address_t *) mp->dhcp_src_address);
+  if (mp->is_ipv6)
+    {
+      s = format (s, "svr %U ", format_ip6_address,
+                 (ip6_address_t *) mp->dhcp_server);
+      s = format (s, "src %U ", format_ip6_address,
+                 (ip6_address_t *) mp->dhcp_src_address);
     }
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  else
+    {
+      s = format (s, "svr %U ", format_ip4_address,
+                 (ip4_address_t *) mp->dhcp_server);
+      s = format (s, "src %U ", format_ip4_address,
+                 (ip4_address_t *) mp->dhcp_src_address);
+    }
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    s = format (s, "insert-cid %d ", mp->insert_circuit_id);
+  s = format (s, "insert-cid %d ", mp->insert_circuit_id);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_dhcp_proxy_set_vss_t_print
-(vl_api_dhcp_proxy_set_vss_t * mp, void * handle)
+  (vl_api_dhcp_proxy_set_vss_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: dhcp_proxy_set_vss ");
+  s = format (0, "SCRIPT: dhcp_proxy_set_vss ");
 
-    s = format (s, "tbl_id %d ", ntohl(mp->tbl_id));
+  s = format (s, "tbl_id %d ", ntohl (mp->tbl_id));
 
-    s = format (s, "fib_id %d ", ntohl(mp->fib_id));
+  s = format (s, "fib_id %d ", ntohl (mp->fib_id));
 
-    s = format (s, "oui %d ", ntohl(mp->oui));
+  s = format (s, "oui %d ", ntohl (mp->oui));
 
-    if (mp->is_ipv6 != 0)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6 != 0)
+    s = format (s, "ipv6 ");
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_dhcp_client_config_t_print
-(vl_api_dhcp_client_config_t * mp, void *handle)
+  (vl_api_dhcp_client_config_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: dhcp_client_config ");
+  s = format (0, "SCRIPT: dhcp_client_config ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "hostname %s ", mp->hostname);
+  s = format (s, "hostname %s ", mp->hostname);
 
-    s = format (s, "want_dhcp_event %d ", mp->want_dhcp_event);
+  s = format (s, "want_dhcp_event %d ", mp->want_dhcp_event);
 
-    s = format (s, "pid %d ", mp->pid);
+  s = format (s, "pid %d ", mp->pid);
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 
 static void *vl_api_set_ip_flow_hash_t_print
-(vl_api_set_ip_flow_hash_t * mp, void * handle)
+  (vl_api_set_ip_flow_hash_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: set_ip_flow_hash ");
+  s = format (0, "SCRIPT: set_ip_flow_hash ");
 
-    s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf_id %d ", ntohl (mp->vrf_id));
 
-    if (mp->src)
-        s = format (s, "src ");
+  if (mp->src)
+    s = format (s, "src ");
 
-    if (mp->dst)
-        s = format (s, "dst ");
+  if (mp->dst)
+    s = format (s, "dst ");
 
-    if (mp->sport)
-        s = format (s, "sport ");
+  if (mp->sport)
+    s = format (s, "sport ");
 
-    if (mp->dport)
-        s = format (s, "dport ");
+  if (mp->dport)
+    s = format (s, "dport ");
 
-    if (mp->proto)
-        s = format (s, "proto ");
+  if (mp->proto)
+    s = format (s, "proto ");
 
-    if (mp->reverse)
-        s = format (s, "reverse ");
+  if (mp->reverse)
+    s = format (s, "reverse ");
 
-    if (mp->is_ipv6 != 0)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6 != 0)
+    s = format (s, "ipv6 ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_ip6_set_link_local_address_t_print
-(vl_api_sw_interface_ip6_set_link_local_address_t * mp, void *handle)
+  (vl_api_sw_interface_ip6_set_link_local_address_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_ip6_set_link_local_address ");
+  s = format (0, "SCRIPT: sw_interface_ip6_set_link_local_address ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "%U/%d ", format_ip6_address, mp->address,
-                mp->address_length);
+  s = format (s, "%U/%d ", format_ip6_address, mp->address,
+             mp->address_length);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_ip6nd_ra_prefix_t_print
-(vl_api_sw_interface_ip6nd_ra_prefix_t * mp, void *handle)
+  (vl_api_sw_interface_ip6nd_ra_prefix_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_ip6nd_ra_prefix ");
+  s = format (0, "SCRIPT: sw_interface_ip6nd_ra_prefix ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "%U/%d ", format_ip6_address, mp->address,
-                mp->address_length);
+  s = format (s, "%U/%d ", format_ip6_address, mp->address,
+             mp->address_length);
 
-    s = format (s, "val_life %d ", ntohl(mp->val_lifetime));
+  s = format (s, "val_life %d ", ntohl (mp->val_lifetime));
 
-    s = format (s, "pref_life %d ", ntohl(mp->pref_lifetime));
+  s = format (s, "pref_life %d ", ntohl (mp->pref_lifetime));
 
-    if (mp->use_default)
-        s = format (s, "def ");
+  if (mp->use_default)
+    s = format (s, "def ");
 
-    if (mp->no_advertise)
-        s = format (s, "noadv ");
+  if (mp->no_advertise)
+    s = format (s, "noadv ");
 
-    if (mp->off_link)
-        s = format (s, "offl ");
+  if (mp->off_link)
+    s = format (s, "offl ");
 
-    if (mp->no_autoconfig)
-        s = format (s, "noauto ");
+  if (mp->no_autoconfig)
+    s = format (s, "noauto ");
 
-    if (mp->no_onlink)
-        s = format (s, "nolink ");
+  if (mp->no_onlink)
+    s = format (s, "nolink ");
 
-    if (mp->is_no)
-        s = format (s, "isno ");
+  if (mp->is_no)
+    s = format (s, "isno ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_ip6nd_ra_config_t_print
-(vl_api_sw_interface_ip6nd_ra_config_t * mp, void *handle)
+  (vl_api_sw_interface_ip6nd_ra_config_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_ip6nd_ra_config ");
+  s = format (0, "SCRIPT: sw_interface_ip6nd_ra_config ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "maxint %d ", ntohl(mp->max_interval));
+  s = format (s, "maxint %d ", ntohl (mp->max_interval));
 
-    s = format (s, "minint %d ", ntohl(mp->min_interval));
+  s = format (s, "minint %d ", ntohl (mp->min_interval));
 
-    s = format (s, "life %d ", ntohl(mp->lifetime));
+  s = format (s, "life %d ", ntohl (mp->lifetime));
 
-    s = format (s, "count %d ", ntohl(mp->initial_count));
+  s = format (s, "count %d ", ntohl (mp->initial_count));
 
-    s = format (s, "interval %d ", ntohl(mp->initial_interval));
+  s = format (s, "interval %d ", ntohl (mp->initial_interval));
 
-    if (mp->suppress)
-        s = format (s, "suppress ");
+  if (mp->suppress)
+    s = format (s, "suppress ");
 
-    if (mp->managed)
-        s = format (s, "managed ");
+  if (mp->managed)
+    s = format (s, "managed ");
 
-    if (mp->other)
-        s = format (s, "other ");
+  if (mp->other)
+    s = format (s, "other ");
 
-    if (mp->ll_option)
-        s = format (s, "ll ");
+  if (mp->ll_option)
+    s = format (s, "ll ");
 
-    if (mp->send_unicast)
-        s = format (s, "send ");
+  if (mp->send_unicast)
+    s = format (s, "send ");
 
-    if (mp->cease)
-        s = format (s, "cease ");
+  if (mp->cease)
+    s = format (s, "cease ");
 
-    if (mp->is_no)
-        s = format (s, "isno ");
+  if (mp->is_no)
+    s = format (s, "isno ");
 
-    if (mp->default_router)
-        s = format (s, "def ");
+  if (mp->default_router)
+    s = format (s, "def ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_set_arp_neighbor_limit_t_print
-(vl_api_set_arp_neighbor_limit_t * mp, void * handle)
+  (vl_api_set_arp_neighbor_limit_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: set_arp_neighbor_limit ");
+  s = format (0, "SCRIPT: set_arp_neighbor_limit ");
 
-    s = format (s, "arp_nbr_limit %d ", ntohl(mp->arp_neighbor_limit));
+  s = format (s, "arp_nbr_limit %d ", ntohl (mp->arp_neighbor_limit));
 
-    if (mp->is_ipv6 != 0)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6 != 0)
+    s = format (s, "ipv6 ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2_patch_add_del_t_print
-(vl_api_l2_patch_add_del_t * mp, void *handle)
+  (vl_api_l2_patch_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2_patch_add_del ");
+  s = format (0, "SCRIPT: l2_patch_add_del ");
 
-    s = format (s, "rx_sw_if_index %d ", ntohl(mp->rx_sw_if_index));
+  s = format (s, "rx_sw_if_index %d ", ntohl (mp->rx_sw_if_index));
 
-    s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
+  s = format (s, "tx_sw_if_index %d ", ntohl (mp->tx_sw_if_index));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sr_tunnel_add_del_t_print
-(vl_api_sr_tunnel_add_del_t * mp, void *handle)
+  (vl_api_sr_tunnel_add_del_t * mp, void *handle)
 {
-    u8 * s;
-    ip6_address_t * this_address;
-    int i;
-    u16 flags_host_byte_order;
-    u8 pl_flag;
+  u8 *s;
+  ip6_address_t *this_address;
+  int i;
+  u16 flags_host_byte_order;
+  u8 pl_flag;
 
-    s = format (0, "SCRIPT: sr_tunnel_add_del ");
+  s = format (0, "SCRIPT: sr_tunnel_add_del ");
 
-    if (mp->name[0])
-      s = format (s, "name %s ", mp->name);
+  if (mp->name[0])
+    s = format (s, "name %s ", mp->name);
 
-    s = format (s, "src %U dst %U/%d ", format_ip6_address,
-                (ip6_address_t *) mp->src_address,
-                format_ip6_address,
-                (ip6_address_t *) mp->dst_address, mp->dst_mask_width);
+  s = format (s, "src %U dst %U/%d ", format_ip6_address,
+             (ip6_address_t *) mp->src_address,
+             format_ip6_address,
+             (ip6_address_t *) mp->dst_address, mp->dst_mask_width);
 
-    this_address = (ip6_address_t *)mp->segs_and_tags;
-    for (i = 0; i < mp->n_segments; i++) {
-        s = format (s, "next %U ", format_ip6_address, this_address);
-        this_address++;
+  this_address = (ip6_address_t *) mp->segs_and_tags;
+  for (i = 0; i < mp->n_segments; i++)
+    {
+      s = format (s, "next %U ", format_ip6_address, this_address);
+      this_address++;
     }
-    for (i = 0; i < mp->n_tags; i++) {
-        s = format (s, "tag %U ", format_ip6_address, this_address);
-        this_address++;
+  for (i = 0; i < mp->n_tags; i++)
+    {
+      s = format (s, "tag %U ", format_ip6_address, this_address);
+      this_address++;
     }
 
-    flags_host_byte_order = clib_net_to_host_u16 (mp->flags_net_byte_order);
+  flags_host_byte_order = clib_net_to_host_u16 (mp->flags_net_byte_order);
 
-    if (flags_host_byte_order & IP6_SR_HEADER_FLAG_CLEANUP)
-        s = format (s, " clean ");
+  if (flags_host_byte_order & IP6_SR_HEADER_FLAG_CLEANUP)
+    s = format (s, " clean ");
 
-    if (flags_host_byte_order & IP6_SR_HEADER_FLAG_PROTECTED)
-        s = format (s, "protected ");
+  if (flags_host_byte_order & IP6_SR_HEADER_FLAG_PROTECTED)
+    s = format (s, "protected ");
 
-    for (i = 1; i <= 4; i++) {
-        pl_flag = ip6_sr_policy_list_flags (flags_host_byte_order, i);
+  for (i = 1; i <= 4; i++)
+    {
+      pl_flag = ip6_sr_policy_list_flags (flags_host_byte_order, i);
 
-        switch (pl_flag) {
-        case IP6_SR_HEADER_FLAG_PL_ELT_NOT_PRESENT:
-            continue;
+      switch (pl_flag)
+       {
+       case IP6_SR_HEADER_FLAG_PL_ELT_NOT_PRESENT:
+         continue;
 
-        case IP6_SR_HEADER_FLAG_PL_ELT_INGRESS_PE:
-            s = format (s, "InPE %d ", i);
-            break;
+       case IP6_SR_HEADER_FLAG_PL_ELT_INGRESS_PE:
+         s = format (s, "InPE %d ", i);
+         break;
 
-        case IP6_SR_HEADER_FLAG_PL_ELT_EGRESS_PE:
-            s = format (s, "EgPE %d ", i);
-            break;
+       case IP6_SR_HEADER_FLAG_PL_ELT_EGRESS_PE:
+         s = format (s, "EgPE %d ", i);
+         break;
 
-        case IP6_SR_HEADER_FLAG_PL_ELT_ORIG_SRC_ADDR:
-            s = format (s, "OrgSrc %d ", i);
-            break;
+       case IP6_SR_HEADER_FLAG_PL_ELT_ORIG_SRC_ADDR:
+         s = format (s, "OrgSrc %d ", i);
+         break;
 
-        default:
-            clib_warning ("BUG: pl elt %d value %d", i, pl_flag);
-            break;
-        }
+       default:
+         clib_warning ("BUG: pl elt %d value %d", i, pl_flag);
+         break;
+       }
     }
 
-    if (mp->policy_name[0])
-      s = format (s, "policy_name %s ", mp->policy_name);
+  if (mp->policy_name[0])
+    s = format (s, "policy_name %s ", mp->policy_name);
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sr_policy_add_del_t_print
-(vl_api_sr_policy_add_del_t * mp, void *handle)
+  (vl_api_sr_policy_add_del_t * mp, void *handle)
 {
-  u8 * s;
+  u8 *s;
   int i;
 
   s = format (0, "SCRIPT: sr_policy_add_del ");
@@ -1091,24 +1127,24 @@ static void *vl_api_sr_policy_add_del_t_print
 
   if (mp->tunnel_names[0])
     {
-    // start deserializing tunnel_names
-    int num_tunnels = mp->tunnel_names[0]; //number of tunnels
-    u8 * deser_tun_names = mp->tunnel_names;
-    deser_tun_names += 1; //moving along
-
-    u8 * tun_name = 0;
-    int tun_name_len = 0;
-
-    for (i=0; i < num_tunnels; i++)
-      {
-       tun_name_len= *deser_tun_names;
-       deser_tun_names += 1;
-       vec_resize (tun_name, tun_name_len);
-       memcpy(tun_name, deser_tun_names, tun_name_len);
-       s = format (s, "tunnel %s ", tun_name);
-       deser_tun_names += tun_name_len;
-       tun_name = 0;
-      }
+      // start deserializing tunnel_names
+      int num_tunnels = mp->tunnel_names[0];   //number of tunnels
+      u8 *deser_tun_names = mp->tunnel_names;
+      deser_tun_names += 1;    //moving along
+
+      u8 *tun_name = 0;
+      int tun_name_len = 0;
+
+      for (i = 0; i < num_tunnels; i++)
+       {
+         tun_name_len = *deser_tun_names;
+         deser_tun_names += 1;
+         vec_resize (tun_name, tun_name_len);
+         memcpy (tun_name, deser_tun_names, tun_name_len);
+         s = format (s, "tunnel %s ", tun_name);
+         deser_tun_names += tun_name_len;
+         tun_name = 0;
+       }
     }
 
   if (mp->is_add == 0)
@@ -1118,10 +1154,10 @@ static void *vl_api_sr_policy_add_del_t_print
 }
 
 static void *vl_api_sr_multicast_map_add_del_t_print
-(vl_api_sr_multicast_map_add_del_t * mp, void *handle)
+  (vl_api_sr_multicast_map_add_del_t * mp, void *handle)
 {
 
-  u8 * s = 0;
+  u8 *s = 0;
   /* int i; */
 
   s = format (0, "SCRIPT: sr_multicast_map_add_del ");
@@ -1141,1000 +1177,1015 @@ static void *vl_api_sr_multicast_map_add_del_t_print
 
 
 static void *vl_api_classify_add_del_table_t_print
-(vl_api_classify_add_del_table_t * mp, void *handle)
-{
-    u8 * s;
-    int i;
-
-    s = format (0, "SCRIPT: classify_add_del_table ");
-
-    if (mp->is_add == 0) {
-        s = format (s, "table %d ", ntohl(mp->table_index));
-        s = format (s, "del ");
-    } else {
-        s = format (s, "nbuckets %d ", ntohl(mp->nbuckets));
-        s = format (s, "memory_size %d ", ntohl(mp->memory_size));
-        s = format (s, "skip %d ", ntohl(mp->skip_n_vectors));
-        s = format (s, "match %d ", ntohl(mp->match_n_vectors));
-        s = format (s, "next-table %d ", ntohl(mp->next_table_index));
-        s = format (s, "miss-next %d ", ntohl(mp->miss_next_index));
-        s = format (s, "mask hex ");
-        for (i = 0; i < ntohl(mp->match_n_vectors) * sizeof (u32x4); i++)
-            s = format (s, "%02x", mp->mask[i]);
-        vec_add1 (s, ' ');
+  (vl_api_classify_add_del_table_t * mp, void *handle)
+{
+  u8 *s;
+  int i;
+
+  s = format (0, "SCRIPT: classify_add_del_table ");
+
+  if (mp->is_add == 0)
+    {
+      s = format (s, "table %d ", ntohl (mp->table_index));
+      s = format (s, "del ");
+    }
+  else
+    {
+      s = format (s, "nbuckets %d ", ntohl (mp->nbuckets));
+      s = format (s, "memory_size %d ", ntohl (mp->memory_size));
+      s = format (s, "skip %d ", ntohl (mp->skip_n_vectors));
+      s = format (s, "match %d ", ntohl (mp->match_n_vectors));
+      s = format (s, "next-table %d ", ntohl (mp->next_table_index));
+      s = format (s, "miss-next %d ", ntohl (mp->miss_next_index));
+      s = format (s, "mask hex ");
+      for (i = 0; i < ntohl (mp->match_n_vectors) * sizeof (u32x4); i++)
+       s = format (s, "%02x", mp->mask[i]);
+      vec_add1 (s, ' ');
     }
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_add_del_session_t_print
-(vl_api_classify_add_del_session_t * mp, void *handle)
-{
-    u8 * s;
-    int i, limit=0;
-
-    s = format (0, "SCRIPT: classify_add_del_session ");
-
-    s = format (s, "table_index %d ", ntohl (mp->table_index));
-    s = format (s, "hit_next_index %d ", ntohl (mp->hit_next_index));
-    s = format (s, "opaque_index %d ", ntohl (mp->opaque_index));
-    s = format (s, "advance %d ", ntohl (mp->advance));
-    if (mp->is_add == 0)
-        s = format (s, "del ");
-
-    s = format (s, "match hex ");
-    for (i = 5 * sizeof(u32x4)-1; i > 0; i--) {
-        if (mp->match[i] != 0) {
-            limit = i + 1;
-            break;
-        }
+  (vl_api_classify_add_del_session_t * mp, void *handle)
+{
+  u8 *s;
+  int i, limit = 0;
+
+  s = format (0, "SCRIPT: classify_add_del_session ");
+
+  s = format (s, "table_index %d ", ntohl (mp->table_index));
+  s = format (s, "hit_next_index %d ", ntohl (mp->hit_next_index));
+  s = format (s, "opaque_index %d ", ntohl (mp->opaque_index));
+  s = format (s, "advance %d ", ntohl (mp->advance));
+  if (mp->is_add == 0)
+    s = format (s, "del ");
+
+  s = format (s, "match hex ");
+  for (i = 5 * sizeof (u32x4) - 1; i > 0; i--)
+    {
+      if (mp->match[i] != 0)
+       {
+         limit = i + 1;
+         break;
+       }
     }
 
-    for (i = 0; i < limit; i++)
-        s = format (s, "%02x", mp->match[i]);
+  for (i = 0; i < limit; i++)
+    s = format (s, "%02x", mp->match[i]);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_set_interface_ip_table_t_print
-(vl_api_classify_set_interface_ip_table_t * mp, void *handle)
+  (vl_api_classify_set_interface_ip_table_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_set_interface_ip_table ");
+  s = format (0, "SCRIPT: classify_set_interface_ip_table ");
 
-    if (mp->is_ipv6)
-        s = format (s, "ipv6 ");
+  if (mp->is_ipv6)
+    s = format (s, "ipv6 ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "table %d ", ntohl(mp->table_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "table %d ", ntohl (mp->table_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_set_interface_l2_tables_t_print
-(vl_api_classify_set_interface_l2_tables_t * mp, void *handle)
+  (vl_api_classify_set_interface_l2_tables_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_set_interface_l2_tables ");
+  s = format (0, "SCRIPT: classify_set_interface_l2_tables ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "ip4-table %d ", ntohl(mp->ip4_table_index));
-    s = format (s, "ip6-table %d ", ntohl(mp->ip6_table_index));
-    s = format (s, "other-table %d ", ntohl(mp->other_table_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "ip4-table %d ", ntohl (mp->ip4_table_index));
+  s = format (s, "ip6-table %d ", ntohl (mp->ip6_table_index));
+  s = format (s, "other-table %d ", ntohl (mp->other_table_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_add_node_next_t_print
-(vl_api_add_node_next_t * mp, void *handle)
+  (vl_api_add_node_next_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: add_node_next ");
+  s = format (0, "SCRIPT: add_node_next ");
 
-    s = format (0, "node %s next %s ", mp->node_name, mp->next_name);
+  s = format (0, "node %s next %s ", mp->node_name, mp->next_name);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2tpv3_create_tunnel_t_print
-(vl_api_l2tpv3_create_tunnel_t * mp, void *handle)
+  (vl_api_l2tpv3_create_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2tpv3_create_tunnel ");
+  s = format (0, "SCRIPT: l2tpv3_create_tunnel ");
 
-    s = format (s, "client_address %U our_address %U ",
-                format_ip6_address, (ip6_address_t *)(mp->client_address),
-                format_ip6_address, (ip6_address_t *)(mp->our_address));
-    s = format (s, "local_session_id %d ", ntohl(mp->local_session_id));
-    s = format (s, "remote_session_id %d ", ntohl(mp->remote_session_id));
-    s = format (s, "local_cookie %lld ",
-                clib_net_to_host_u64 (mp->local_cookie));
-    s = format (s, "remote_cookie %lld ",
-                clib_net_to_host_u64 (mp->remote_cookie));
-    if (mp->l2_sublayer_present)
-        s = format (s, "l2-sublayer-present ");
+  s = format (s, "client_address %U our_address %U ",
+             format_ip6_address, (ip6_address_t *) (mp->client_address),
+             format_ip6_address, (ip6_address_t *) (mp->our_address));
+  s = format (s, "local_session_id %d ", ntohl (mp->local_session_id));
+  s = format (s, "remote_session_id %d ", ntohl (mp->remote_session_id));
+  s = format (s, "local_cookie %lld ",
+             clib_net_to_host_u64 (mp->local_cookie));
+  s = format (s, "remote_cookie %lld ",
+             clib_net_to_host_u64 (mp->remote_cookie));
+  if (mp->l2_sublayer_present)
+    s = format (s, "l2-sublayer-present ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2tpv3_set_tunnel_cookies_t_print
-(vl_api_l2tpv3_set_tunnel_cookies_t * mp, void *handle)
+  (vl_api_l2tpv3_set_tunnel_cookies_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2tpv3_set_tunnel_cookies ");
+  s = format (0, "SCRIPT: l2tpv3_set_tunnel_cookies ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "new_local_cookie %llu ",
-                clib_net_to_host_u64 (mp->new_local_cookie));
+  s = format (s, "new_local_cookie %llu ",
+             clib_net_to_host_u64 (mp->new_local_cookie));
 
-    s = format (s, "new_remote_cookie %llu ",
-                clib_net_to_host_u64 (mp->new_remote_cookie));
+  s = format (s, "new_remote_cookie %llu ",
+             clib_net_to_host_u64 (mp->new_remote_cookie));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2tpv3_interface_enable_disable_t_print
-(vl_api_l2tpv3_interface_enable_disable_t *mp, void *handle)
+  (vl_api_l2tpv3_interface_enable_disable_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2tpv3_interface_enable_disable ");
+  s = format (0, "SCRIPT: l2tpv3_interface_enable_disable ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->enable_disable == 0)
-        s = format (s, "del ");
+  if (mp->enable_disable == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_l2tpv3_set_lookup_key_t_print
-(vl_api_l2tpv3_set_lookup_key_t * mp, void *handle)
+static void *vl_api_l2tpv3_set_lookup_key_t_print
+  (vl_api_l2tpv3_set_lookup_key_t * mp, void *handle)
 {
-    u8 * s;
-    char * str = "unknown";
+  u8 *s;
+  char *str = "unknown";
 
-    s = format (0, "SCRIPT: l2tpv3_set_lookup_key ");
+  s = format (0, "SCRIPT: l2tpv3_set_lookup_key ");
 
-    switch (mp->key) {
+  switch (mp->key)
+    {
     case L2T_LOOKUP_SRC_ADDRESS:
-        str = "lookup_v6_src";
-        break;
+      str = "lookup_v6_src";
+      break;
     case L2T_LOOKUP_DST_ADDRESS:
-        str = "lookup_v6_dst";
-        break;
+      str = "lookup_v6_dst";
+      break;
     case L2T_LOOKUP_SESSION_ID:
-        str = "lookup_session_id";
-        break;
+      str = "lookup_session_id";
+      break;
     default:
-        break;
+      break;
     }
 
-    s = format (s, "%s ", str);
+  s = format (s, "%s ", str);
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_sw_if_l2tpv3_tunnel_dump_t_print
-(vl_api_sw_if_l2tpv3_tunnel_dump_t * mp, void *handle)
+static void *vl_api_sw_if_l2tpv3_tunnel_dump_t_print
+  (vl_api_sw_if_l2tpv3_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_if_l2tpv3_tunnel_dump ");
+  s = format (0, "SCRIPT: sw_if_l2tpv3_tunnel_dump ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_vxlan_add_del_tunnel_t_print
-(vl_api_vxlan_add_del_tunnel_t * mp, void *handle)
+static void *vl_api_vxlan_add_del_tunnel_t_print
+  (vl_api_vxlan_add_del_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: vxlan_add_del_tunnel ");
+  s = format (0, "SCRIPT: vxlan_add_del_tunnel ");
 
-    s = format (s, "dst %U ", format_ip46_address,
-                (ip46_address_t *)&(mp->dst_address),
-               mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
+  s = format (s, "dst %U ", format_ip46_address,
+             (ip46_address_t *) & (mp->dst_address),
+             mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
 
-    s = format (s, "src %U ", format_ip46_address,
-                (ip46_address_t *)&(mp->src_address),
-               mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
+  s = format (s, "src %U ", format_ip46_address,
+             (ip46_address_t *) & (mp->src_address),
+             mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
 
-    if (mp->encap_vrf_id)
-        s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
+  if (mp->encap_vrf_id)
+    s = format (s, "encap-vrf-id %d ", ntohl (mp->encap_vrf_id));
 
-    s = format (s, "decap-next %d ", ntohl(mp->decap_next_index));
+  s = format (s, "decap-next %d ", ntohl (mp->decap_next_index));
 
-    s = format (s, "vni %d ", ntohl(mp->vni));
+  s = format (s, "vni %d ", ntohl (mp->vni));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_vxlan_tunnel_dump_t_print
-(vl_api_vxlan_tunnel_dump_t * mp, void *handle)
+static void *vl_api_vxlan_tunnel_dump_t_print
+  (vl_api_vxlan_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: vxlan_tunnel_dump ");
+  s = format (0, "SCRIPT: vxlan_tunnel_dump ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_gre_add_del_tunnel_t_print
-(vl_api_gre_add_del_tunnel_t * mp, void *handle)
+static void *vl_api_gre_add_del_tunnel_t_print
+  (vl_api_gre_add_del_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: gre_add_del_tunnel ");
+  s = format (0, "SCRIPT: gre_add_del_tunnel ");
 
-    s = format (s, "dst %U ", format_ip46_address,
-                (ip46_address_t *)&(mp->dst_address),
-               mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
+  s = format (s, "dst %U ", format_ip46_address,
+             (ip46_address_t *) & (mp->dst_address),
+             mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
 
-    s = format (s, "src %U ", format_ip46_address,
-                (ip46_address_t *)&(mp->src_address),
-               mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
+  s = format (s, "src %U ", format_ip46_address,
+             (ip46_address_t *) & (mp->src_address),
+             mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4);
 
-    if (mp->outer_fib_id)
-        s = format (s, "outer-fib-id %d ", ntohl(mp->outer_fib_id));
+  if (mp->outer_fib_id)
+    s = format (s, "outer-fib-id %d ", ntohl (mp->outer_fib_id));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_gre_tunnel_dump_t_print
-(vl_api_gre_tunnel_dump_t * mp, void *handle)
+static void *vl_api_gre_tunnel_dump_t_print
+  (vl_api_gre_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: gre_tunnel_dump ");
+  s = format (0, "SCRIPT: gre_tunnel_dump ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2_fib_clear_table_t_print
-(vl_api_l2_fib_clear_table_t * mp, void *handle)
+  (vl_api_l2_fib_clear_table_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2_fib_clear_table ");
+  s = format (0, "SCRIPT: l2_fib_clear_table ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2_interface_efp_filter_t_print
-(vl_api_l2_interface_efp_filter_t * mp, void *handle)
+  (vl_api_l2_interface_efp_filter_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2_interface_efp_filter ");
+  s = format (0, "SCRIPT: l2_interface_efp_filter ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    if (mp->enable_disable)
-        s = format (s, "enable ");
-    else
-        s = format (s, "disable ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  if (mp->enable_disable)
+    s = format (s, "enable ");
+  else
+    s = format (s, "disable ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2_interface_vlan_tag_rewrite_t_print
-(vl_api_l2_interface_vlan_tag_rewrite_t * mp, void *handle)
+  (vl_api_l2_interface_vlan_tag_rewrite_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2_interface_vlan_tag_rewrite ");
+  s = format (0, "SCRIPT: l2_interface_vlan_tag_rewrite ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "vtr_op %d ", ntohl(mp->vtr_op));
-    s = format (s, "push_dot1q %d ", ntohl(mp->push_dot1q));
-    s = format (s, "tag1 %d ", ntohl(mp->tag1));
-    s = format (s, "tag2 %d ", ntohl(mp->tag2));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "vtr_op %d ", ntohl (mp->vtr_op));
+  s = format (s, "push_dot1q %d ", ntohl (mp->push_dot1q));
+  s = format (s, "tag1 %d ", ntohl (mp->tag1));
+  s = format (s, "tag2 %d ", ntohl (mp->tag2));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_create_vhost_user_if_t_print
-(vl_api_create_vhost_user_if_t * mp, void *handle)
+  (vl_api_create_vhost_user_if_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: create_vhost_user_if ");
+  s = format (0, "SCRIPT: create_vhost_user_if ");
 
-    s = format (s, "socket %s ", mp->sock_filename);
-    if (mp->is_server)
-        s = format (s, "server ");
-    if (mp->renumber)
-        s = format (s, "renumber %d ", ntohl(mp->custom_dev_instance));
+  s = format (s, "socket %s ", mp->sock_filename);
+  if (mp->is_server)
+    s = format (s, "server ");
+  if (mp->renumber)
+    s = format (s, "renumber %d ", ntohl (mp->custom_dev_instance));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_modify_vhost_user_if_t_print
-(vl_api_modify_vhost_user_if_t * mp, void *handle)
+  (vl_api_modify_vhost_user_if_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: modify_vhost_user_if ");
+  s = format (0, "SCRIPT: modify_vhost_user_if ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "socket %s ", mp->sock_filename);
-    if (mp->is_server)
-        s = format (s, "server ");
-    if (mp->renumber)
-        s = format (s, "renumber %d ", ntohl(mp->custom_dev_instance));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "socket %s ", mp->sock_filename);
+  if (mp->is_server)
+    s = format (s, "server ");
+  if (mp->renumber)
+    s = format (s, "renumber %d ", ntohl (mp->custom_dev_instance));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_delete_vhost_user_if_t_print
-(vl_api_delete_vhost_user_if_t * mp, void *handle)
+  (vl_api_delete_vhost_user_if_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: delete_vhost_user_if ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (0, "SCRIPT: delete_vhost_user_if ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_vhost_user_dump_t_print
-(vl_api_sw_interface_vhost_user_dump_t * mp, void *handle)
+  (vl_api_sw_interface_vhost_user_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_vhost_user_dump ");
+  s = format (0, "SCRIPT: sw_interface_vhost_user_dump ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_dump_t_print
-(vl_api_sw_interface_dump_t * mp, void *handle)
+  (vl_api_sw_interface_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_dump ");
+  s = format (0, "SCRIPT: sw_interface_dump ");
 
-    if (mp->name_filter_valid)
-        s = format (s, "name_filter %s ", mp->name_filter);
-    else
-        s = format (s, "all ");
+  if (mp->name_filter_valid)
+    s = format (s, "name_filter %s ", mp->name_filter);
+  else
+    s = format (s, "all ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_l2_fib_table_dump_t_print
-(vl_api_l2_fib_table_dump_t * mp, void *handle)
+  (vl_api_l2_fib_table_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: l2_fib_table_dump ");
+  s = format (0, "SCRIPT: l2_fib_table_dump ");
 
-    s = format (s, "bd_id %d ", ntohl(mp->bd_id));
+  s = format (s, "bd_id %d ", ntohl (mp->bd_id));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_control_ping_t_print
-(vl_api_control_ping_t * mp, void *handle)
+  (vl_api_control_ping_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: control_ping ");
+  s = format (0, "SCRIPT: control_ping ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_want_interface_events_t_print
-(vl_api_want_interface_events_t * mp, void *handle)
+  (vl_api_want_interface_events_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: want_interface_events pid %d enable %d ",
-                ntohl(mp->pid), ntohl(mp->enable_disable));
+  s = format (0, "SCRIPT: want_interface_events pid %d enable %d ",
+             ntohl (mp->pid), ntohl (mp->enable_disable));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_cli_request_t_print
-(vl_api_cli_request_t * mp, void *handle)
+  (vl_api_cli_request_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: cli_request ");
+  s = format (0, "SCRIPT: cli_request ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_memclnt_create_t_print
-(vl_api_memclnt_create_t * mp, void *handle)
+  (vl_api_memclnt_create_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: memclnt_create name %s ", mp->name);
+  s = format (0, "SCRIPT: memclnt_create name %s ", mp->name);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_show_version_t_print
-(vl_api_show_version_t * mp, void *handle)
+  (vl_api_show_version_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: show_version ");
+  s = format (0, "SCRIPT: show_version ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_vxlan_gpe_add_del_tunnel_t_print
-(vl_api_vxlan_gpe_add_del_tunnel_t * mp, void *handle)
+  (vl_api_vxlan_gpe_add_del_tunnel_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: vxlan_gpe_add_del_tunnel ");
+  s = format (0, "SCRIPT: vxlan_gpe_add_del_tunnel ");
 
-    s = format (s, "local %U ", format_ip46_address, &mp->local, mp->is_ipv6);
+  s = format (s, "local %U ", format_ip46_address, &mp->local, mp->is_ipv6);
 
-    s = format (s, "remote %U ", format_ip46_address, &mp->remote, mp->is_ipv6);
+  s = format (s, "remote %U ", format_ip46_address, &mp->remote, mp->is_ipv6);
 
-    s = format (s, "protocol %d ", ntohl(mp->protocol));
+  s = format (s, "protocol %d ", ntohl (mp->protocol));
 
-    s = format (s, "vni %d ", ntohl(mp->vni));
+  s = format (s, "vni %d ", ntohl (mp->vni));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    if (mp->encap_vrf_id)
-        s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
+  if (mp->encap_vrf_id)
+    s = format (s, "encap-vrf-id %d ", ntohl (mp->encap_vrf_id));
 
-    if (mp->decap_vrf_id)
-        s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id));
+  if (mp->decap_vrf_id)
+    s = format (s, "decap-vrf-id %d ", ntohl (mp->decap_vrf_id));
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_vxlan_gpe_tunnel_dump_t_print
-(vl_api_vxlan_gpe_tunnel_dump_t * mp, void *handle)
+static void *vl_api_vxlan_gpe_tunnel_dump_t_print
+  (vl_api_vxlan_gpe_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: vxlan_gpe_tunnel_dump ");
+  s = format (0, "SCRIPT: vxlan_gpe_tunnel_dump ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_interface_name_renumber_t_print
-(vl_api_interface_name_renumber_t * mp, void * handle)
+  (vl_api_interface_name_renumber_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: interface_renumber ");
+  s = format (0, "SCRIPT: interface_renumber ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    s = format (s, "new_show_dev_instance %d ",
-                ntohl(mp->new_show_dev_instance));
+  s = format (s, "new_show_dev_instance %d ",
+             ntohl (mp->new_show_dev_instance));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_want_ip4_arp_events_t_print
-(vl_api_want_ip4_arp_events_t * mp, void * handle)
+  (vl_api_want_ip4_arp_events_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: want_ip4_arp_events ");
-    s = format (s, "pid %d address %U ", mp->pid,
-                format_ip4_address, &mp->address);
-    if (mp->enable_disable == 0)
-        s = format (s, "del ");
+  s = format (0, "SCRIPT: want_ip4_arp_events ");
+  s = format (s, "pid %d address %U ", mp->pid,
+             format_ip4_address, &mp->address);
+  if (mp->enable_disable == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_input_acl_set_interface_t_print
-(vl_api_input_acl_set_interface_t * mp, void *handle)
+  (vl_api_input_acl_set_interface_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: input_acl_set_interface ");
+  s = format (0, "SCRIPT: input_acl_set_interface ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "ip4-table %d ", ntohl(mp->ip4_table_index));
-    s = format (s, "ip6-table %d ", ntohl(mp->ip6_table_index));
-    s = format (s, "l2-table %d ", ntohl(mp->l2_table_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "ip4-table %d ", ntohl (mp->ip4_table_index));
+  s = format (s, "ip6-table %d ", ntohl (mp->ip6_table_index));
+  s = format (s, "l2-table %d ", ntohl (mp->l2_table_index));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_ip_address_dump_t_print
-(vl_api_ip_address_dump_t * mp, void *handle)
+static void *vl_api_ip_address_dump_t_print
+  (vl_api_ip_address_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: ip6_address_dump ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
+  s = format (0, "SCRIPT: ip6_address_dump ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_ip_dump_t_print
-(vl_api_ip_dump_t * mp, void *handle)
+static void *
+vl_api_ip_dump_t_print (vl_api_ip_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: ip_dump ");
-    s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
+  s = format (0, "SCRIPT: ip_dump ");
+  s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_cop_interface_enable_disable_t_print
-(vl_api_cop_interface_enable_disable_t * mp, void *handle)
+static void *vl_api_cop_interface_enable_disable_t_print
+  (vl_api_cop_interface_enable_disable_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: cop_interface_enable_disable ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    if (mp->enable_disable)
-        s = format (s, "enable ");
-    else
-        s = format (s, "disable ");
+  s = format (0, "SCRIPT: cop_interface_enable_disable ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  if (mp->enable_disable)
+    s = format (s, "enable ");
+  else
+    s = format (s, "disable ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_cop_whitelist_enable_disable_t_print
-(vl_api_cop_whitelist_enable_disable_t * mp, void *handle)
+static void *vl_api_cop_whitelist_enable_disable_t_print
+  (vl_api_cop_whitelist_enable_disable_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: cop_whitelist_enable_disable ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    s = format (s, "fib-id %d ", ntohl(mp->fib_id));
-    if (mp->ip4)
-        s = format (s, "ip4 ");
-    if (mp->ip6)
-        s = format (s, "ip6 ");
-    if (mp->default_cop)
-        s = format (s, "default ");
+  s = format (0, "SCRIPT: cop_whitelist_enable_disable ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  s = format (s, "fib-id %d ", ntohl (mp->fib_id));
+  if (mp->ip4)
+    s = format (s, "ip4 ");
+  if (mp->ip6)
+    s = format (s, "ip6 ");
+  if (mp->default_cop)
+    s = format (s, "default ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_af_packet_create_t_print
-(vl_api_af_packet_create_t * mp, void *handle)
+static void *vl_api_af_packet_create_t_print
+  (vl_api_af_packet_create_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: af_packet_create ");
-    s = format (s, "host_if_name %s ", mp->host_if_name);
-    if ( mp->use_random_hw_addr)
-      s = format (s, "hw_addr random ");
-    else
-      s = format (s, "hw_addr %U ", format_ethernet_address, mp->hw_addr);
+  s = format (0, "SCRIPT: af_packet_create ");
+  s = format (s, "host_if_name %s ", mp->host_if_name);
+  if (mp->use_random_hw_addr)
+    s = format (s, "hw_addr random ");
+  else
+    s = format (s, "hw_addr %U ", format_ethernet_address, mp->hw_addr);
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_af_packet_delete_t_print
-(vl_api_af_packet_delete_t * mp, void *handle)
+static void *vl_api_af_packet_delete_t_print
+  (vl_api_af_packet_delete_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: af_packet_delete ");
-    s = format (s, "host_if_name %s ", mp->host_if_name);
+  s = format (0, "SCRIPT: af_packet_delete ");
+  s = format (s, "host_if_name %s ", mp->host_if_name);
 
-    FINISH;
+  FINISH;
 }
 
-static u8 * format_policer_action (u8 * s, va_list * va)
+static u8 *
+format_policer_action (u8 * s, va_list * va)
 {
-    u32 action = va_arg (*va, u32);
-    u32 dscp = va_arg (*va, u32);
-    char * t = 0;
+  u32 action = va_arg (*va, u32);
+  u32 dscp = va_arg (*va, u32);
+  char *t = 0;
 
-    if (action == SSE2_QOS_ACTION_DROP)
-        s = format (s, "drop");
-    else if (action == SSE2_QOS_ACTION_TRANSMIT)
-        s = format (s, "transmit");
-    else if (action == SSE2_QOS_ACTION_MARK_AND_TRANSMIT) {
-        s = format (s, "mark-and-transmit ");
-        switch (dscp) {
-        #define _(v,f,str) case VNET_DSCP_##f: t = str; break;
-            foreach_vnet_dscp
-        #undef _
-        default:
-            break;
-        }
-        s = format (s, "%s", t);
+  if (action == SSE2_QOS_ACTION_DROP)
+    s = format (s, "drop");
+  else if (action == SSE2_QOS_ACTION_TRANSMIT)
+    s = format (s, "transmit");
+  else if (action == SSE2_QOS_ACTION_MARK_AND_TRANSMIT)
+    {
+      s = format (s, "mark-and-transmit ");
+      switch (dscp)
+       {
+#define _(v,f,str) case VNET_DSCP_##f: t = str; break;
+         foreach_vnet_dscp
+#undef _
+       default:
+         break;
+       }
+      s = format (s, "%s", t);
     }
 
-    return s;
+  return s;
 }
 
-static void * vl_api_policer_add_del_t_print
-(vl_api_policer_add_del_t * mp, void *handle)
+static void *vl_api_policer_add_del_t_print
+  (vl_api_policer_add_del_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: policer_add_del ");
-    s = format (s, "name %s ", mp->name);
-    s = format (s, "cir %d ", mp->cir);
-    s = format (s, "eir %d ", mp->eir);
-    s = format (s, "cb %d ", mp->cb);
-    s = format (s, "eb %d ", mp->eb);
+  s = format (0, "SCRIPT: policer_add_del ");
+  s = format (s, "name %s ", mp->name);
+  s = format (s, "cir %d ", mp->cir);
+  s = format (s, "eir %d ", mp->eir);
+  s = format (s, "cb %d ", mp->cb);
+  s = format (s, "eb %d ", mp->eb);
 
-    switch (mp->rate_type) {
+  switch (mp->rate_type)
+    {
     case SSE2_QOS_RATE_KBPS:
-        s = format (s, "rate_type kbps ");
-        break;
+      s = format (s, "rate_type kbps ");
+      break;
     case SSE2_QOS_RATE_PPS:
-        s = format (s, "rate_type pps ");
-        break;
+      s = format (s, "rate_type pps ");
+      break;
     default:
-        break;
+      break;
     }
 
-    switch (mp->round_type) {
+  switch (mp->round_type)
+    {
     case SSE2_QOS_ROUND_TO_CLOSEST:
-        s = format (s, "round_type closest ");
-        break;
+      s = format (s, "round_type closest ");
+      break;
     case SSE2_QOS_ROUND_TO_UP:
-        s = format (s, "round_type up ");
-        break;
+      s = format (s, "round_type up ");
+      break;
     case SSE2_QOS_ROUND_TO_DOWN:
-        s = format (s, "round_type down ");
-        break;
+      s = format (s, "round_type down ");
+      break;
     default:
-        break;
+      break;
     }
 
-    switch (mp->type) {
+  switch (mp->type)
+    {
     case SSE2_QOS_POLICER_TYPE_1R2C:
-        s = format (s, "type 1r2c ");
-        break;
+      s = format (s, "type 1r2c ");
+      break;
     case SSE2_QOS_POLICER_TYPE_1R3C_RFC_2697:
-        s = format (s, "type 1r3c ");
-        break;
+      s = format (s, "type 1r3c ");
+      break;
     case SSE2_QOS_POLICER_TYPE_2R3C_RFC_2698:
-        s = format (s, "type 2r3c-2698 ");
-        break;
+      s = format (s, "type 2r3c-2698 ");
+      break;
     case SSE2_QOS_POLICER_TYPE_2R3C_RFC_4115:
-        s = format (s, "type 2r3c-4115 ");
-        break;
+      s = format (s, "type 2r3c-4115 ");
+      break;
     case SSE2_QOS_POLICER_TYPE_2R3C_RFC_MEF5CF1:
-        s = format (s, "type 2r3c-mef5cf1 ");
-        break;
+      s = format (s, "type 2r3c-mef5cf1 ");
+      break;
     default:
-         break;
+      break;
     }
 
-    s = format (s, "conform_action %U ", format_policer_action,
-                mp->conform_action_type, mp->conform_dscp);
-    s = format (s, "exceed_action %U ", format_policer_action,
-                mp->exceed_action_type, mp->exceed_dscp);
-    s = format (s, "violate_action %U ", format_policer_action,
-                mp->violate_action_type, mp->violate_dscp);
+  s = format (s, "conform_action %U ", format_policer_action,
+             mp->conform_action_type, mp->conform_dscp);
+  s = format (s, "exceed_action %U ", format_policer_action,
+             mp->exceed_action_type, mp->exceed_dscp);
+  s = format (s, "violate_action %U ", format_policer_action,
+             mp->violate_action_type, mp->violate_dscp);
 
-    if (mp->color_aware)
-        s = format (s, "color-aware ");
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->color_aware)
+    s = format (s, "color-aware ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_policer_dump_t_print
-(vl_api_policer_dump_t * mp, void *handle)
+static void *vl_api_policer_dump_t_print
+  (vl_api_policer_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: policer_dump ");
-    if (mp->match_name_valid)
-        s = format (s, "name %s ", mp->match_name);
+  s = format (0, "SCRIPT: policer_dump ");
+  if (mp->match_name_valid)
+    s = format (s, "name %s ", mp->match_name);
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_policer_classify_set_interface_t_print
-(vl_api_policer_classify_set_interface_t * mp, void *handle)
+static void *vl_api_policer_classify_set_interface_t_print
+  (vl_api_policer_classify_set_interface_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: policer_classify_set_interface ");
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
-    if (mp->ip4_table_index != ~0)
-        s = format (s, "ip4-table %d ", ntohl(mp->ip4_table_index));
-    if (mp->ip6_table_index != ~0)
-        s = format (s, "ip6-table %d ", ntohl(mp->ip6_table_index));
-    if (mp->l2_table_index != ~0)
-        s = format (s, "l2-table %d ", ntohl(mp->l2_table_index));
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  s = format (0, "SCRIPT: policer_classify_set_interface ");
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+  if (mp->ip4_table_index != ~0)
+    s = format (s, "ip4-table %d ", ntohl (mp->ip4_table_index));
+  if (mp->ip6_table_index != ~0)
+    s = format (s, "ip6-table %d ", ntohl (mp->ip6_table_index));
+  if (mp->l2_table_index != ~0)
+    s = format (s, "l2-table %d ", ntohl (mp->l2_table_index));
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
-static void * vl_api_policer_classify_dump_t_print
-(vl_api_policer_classify_dump_t * mp, void *handle)
+static void *vl_api_policer_classify_dump_t_print
+  (vl_api_policer_classify_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: policer_classify_dump ");
-    switch (mp->type) {
+  s = format (0, "SCRIPT: policer_classify_dump ");
+  switch (mp->type)
+    {
     case POLICER_CLASSIFY_TABLE_IP4:
-        s = format (s, "type ip4 ");
-        break;
+      s = format (s, "type ip4 ");
+      break;
     case POLICER_CLASSIFY_TABLE_IP6:
-        s = format (s, "type ip6 ");
-        break;
+      s = format (s, "type ip6 ");
+      break;
     case POLICER_CLASSIFY_TABLE_L2:
-        s = format (s, "type l2 ");
-        break;
+      s = format (s, "type l2 ");
+      break;
     default:
-        break;
+      break;
     }
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_sw_interface_clear_stats_t_print
-(vl_api_sw_interface_clear_stats_t * mp, void *handle)
+  (vl_api_sw_interface_clear_stats_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: sw_interface_clear_stats ");
-    if (mp->sw_if_index != ~0)
-      s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (0, "SCRIPT: sw_interface_clear_stats ");
+  if (mp->sw_if_index != ~0)
+    s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_gre_tunnel_dump_t_print
-(vl_api_mpls_gre_tunnel_dump_t * mp, void *handle)
+  (vl_api_mpls_gre_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_gre_tunnel_dump ");
+  s = format (0, "SCRIPT: mpls_gre_tunnel_dump ");
 
-    s = format (s, "tunnel_index %d ", ntohl(mp->tunnel_index));
+  s = format (s, "tunnel_index %d ", ntohl (mp->tunnel_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_eth_tunnel_dump_t_print
-(vl_api_mpls_eth_tunnel_dump_t * mp, void *handle)
+  (vl_api_mpls_eth_tunnel_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_eth_tunnel_dump ");
+  s = format (0, "SCRIPT: mpls_eth_tunnel_dump ");
 
-    s = format (s, "tunnel_index %d ", ntohl(mp->tunnel_index));
+  s = format (s, "tunnel_index %d ", ntohl (mp->tunnel_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_fib_encap_dump_t_print
-(vl_api_mpls_fib_encap_dump_t * mp, void *handle)
+  (vl_api_mpls_fib_encap_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_fib_encap_dump ");
+  s = format (0, "SCRIPT: mpls_fib_encap_dump ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_mpls_fib_decap_dump_t_print
-(vl_api_mpls_fib_decap_dump_t * mp, void *handle)
+  (vl_api_mpls_fib_decap_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: mpls_fib_decap_dump ");
+  s = format (0, "SCRIPT: mpls_fib_decap_dump ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_table_ids_t_print
-(vl_api_classify_table_ids_t * mp, void *handle)
+  (vl_api_classify_table_ids_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_table_ids ");
+  s = format (0, "SCRIPT: classify_table_ids ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_table_by_interface_t_print
-(vl_api_classify_table_by_interface_t * mp, void *handle)
+  (vl_api_classify_table_by_interface_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_table_by_interface ");
-    if (mp->sw_if_index != ~0)
-      s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (0, "SCRIPT: classify_table_by_interface ");
+  if (mp->sw_if_index != ~0)
+    s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_table_info_t_print
-(vl_api_classify_table_info_t * mp, void *handle)
+  (vl_api_classify_table_info_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_table_info ");
-    if (mp->table_id != ~0)
-      s = format (s, "table_id %d ", ntohl(mp->table_id));
+  s = format (0, "SCRIPT: classify_table_info ");
+  if (mp->table_id != ~0)
+    s = format (s, "table_id %d ", ntohl (mp->table_id));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_classify_session_dump_t_print
-(vl_api_classify_session_dump_t * mp, void *handle)
+  (vl_api_classify_session_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: classify_session_dump ");
-    if (mp->table_id != ~0)
-      s = format (s, "table_id %d ", ntohl(mp->table_id));
+  s = format (0, "SCRIPT: classify_session_dump ");
+  if (mp->table_id != ~0)
+    s = format (s, "table_id %d ", ntohl (mp->table_id));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_ipfix_enable_t_print
-(vl_api_ipfix_enable_t * mp, void *handle)
+  (vl_api_ipfix_enable_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: ipfix_enable ");
+  s = format (0, "SCRIPT: ipfix_enable ");
 
-    s = format (s, "collector-address %U ", format_ip4_address,
-                (ip4_address_t *) mp->collector_address);
-    s = format (s, "collector-port %d ", ntohs(mp->collector_port));
-    s = format (s, "src-address %U ", format_ip4_address,
-                (ip4_address_t *) mp->src_address);
-    s = format (s, "vrf-id %d ", ntohl(mp->vrf_id));
-    s = format (s, "path-mtu %d ", ntohl(mp->path_mtu));
-    s = format (s, "template-interval %d ", ntohl(mp->template_interval));
+  s = format (s, "collector-address %U ", format_ip4_address,
+             (ip4_address_t *) mp->collector_address);
+  s = format (s, "collector-port %d ", ntohs (mp->collector_port));
+  s = format (s, "src-address %U ", format_ip4_address,
+             (ip4_address_t *) mp->src_address);
+  s = format (s, "vrf-id %d ", ntohl (mp->vrf_id));
+  s = format (s, "path-mtu %d ", ntohl (mp->path_mtu));
+  s = format (s, "template-interval %d ", ntohl (mp->template_interval));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_ipfix_dump_t_print
-(vl_api_ipfix_dump_t * mp, void *handle)
+  (vl_api_ipfix_dump_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: ipfix_dump ");
+  s = format (0, "SCRIPT: ipfix_dump ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_get_next_index_t_print
-(vl_api_get_next_index_t * mp, void *handle)
+  (vl_api_get_next_index_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: get_next_index ");
-    s = format (s, "node-name %s ", mp->node_name);
-    s = format (s, "next-node-name %s ", mp->next_name);
+  s = format (0, "SCRIPT: get_next_index ");
+  s = format (s, "node-name %s ", mp->node_name);
+  s = format (s, "next-node-name %s ", mp->next_name);
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_pg_create_interface_t_print
-(vl_api_pg_create_interface_t * mp, void *handle)
+  (vl_api_pg_create_interface_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: pg_create_interface ");
-    s = format (0, "if_id %d", ntohl(mp->interface_id));
+  s = format (0, "SCRIPT: pg_create_interface ");
+  s = format (0, "if_id %d", ntohl (mp->interface_id));
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_pg_capture_t_print
-(vl_api_pg_capture_t * mp, void *handle)
+  (vl_api_pg_capture_t * mp, void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: pg_capture ");
-    s = format (0, "if_id %d ", ntohl(mp->interface_id));
-    s = format (0, "pcap %s", mp->pcap_file_name);
-    if (mp->count != ~0)
-      s = format (s, "count %d ", ntohl(mp->count));
-    if (!mp->is_enabled)
-       s = format (s, "disable");
+  s = format (0, "SCRIPT: pg_capture ");
+  s = format (0, "if_id %d ", ntohl (mp->interface_id));
+  s = format (0, "pcap %s", mp->pcap_file_name);
+  if (mp->count != ~0)
+    s = format (s, "count %d ", ntohl (mp->count));
+  if (!mp->is_enabled)
+    s = format (s, "disable");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_pg_enable_disable_t_print
-(vl_api_pg_enable_disable_t * mp, void *handle)
+  (vl_api_pg_enable_disable_t * mp, void *handle)
 {
-       u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: pg_enable_disable ");
-    if (ntohl(mp->stream_name_length) > 0)
-      s = format (s, "stream %s", mp->stream_name);
-    if (!mp->is_enabled)
-      s = format (s, "disable");
+  s = format (0, "SCRIPT: pg_enable_disable ");
+  if (ntohl (mp->stream_name_length) > 0)
+    s = format (s, "stream %s", mp->stream_name);
+  if (!mp->is_enabled)
+    s = format (s, "disable");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_ip_source_and_port_range_check_add_del_t_print
-(vl_api_ip_source_and_port_range_check_add_del_t * mp, void *handle)
+  (vl_api_ip_source_and_port_range_check_add_del_t * mp, void *handle)
 {
-    u8 * s;
-    int i;
+  u8 *s;
+  int i;
 
-    s = format (0, "SCRIPT: ip_source_and_port_range_check_add_del ");
-    if (mp->is_ipv6)
-        s = format (s, "%U/%d ", format_ip6_address, mp->address,
-                    mp->mask_length);
-    else
-        s = format (s, "%U/%d ", format_ip4_address, mp->address,
-                    mp->mask_length);
+  s = format (0, "SCRIPT: ip_source_and_port_range_check_add_del ");
+  if (mp->is_ipv6)
+    s = format (s, "%U/%d ", format_ip6_address, mp->address,
+               mp->mask_length);
+  else
+    s = format (s, "%U/%d ", format_ip4_address, mp->address,
+               mp->mask_length);
 
-    for (i = 0; i < mp->number_of_ranges; i++) {
-        s = format (s, "range %d - %d ", mp->low_ports[i], mp->high_ports[i]);
+  for (i = 0; i < mp->number_of_ranges; i++)
+    {
+      s = format (s, "range %d - %d ", mp->low_ports[i], mp->high_ports[i]);
     }
 
-    s = format (s, "vrf %d ", ntohl(mp->vrf_id));
+  s = format (s, "vrf %d ", ntohl (mp->vrf_id));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 static void *vl_api_ip_source_and_port_range_check_interface_add_del_t_print
-(vl_api_ip_source_and_port_range_check_interface_add_del_t * mp, void *handle)
+  (vl_api_ip_source_and_port_range_check_interface_add_del_t * mp,
+   void *handle)
 {
-    u8 * s;
+  u8 *s;
 
-    s = format (0, "SCRIPT: ip_source_and_port_range_check_interface_add_del ");
+  s = format (0, "SCRIPT: ip_source_and_port_range_check_interface_add_del ");
 
-    s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
+  s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
 
-    if (mp->tcp_out_vrf_id != ~0)
-        s = format (s, "tcp-out-vrf %d ", ntohl(mp->tcp_out_vrf_id));
+  if (mp->tcp_out_vrf_id != ~0)
+    s = format (s, "tcp-out-vrf %d ", ntohl (mp->tcp_out_vrf_id));
 
-    if (mp->udp_out_vrf_id != ~0)
-        s = format (s, "udp-out-vrf %d ", ntohl(mp->udp_out_vrf_id));
+  if (mp->udp_out_vrf_id != ~0)
+    s = format (s, "udp-out-vrf %d ", ntohl (mp->udp_out_vrf_id));
 
-    if (mp->tcp_in_vrf_id != ~0)
-        s = format (s, "tcp-in-vrf %d ", ntohl(mp->tcp_in_vrf_id));
+  if (mp->tcp_in_vrf_id != ~0)
+    s = format (s, "tcp-in-vrf %d ", ntohl (mp->tcp_in_vrf_id));
 
-    if (mp->udp_in_vrf_id != ~0)
-        s = format (s, "udp-in-vrf %d ", ntohl(mp->udp_in_vrf_id));
+  if (mp->udp_in_vrf_id != ~0)
+    s = format (s, "udp-in-vrf %d ", ntohl (mp->udp_in_vrf_id));
 
-    if (mp->is_add == 0)
-        s = format (s, "del ");
+  if (mp->is_add == 0)
+    s = format (s, "del ");
 
-    FINISH;
+  FINISH;
 }
 
 #define foreach_custom_print_function                                   \
@@ -2211,7 +2262,7 @@ _(MEMCLNT_CREATE, memclnt_create)                                 \
 _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump)           \
 _(SHOW_VERSION, show_version)                                           \
 _(L2_FIB_TABLE_DUMP, l2_fib_table_dump)                                 \
-_(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel)                          \
+_(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel)                  \
 _(VXLAN_GPE_TUNNEL_DUMP, vxlan_gpe_tunnel_dump)                         \
 _(INTERFACE_NAME_RENUMBER, interface_name_renumber)                    \
 _(WANT_IP4_ARP_EVENTS, want_ip4_arp_events)                             \
@@ -2249,10 +2300,19 @@ _(IP_SOURCE_AND_PORT_RANGE_CHECK_INTERFACE_ADD_DEL,                     \
   ip_source_and_port_range_check_interface_add_del)
 
 
-void vl_msg_api_custom_dump_configure (api_main_t *am)
+void
+vl_msg_api_custom_dump_configure (api_main_t * am)
 {
 #define _(n,f) am->msg_print_handlers[VL_API_##n]       \
     = (void *) vl_api_##f##_t_print;
-    foreach_custom_print_function;
+  foreach_custom_print_function;
 #undef _
 }
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 05d6a11..ea4a25e 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright (c) 2012 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -44,7 +44,8 @@
 
 #include <svmdb.h>
 
-typedef struct {
+typedef struct
+{
   svmdb_client_t *svmdb_client;
   f64 *vector_rate_ptr;
   f64 *input_rate_ptr;
@@ -52,15 +53,18 @@ typedef struct {
   pid_t *vpef_pid_ptr;
   u64 last_sig_errors;
   u64 current_sig_errors;
-  uword * sig_error_bitmap;
+  uword *sig_error_bitmap;
   vlib_main_t *vlib_main;
-  vlib_main_t ** my_vlib_mains;
+  vlib_main_t **my_vlib_mains;
 
 } gmon_main_t;
 
 #if DPDK == 0
-static inline u64 vnet_get_aggregate_rx_packets (void)
-{ return 0; }
+static inline u64
+vnet_get_aggregate_rx_packets (void)
+{
+  return 0;
+}
 #else
 #include <vlib/vlib.h>
 #include <vnet/vnet.h>
@@ -69,14 +73,16 @@ static inline u64 vnet_get_aggregate_rx_packets (void)
 
 gmon_main_t gmon_main;
 
-static u64 get_significant_errors(gmon_main_t * gm)
+static u64
+get_significant_errors (gmon_main_t * gm)
 {
-  vlib_main_t * this_vlib_main;
-  vlib_error_main_t * em;
+  vlib_main_t *this_vlib_main;
+  vlib_error_main_t *em;
   uword code;
   int vm_index;
   u64 significant_errors = 0;
 
+  /* *INDENT-OFF* */
   clib_bitmap_foreach (code, gm->sig_error_bitmap,
   ({
     for (vm_index = 0; vm_index < vec_len (gm->my_vlib_mains); vm_index++)
@@ -88,195 +94,198 @@ static u64 get_significant_errors(gmon_main_t * gm)
            em->counters_last_clear[code] : 0);
       }
   }));
+  /* *INDENT-ON* */
 
   return (significant_errors);
 }
 
 static clib_error_t *
-publish_pid (vlib_main_t *vm)
+publish_pid (vlib_main_t * vm)
 {
   gmon_main_t *gm = &gmon_main;
 
-  *gm->vpef_pid_ptr = getpid();
+  *gm->vpef_pid_ptr = getpid ();
 
   return 0;
 }
-VLIB_API_INIT_FUNCTION(publish_pid);
+
+VLIB_API_INIT_FUNCTION (publish_pid);
 
 
 static uword
-gmon_process (vlib_main_t * vm,
-              vlib_node_runtime_t * rt,
-              vlib_frame_t * f)
+gmon_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
 {
-    f64 vector_rate;
-    u64 input_packets, last_input_packets, new_sig_errors;
-    f64 last_runtime, dt, now;
-    gmon_main_t *gm = &gmon_main;
-    int i;
-
-    last_runtime = 0.0; 
-    last_input_packets = 0;
-             
-    last_runtime = 0.0;
-    last_input_packets = 0;
-
-    /* Initial wait for the world to settle down */
-    vlib_process_suspend (vm, 5.0);
-
-    if (vec_len(vlib_mains) == 0)
-      vec_add1(gm->my_vlib_mains, &vlib_global_main);
-    else
-      {
-        for (i = 0; i < vec_len(vlib_mains); i++)
-          vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
-      }
+  f64 vector_rate;
+  u64 input_packets, last_input_packets, new_sig_errors;
+  f64 last_runtime, dt, now;
+  gmon_main_t *gm = &gmon_main;
+  int i;
+
+  last_runtime = 0.0;
+  last_input_packets = 0;
+
+  last_runtime = 0.0;
+  last_input_packets = 0;
+
+  /* Initial wait for the world to settle down */
+  vlib_process_suspend (vm, 5.0);
+
+  if (vec_len (vlib_mains) == 0)
+    vec_add1 (gm->my_vlib_mains, &vlib_global_main);
+  else
+    {
+      for (i = 0; i < vec_len (vlib_mains); i++)
+       vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
+    }
 
-    while (1) {
-        vlib_process_suspend (vm, 5.0);
-        vector_rate = vlib_last_vector_length_per_node (vm);
-        *gm->vector_rate_ptr = vector_rate;
-        now = vlib_time_now(vm);
-        dt = now - last_runtime;
-        input_packets =  vnet_get_aggregate_rx_packets();
-        *gm->input_rate_ptr = (f64)(input_packets - last_input_packets) / dt;
-        last_runtime = now;
-        last_input_packets = input_packets;
-
-        new_sig_errors = get_significant_errors(gm);
-        *gm->sig_error_rate_ptr = 
-            ((f64)(new_sig_errors - gm->last_sig_errors)) / dt;
-        gm->last_sig_errors = new_sig_errors;
+  while (1)
+    {
+      vlib_process_suspend (vm, 5.0);
+      vector_rate = vlib_last_vector_length_per_node (vm);
+      *gm->vector_rate_ptr = vector_rate;
+      now = vlib_time_now (vm);
+      dt = now - last_runtime;
+      input_packets = vnet_get_aggregate_rx_packets ();
+      *gm->input_rate_ptr = (f64) (input_packets - last_input_packets) / dt;
+      last_runtime = now;
+      last_input_packets = input_packets;
+
+      new_sig_errors = get_significant_errors (gm);
+      *gm->sig_error_rate_ptr =
+       ((f64) (new_sig_errors - gm->last_sig_errors)) / dt;
+      gm->last_sig_errors = new_sig_errors;
     }
 
-    return 0; /* not so much */
+  return 0;                    /* not so much */
 }
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (gmon_process_node,static) = {
-    .function = gmon_process,
-    .type = VLIB_NODE_TYPE_PROCESS,
-    .name = "gmon-process",
+  .function = gmon_process,
+  .type = VLIB_NODE_TYPE_PROCESS,
+  .name = "gmon-process",
 };
+/* *INDENT-ON* */
 
 static clib_error_t *
-gmon_init (vlib_main_t *vm)
+gmon_init (vlib_main_t * vm)
 {
-    gmon_main_t *gm = &gmon_main;
-    api_main_t * am = &api_main;
-    pid_t *swp = 0;
-    f64 *v = 0;
-    clib_error_t * error;
-    svmdb_map_args_t _ma, *ma= &_ma;
-
-    if ((error = vlib_call_init_function(vm, vpe_api_init)))
-        return(error);
-
-    /* Make sure that /global-vm is owned as directed */
-    svm_region_init_chroot_uid_gid (am->root_path, am->api_uid, am->api_gid);
-
-    gm->vlib_main = vm;
-
-    memset (ma, 0, sizeof (*ma));
-    ma->root_path = am->root_path;
-    ma->uid = am->api_uid;
-    ma->gid = am->api_gid;
-
-    gm->svmdb_client = svmdb_map (ma);
-
-    /* Find or create, set to zero */
-    vec_add1 (v, 0.0);
-    svmdb_local_set_vec_variable(gm->svmdb_client, 
-                                 "vpp_vector_rate", 
-                                 (char *)v, sizeof (*v));
-    vec_free(v);
-    vec_add1 (v, 0.0);
-    svmdb_local_set_vec_variable(gm->svmdb_client, 
-                                 "vpp_input_rate", 
-                                 (char *)v, sizeof (*v));
-    vec_free(v);
-    vec_add1 (v, 0.0);
-    svmdb_local_set_vec_variable(gm->svmdb_client, 
-                                 "vpp_sig_error_rate", 
-                                 (char *)v, sizeof (*v));
-    vec_free(v);
-
-    vec_add1 (swp, 0.0);
-    svmdb_local_set_vec_variable(gm->svmdb_client, 
-                                 "vpp_pid", 
-                                 (char *)swp, sizeof (*swp));
-    vec_free(swp);
-
-    /* the value cells will never move, so acquire references to them */
-    gm->vector_rate_ptr = 
-        svmdb_local_get_variable_reference (gm->svmdb_client,
-                                            SVMDB_NAMESPACE_VEC, 
-                                            "vpp_vector_rate");
-    gm->input_rate_ptr = 
-        svmdb_local_get_variable_reference (gm->svmdb_client,
-                                            SVMDB_NAMESPACE_VEC, 
-                                            "vpp_input_rate");
-    gm->sig_error_rate_ptr = 
-        svmdb_local_get_variable_reference (gm->svmdb_client,
-                                            SVMDB_NAMESPACE_VEC, 
-                                            "vpp_sig_error_rate");
-    gm->vpef_pid_ptr = 
-        svmdb_local_get_variable_reference (gm->svmdb_client,
-                                            SVMDB_NAMESPACE_VEC, 
-                                            "vpp_pid");
-    return 0;
+  gmon_main_t *gm = &gmon_main;
+  api_main_t *am = &api_main;
+  pid_t *swp = 0;
+  f64 *v = 0;
+  clib_error_t *error;
+  svmdb_map_args_t _ma, *ma = &_ma;
+
+  if ((error = vlib_call_init_function (vm, vpe_api_init)))
+    return (error);
+
+  /* Make sure that /global-vm is owned as directed */
+  svm_region_init_chroot_uid_gid (am->root_path, am->api_uid, am->api_gid);
+
+  gm->vlib_main = vm;
+
+  memset (ma, 0, sizeof (*ma));
+  ma->root_path = am->root_path;
+  ma->uid = am->api_uid;
+  ma->gid = am->api_gid;
+
+  gm->svmdb_client = svmdb_map (ma);
+
+  /* Find or create, set to zero */
+  vec_add1 (v, 0.0);
+  svmdb_local_set_vec_variable (gm->svmdb_client,
+                               "vpp_vector_rate", (char *) v, sizeof (*v));
+  vec_free (v);
+  vec_add1 (v, 0.0);
+  svmdb_local_set_vec_variable (gm->svmdb_client,
+                               "vpp_input_rate", (char *) v, sizeof (*v));
+  vec_free (v);
+  vec_add1 (v, 0.0);
+  svmdb_local_set_vec_variable (gm->svmdb_client,
+                               "vpp_sig_error_rate",
+                               (char *) v, sizeof (*v));
+  vec_free (v);
+
+  vec_add1 (swp, 0.0);
+  svmdb_local_set_vec_variable (gm->svmdb_client,
+                               "vpp_pid", (char *) swp, sizeof (*swp));
+  vec_free (swp);
+
+  /* the value cells will never move, so acquire references to them */
+  gm->vector_rate_ptr =
+    svmdb_local_get_variable_reference (gm->svmdb_client,
+                                       SVMDB_NAMESPACE_VEC,
+                                       "vpp_vector_rate");
+  gm->input_rate_ptr =
+    svmdb_local_get_variable_reference (gm->svmdb_client,
+                                       SVMDB_NAMESPACE_VEC,
+                                       "vpp_input_rate");
+  gm->sig_error_rate_ptr =
+    svmdb_local_get_variable_reference (gm->svmdb_client,
+                                       SVMDB_NAMESPACE_VEC,
+                                       "vpp_sig_error_rate");
+  gm->vpef_pid_ptr =
+    svmdb_local_get_variable_reference (gm->svmdb_client,
+                                       SVMDB_NAMESPACE_VEC, "vpp_pid");
+  return 0;
 }
 
 VLIB_INIT_FUNCTION (gmon_init);
 
-static clib_error_t *gmon_exit (vlib_main_t *vm)
+static clib_error_t *
+gmon_exit (vlib_main_t * vm)
 {
-    gmon_main_t *gm = &gmon_main;
-
-    if (gm->vector_rate_ptr) {
-        *gm->vector_rate_ptr = 0.0;
-        *gm->vpef_pid_ptr = 0;
-        *gm->input_rate_ptr = 0.0;
-        *gm->sig_error_rate_ptr = 0.0;
-        svm_region_unmap ((void *) gm->svmdb_client->db_rp);
-        vec_free(gm->svmdb_client);
+  gmon_main_t *gm = &gmon_main;
+
+  if (gm->vector_rate_ptr)
+    {
+      *gm->vector_rate_ptr = 0.0;
+      *gm->vpef_pid_ptr = 0;
+      *gm->input_rate_ptr = 0.0;
+      *gm->sig_error_rate_ptr = 0.0;
+      svm_region_unmap ((void *) gm->svmdb_client->db_rp);
+      vec_free (gm->svmdb_client);
     }
-    return 0;
+  return 0;
 }
+
 VLIB_MAIN_LOOP_EXIT_FUNCTION (gmon_exit);
 
-static int 
-significant_error_enable_disable (gmon_main_t * gm, 
-                                  u32 index, int enable)
+static int
+significant_error_enable_disable (gmon_main_t * gm, u32 index, int enable)
 {
-  vlib_main_t * vm = gm->vlib_main;
-  vlib_error_main_t * em = &vm->error_main;
+  vlib_main_t *vm = gm->vlib_main;
+  vlib_error_main_t *em = &vm->error_main;
 
   if (index >= vec_len (em->counters))
     return VNET_API_ERROR_NO_SUCH_ENTRY;
 
-  gm->sig_error_bitmap = clib_bitmap_set (gm->sig_error_bitmap, index, enable);
+  gm->sig_error_bitmap =
+    clib_bitmap_set (gm->sig_error_bitmap, index, enable);
   return 0;
 }
 
 static clib_error_t *
 set_significant_error_command_fn (vlib_main_t * vm,
-                unformat_input_t * input,
-                vlib_cli_command_t * cmd)
+                                 unformat_input_t * input,
+                                 vlib_cli_command_t * cmd)
 {
   u32 index;
   int enable = 1;
   int rv;
   gmon_main_t *gm = &gmon_main;
 
-  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
-    if (unformat (input, "%d", &index))
-      ;
-    else if (unformat (input, "disable"))
-      enable = 0;
-    else
-      return clib_error_return (0, "unknown input `%U'",
-                                format_unformat_error, input);
-  }
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "%d", &index))
+       ;
+      else if (unformat (input, "disable"))
+       enable = 0;
+      else
+       return clib_error_return (0, "unknown input `%U'",
+                                 format_unformat_error, input);
+    }
 
   rv = significant_error_enable_disable (gm, index, enable);
 
@@ -286,15 +295,25 @@ set_significant_error_command_fn (vlib_main_t * vm,
       break;
 
     default:
-      return clib_error_return 
-        (0, "significant_error_enable_disable returned %d", rv);
+      return clib_error_return
+       (0, "significant_error_enable_disable returned %d", rv);
     }
 
   return 0;
 }
 
+/* *INDENT-OFF* */
 VLIB_CLI_COMMAND (set_significant_error_command, static) = {
-    .path = "set significant error",
-    .short_help = "set significant error <counter-index-nnn> [disable]",
-    .function = set_significant_error_command_fn,
+  .path = "set significant error",
+  .short_help = "set significant error <counter-index-nnn> [disable]",
+  .function = set_significant_error_command_fn,
 };
+/* *INDENT-ON* */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 97e9f9d..cbfef48 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *------------------------------------------------------------------
- * summary_stats_client - 
- * 
+ * summary_stats_client -
+ *
  * Copyright (c) 2010 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License. 
+ * limitations under the License.
  *------------------------------------------------------------------
  */
 
 #define f64_endian(a)
 #define f64_print(a,b)
 
-#define vl_typedefs             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_typedefs            /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_endianfun           /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
 /* instantiate all the print functions we know about */
-#define vl_print(handle, ...) 
+#define vl_print(handle, ...)
 #define vl_printfun
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_printfun
 
 vl_shmem_hdr_t *shmem_hdr;
 
-typedef struct {
-    volatile int sigterm_received;
+typedef struct
+{
+  volatile int sigterm_received;
 
-    struct sockaddr_in send_data_addr;
-    int send_data_socket;
-    u8 * display_name;
+  struct sockaddr_in send_data_addr;
+  int send_data_socket;
+  u8 *display_name;
 
-    /* convenience */
-    unix_shared_memory_queue_t * vl_input_queue;
-    u32 my_client_index;
+  /* convenience */
+  unix_shared_memory_queue_t *vl_input_queue;
+  u32 my_client_index;
 } test_main_t;
 
 test_main_t test_main;
 
-/* 
+/*
  * Satisfy external references when -lvlib is not available.
  */
-void vlib_cli_output (struct vlib_main_t * vm, char * fmt, ...)
+void
+vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...)
 {
-    clib_warning ("vlib_cli_output callled...");
+  clib_warning ("vlib_cli_output callled...");
 }
 
 
 static void
-vl_api_vnet_summary_stats_reply_t_handler (
-    vl_api_vnet_summary_stats_reply_t * mp)
+vl_api_vnet_summary_stats_reply_t_handler (vl_api_vnet_summary_stats_reply_t *
+                                          mp)
 {
-    test_main_t * tm = &test_main;
-    static u8 *sb;
-    int n;
-
-    printf ("total rx pkts %llu, total rx bytes %llu\n",
-            (unsigned long long) mp->total_pkts[0], 
-            (unsigned long long) mp->total_bytes[0]);
-    printf ("total tx pkts %llu, total tx bytes %llu\n",
-            (unsigned long long) mp->total_pkts[1], 
-            (unsigned long long) mp->total_bytes[1]);
-    printf ("vector rate %.2f\n", mp->vector_rate);
-
-    vec_reset_length (sb);
-    sb = format (sb, "%v,%.0f,%llu,%llu,%llu,%llu\n%c",
-                 tm->display_name, mp->vector_rate, 
-                 (unsigned long long) mp->total_pkts[0], 
-                 (unsigned long long) mp->total_bytes[0],
-                 (unsigned long long) mp->total_pkts[1], 
-                 (unsigned long long) mp->total_bytes[1], 0);
-                 
-    n = sendto (tm->send_data_socket, sb, vec_len(sb), 
-                0, (struct sockaddr *)&tm->send_data_addr, 
-                sizeof (tm->send_data_addr));
-    
-    if (n != vec_len (sb))
-        clib_unix_warning ("sendto");
-
-}    
+  test_main_t *tm = &test_main;
+  static u8 *sb;
+  int n;
+
+  printf ("total rx pkts %llu, total rx bytes %llu\n",
+         (unsigned long long) mp->total_pkts[0],
+         (unsigned long long) mp->total_bytes[0]);
+  printf ("total tx pkts %llu, total tx bytes %llu\n",
+         (unsigned long long) mp->total_pkts[1],
+         (unsigned long long) mp->total_bytes[1]);
+  printf ("vector rate %.2f\n", mp->vector_rate);
+
+  vec_reset_length (sb);
+  sb = format (sb, "%v,%.0f,%llu,%llu,%llu,%llu\n%c",
+              tm->display_name, mp->vector_rate,
+              (unsigned long long) mp->total_pkts[0],
+              (unsigned long long) mp->total_bytes[0],
+              (unsigned long long) mp->total_pkts[1],
+              (unsigned long long) mp->total_bytes[1], 0);
+
+  n = sendto (tm->send_data_socket, sb, vec_len (sb),
+             0, (struct sockaddr *) &tm->send_data_addr,
+             sizeof (tm->send_data_addr));
+
+  if (n != vec_len (sb))
+    clib_unix_warning ("sendto");
+
+}
 
 #define foreach_api_msg                                                 \
 _(VNET_SUMMARY_STATS_REPLY, vnet_summary_stats_reply)
 
-int connect_to_vpe(char *name)
+int
+connect_to_vpe (char *name)
 {
-    int rv=0;
+  int rv = 0;
 
-    rv = vl_client_connect_to_vlib("/vpe-api", name, 32);
+  rv = vl_client_connect_to_vlib ("/vpe-api", name, 32);
 
 #define _(N,n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
@@ -143,34 +146,37 @@ int connect_to_vpe(char *name)
                            vl_noop_handler,                     \
                            vl_api_##n##_t_endian,               \
                            vl_api_##n##_t_print,                \
-                           sizeof(vl_api_##n##_t), 1); 
-    foreach_api_msg;
+                           sizeof(vl_api_##n##_t), 1);
+  foreach_api_msg;
 #undef _
 
-    shmem_hdr = api_main.shmem_hdr;
+  shmem_hdr = api_main.shmem_hdr;
 
-    return rv;
+  return rv;
 }
 
-int disconnect_from_vpe(void)
+int
+disconnect_from_vpe (void)
 {
-    vl_client_disconnect_from_vlib();
-    return 0;
+  vl_client_disconnect_from_vlib ();
+  return 0;
 }
 
-static void sigterm_handler (int sig)
+static void
+sigterm_handler (int sig)
 {
-    test_main_t *tm = &test_main;
-    tm->sigterm_received = 1;
+  test_main_t *tm = &test_main;
+  tm->sigterm_received = 1;
 }
 
 /* Parse an IP4 address %d.%d.%d.%d. */
-uword unformat_ip4_address (unformat_input_t * input, va_list * args)
+uword
+unformat_ip4_address (unformat_input_t * input, va_list * args)
 {
-  u8 * result = va_arg (*args, u8 *);
+  u8 *result = va_arg (*args, u8 *);
   unsigned a[4];
 
-  if (! unformat (input, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]))
+  if (!unformat (input, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]))
     return 0;
 
   if (a[0] >= 256 || a[1] >= 256 || a[2] >= 256 || a[3] >= 256)
@@ -184,96 +190,110 @@ uword unformat_ip4_address (unformat_input_t * input, va_list * args)
   return 1;
 }
 
-int main (int argc, char ** argv)
+int
+main (int argc, char **argv)
 {
-    api_main_t * am = &api_main;
-    test_main_t * tm = &test_main;
-    vl_api_vnet_get_summary_stats_t * mp;
-    unformat_input_t _input, *input = &_input;
-    clib_error_t * error = 0;
-    ip4_address_t collector_ip;
-    u8 * display_name = 0;
-    u16 collector_port = 7654;
-
-    collector_ip.as_u32 = (u32)~0;
-
-    unformat_init_command_line (input, argv);
-
-    while (unformat_check_input(input) != UNFORMAT_END_OF_INPUT)  {
-        if (unformat (input, "collector-ip %U", 
-                      unformat_ip4_address, &collector_ip))
-            ;
-        else if (unformat (input, "display-name %v", &display_name))
-            ;
-        else if (unformat (input, "collector-port %d", &collector_port))
-            ;
-        else {
-            error = 
-                clib_error_return 
-                (0, "Usage: %s collector-ip <ip>\n"
-                 "    [display-name <string>] [collector-port <num>]\n"
-                 "    port defaults to 7654", argv[0]);
-            break;
-        }
+  api_main_t *am = &api_main;
+  test_main_t *tm = &test_main;
+  vl_api_vnet_get_summary_stats_t *mp;
+  unformat_input_t _input, *input = &_input;
+  clib_error_t *error = 0;
+  ip4_address_t collector_ip;
+  u8 *display_name = 0;
+  u16 collector_port = 7654;
+
+  collector_ip.as_u32 = (u32) ~ 0;
+
+  unformat_init_command_line (input, argv);
+
+  while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+    {
+      if (unformat (input, "collector-ip %U",
+                   unformat_ip4_address, &collector_ip))
+       ;
+      else if (unformat (input, "display-name %v", &display_name))
+       ;
+      else if (unformat (input, "collector-port %d", &collector_port))
+       ;
+      else
+       {
+         error =
+           clib_error_return
+           (0, "Usage: %s collector-ip <ip>\n"
+            "    [display-name <string>] [collector-port <num>]\n"
+            "    port defaults to 7654", argv[0]);
+         break;
+       }
     }
 
-    if (error == 0 && collector_ip.as_u32 == (u32)~0) 
-        error = clib_error_return (0, "collector-ip not set...\n");
+  if (error == 0 && collector_ip.as_u32 == (u32) ~ 0)
+    error = clib_error_return (0, "collector-ip not set...\n");
 
 
-    if (error) {
-        clib_error_report (error);
-        exit (1);
+  if (error)
+    {
+      clib_error_report (error);
+      exit (1);
     }
 
-    if (display_name == 0) {
-        display_name = format (0, "vpe-to-%d.%d.%d.%d",
-                               collector_ip.as_u8[0],
-                               collector_ip.as_u8[1],
-                               collector_ip.as_u8[2],
-                               collector_ip.as_u8[3]);
+  if (display_name == 0)
+    {
+      display_name = format (0, "vpe-to-%d.%d.%d.%d",
+                            collector_ip.as_u8[0],
+                            collector_ip.as_u8[1],
+                            collector_ip.as_u8[2], collector_ip.as_u8[3]);
     }
 
 
-    connect_to_vpe("test_client");
-    
-    tm->vl_input_queue = shmem_hdr->vl_input_queue;
-    tm->my_client_index = am->my_client_index;
-    tm->display_name = display_name;
-
-    signal(SIGTERM, sigterm_handler);
-    signal(SIGINT, sigterm_handler);
-    signal(SIGQUIT, sigterm_handler);
-    
-    /* data (multicast) RX socket */
-    tm->send_data_socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
-    if (tm->send_data_socket < 0) {
-        clib_unix_warning(0, "data_rx_socket");
-        exit (1);
-    }
+  connect_to_vpe ("test_client");
 
-    memset(&tm->send_data_addr, 0, sizeof(tm->send_data_addr));
-    tm->send_data_addr.sin_family = AF_INET;
-    tm->send_data_addr.sin_addr.s_addr = collector_ip.as_u32;
-    tm->send_data_addr.sin_port = htons(collector_port);
+  tm->vl_input_queue = shmem_hdr->vl_input_queue;
+  tm->my_client_index = am->my_client_index;
+  tm->display_name = display_name;
 
-    fformat(stdout, "Send SIGINT or SIGTERM to quit...\n");
+  signal (SIGTERM, sigterm_handler);
+  signal (SIGINT, sigterm_handler);
+  signal (SIGQUIT, sigterm_handler);
 
-    while (1) {
-        sleep (5);
+  /* data (multicast) RX socket */
+  tm->send_data_socket = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+  if (tm->send_data_socket < 0)
+    {
+      clib_unix_warning (0, "data_rx_socket");
+      exit (1);
+    }
 
-        if (tm->sigterm_received)
-            break;
-        /* Poll for stats */
-        mp = vl_msg_api_alloc (sizeof (*mp));
-        memset(mp, 0, sizeof (*mp));
-        mp->_vl_msg_id = ntohs (VL_API_VNET_GET_SUMMARY_STATS);
-        mp->client_index = tm->my_client_index;
-        vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  memset (&tm->send_data_addr, 0, sizeof (tm->send_data_addr));
+  tm->send_data_addr.sin_family = AF_INET;
+  tm->send_data_addr.sin_addr.s_addr = collector_ip.as_u32;
+  tm->send_data_addr.sin_port = htons (collector_port);
+
+  fformat (stdout, "Send SIGINT or SIGTERM to quit...\n");
+
+  while (1)
+    {
+      sleep (5);
+
+      if (tm->sigterm_received)
+       break;
+      /* Poll for stats */
+      mp = vl_msg_api_alloc (sizeof (*mp));
+      memset (mp, 0, sizeof (*mp));
+      mp->_vl_msg_id = ntohs (VL_API_VNET_GET_SUMMARY_STATS);
+      mp->client_index = tm->my_client_index;
+      vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
     }
 
-    fformat(stdout, "Exiting...\n");
+  fformat (stdout, "Exiting...\n");
 
-    disconnect_from_vpe();
-    exit (0);
+  disconnect_from_vpe ();
+  exit (0);
 }
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 99d1012..8ca7a4b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *------------------------------------------------------------------
  * api.c - message handler registration
- * 
+ *
  * Copyright (c) 2010 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License. 
+ * limitations under the License.
  *------------------------------------------------------------------
  */
 
 #define f64_endian(a)
 #define f64_print(a,b)
 
-#define vl_typedefs             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_typedefs            /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_endianfun           /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
 /* instantiate all the print functions we know about */
-#define vl_print(handle, ...) 
+#define vl_print(handle, ...)
 #define vl_printfun
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_printfun
 
 vl_shmem_hdr_t *shmem_hdr;
 
-typedef struct {
-    int link_events_on;
-    int stats_on;
-    int oam_events_on;
+typedef struct
+{
+  int link_events_on;
+  int stats_on;
+  int oam_events_on;
 
-    /* convenience */
-    unix_shared_memory_queue_t * vl_input_queue;
-    u32 my_client_index;
+  /* convenience */
+  unix_shared_memory_queue_t *vl_input_queue;
+  u32 my_client_index;
 } test_main_t;
 
 test_main_t test_main;
 
-/* 
+/*
  * Satisfy external references when -lvlib is not available.
  */
-void vlib_cli_output (struct vlib_main_t * vm, char * fmt, ...)
+void
+vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...)
 {
-    clib_warning ("vlib_cli_output callled...");
+  clib_warning ("vlib_cli_output callled...");
 }
 
-u8 * format_ethernet_address (u8 * s, va_list * args)
+u8 *
+format_ethernet_address (u8 * s, va_list * args)
 {
-  u8 * a = va_arg (*args, u8 *);
+  u8 *a = va_arg (*args, u8 *);
 
   return format (s, "%02x:%02x:%02x:%02x:%02x:%02x",
-                 a[0], a[1], a[2], a[3], a[4], a[5]);
+                a[0], a[1], a[2], a[3], a[4], a[5]);
 }
 
-static void vl_api_sw_interface_details_t_handler (
-    vl_api_sw_interface_details_t * mp)
+static void
+vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t * mp)
 {
-    char * duplex, * speed;
+  char *duplex, *speed;
 
-    switch (mp->link_duplex << VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT)
-      {
-      case VNET_HW_INTERFACE_FLAG_HALF_DUPLEX:
-       duplex = "half";
-       break;
-      case VNET_HW_INTERFACE_FLAG_FULL_DUPLEX:
-       duplex = "full";
-       break;
-      default:
-       duplex = "bogus";
-       break;
-      }
-    switch (mp->link_speed << VNET_HW_INTERFACE_FLAG_SPEED_SHIFT)
-      {
-      case VNET_HW_INTERFACE_FLAG_SPEED_10M:
-       speed = "10Mbps";
-       break;
-      case VNET_HW_INTERFACE_FLAG_SPEED_100M:
-       speed = "100Mbps";
-       break;
-      case VNET_HW_INTERFACE_FLAG_SPEED_1G:
-       speed = "1Gbps";
-       break;
-      case VNET_HW_INTERFACE_FLAG_SPEED_10G:
-       speed = "10Gbps";
-       break;
-      case VNET_HW_INTERFACE_FLAG_SPEED_40G:
-       speed = "40Gbps";
-       break;
-      case VNET_HW_INTERFACE_FLAG_SPEED_100G:
-       speed = "100Gbps";
-       break;
-      default:
-       speed = "bogus";
-       break;
-      }
-    fformat(stdout, "details: %s sw_if_index %d sup_sw_if_index %d "
-           "link_duplex %s link_speed %s",
-            mp->interface_name, ntohl(mp->sw_if_index),
-            ntohl(mp->sup_sw_if_index), duplex, speed);
+  switch (mp->link_duplex << VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT)
+    {
+    case VNET_HW_INTERFACE_FLAG_HALF_DUPLEX:
+      duplex = "half";
+      break;
+    case VNET_HW_INTERFACE_FLAG_FULL_DUPLEX:
+      duplex = "full";
+      break;
+    default:
+      duplex = "bogus";
+      break;
+    }
+  switch (mp->link_speed << VNET_HW_INTERFACE_FLAG_SPEED_SHIFT)
+    {
+    case VNET_HW_INTERFACE_FLAG_SPEED_10M:
+      speed = "10Mbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_100M:
+      speed = "100Mbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_1G:
+      speed = "1Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_10G:
+      speed = "10Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_40G:
+      speed = "40Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_100G:
+      speed = "100Gbps";
+      break;
+    default:
+      speed = "bogus";
+      break;
+    }
+  fformat (stdout, "details: %s sw_if_index %d sup_sw_if_index %d "
+          "link_duplex %s link_speed %s",
+          mp->interface_name, ntohl (mp->sw_if_index),
+          ntohl (mp->sup_sw_if_index), duplex, speed);
 
-    if (mp->l2_address_length)
-        fformat(stdout, "  l2 address: %U\n", 
-                format_ethernet_address, mp->l2_address);
-    else
-        fformat(stdout, "\n");
+  if (mp->l2_address_length)
+    fformat (stdout, "  l2 address: %U\n",
+            format_ethernet_address, mp->l2_address);
+  else
+    fformat (stdout, "\n");
 }
 
-static void vl_api_sw_interface_set_flags_t_handler (
-    vl_api_sw_interface_set_flags_t * mp)
+static void
+vl_api_sw_interface_set_flags_t_handler (vl_api_sw_interface_set_flags_t * mp)
 {
-    fformat (stdout, "set flags: sw_if_index %d, admin %s link %s\n",
-             ntohl(mp->sw_if_index), 
-             mp->admin_up_down ? "up" : "down",
-             mp->link_up_down ? "up" : "down");
+  fformat (stdout, "set flags: sw_if_index %d, admin %s link %s\n",
+          ntohl (mp->sw_if_index),
+          mp->admin_up_down ? "up" : "down",
+          mp->link_up_down ? "up" : "down");
 }
 
-static void vl_api_sw_interface_set_flags_reply_t_handler (
-    vl_api_sw_interface_set_flags_reply_t * mp)
+static void
+  vl_api_sw_interface_set_flags_reply_t_handler
+  (vl_api_sw_interface_set_flags_reply_t * mp)
 {
-    fformat (stdout, "set flags reply: reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "set flags reply: reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_want_interface_events_reply_t_handler (
-    vl_api_want_interface_events_reply_t *mp)
+static void
+  vl_api_want_interface_events_reply_t_handler
+  (vl_api_want_interface_events_reply_t * mp)
 {
 }
 
-static void vl_api_want_stats_reply_t_handler (
-    vl_api_want_stats_reply_t *mp)
+static void
+vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t * mp)
 {
-    fformat (stdout, "want stats reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "want stats reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_want_oam_events_reply_t_handler (
-    vl_api_want_oam_events_reply_t *mp)
+static void
+vl_api_want_oam_events_reply_t_handler (vl_api_want_oam_events_reply_t * mp)
 {
-    fformat (stdout, "want oam reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "want oam reply %d\n", ntohl (mp->retval));
 }
-static void vl_api_ip_add_del_route_reply_t_handler (
-    vl_api_ip_add_del_route_reply_t *mp)
+
+static void
+vl_api_ip_add_del_route_reply_t_handler (vl_api_ip_add_del_route_reply_t * mp)
 {
-    fformat (stdout, "add_route reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add_route reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_add_del_address_reply_t_handler (
-    vl_api_sw_interface_add_del_address_reply_t *mp)
+static void
+  vl_api_sw_interface_add_del_address_reply_t_handler
+  (vl_api_sw_interface_add_del_address_reply_t * mp)
 {
-    fformat (stdout, "add_del_address reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add_del_address reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_set_table_reply_t_handler (
-    vl_api_sw_interface_set_table_reply_t *mp)
+static void
+  vl_api_sw_interface_set_table_reply_t_handler
+  (vl_api_sw_interface_set_table_reply_t * mp)
 {
-    fformat (stdout, "set_table reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "set_table reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_tap_connect_reply_t_handler (
-    vl_api_tap_connect_reply_t * mp)
+static void
+vl_api_tap_connect_reply_t_handler (vl_api_tap_connect_reply_t * mp)
 {
-    fformat (stdout, "tap connect reply %d, sw_if_index %d\n", 
-             ntohl(mp->retval), ntohl(mp->sw_if_index));
+  fformat (stdout, "tap connect reply %d, sw_if_index %d\n",
+          ntohl (mp->retval), ntohl (mp->sw_if_index));
 }
 
-static void vl_api_create_vlan_subif_reply_t_handler (
-    vl_api_create_vlan_subif_reply_t * mp)
+static void
+vl_api_create_vlan_subif_reply_t_handler (vl_api_create_vlan_subif_reply_t *
+                                         mp)
 {
-    fformat (stdout, "create vlan subif reply %d, sw_if_index %d\n", 
-             ntohl(mp->retval), ntohl(mp->sw_if_index));
+  fformat (stdout, "create vlan subif reply %d, sw_if_index %d\n",
+          ntohl (mp->retval), ntohl (mp->sw_if_index));
 }
 
-static void vl_api_mpls_gre_add_del_tunnel_reply_t_handler (
-    vl_api_mpls_gre_add_del_tunnel_reply_t * mp)
+static void
+  vl_api_mpls_gre_add_del_tunnel_reply_t_handler
+  (vl_api_mpls_gre_add_del_tunnel_reply_t * mp)
 {
-    fformat (stdout, "add_del mpls gre tunnel reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add_del mpls gre tunnel reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_mpls_add_del_encap_reply_t_handler (
-    vl_api_mpls_add_del_encap_reply_t *mp)
+static void
+vl_api_mpls_add_del_encap_reply_t_handler (vl_api_mpls_add_del_encap_reply_t *
+                                          mp)
 {
-    fformat (stdout, "add del mpls label reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add del mpls label reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_mpls_add_del_decap_reply_t_handler (
-    vl_api_mpls_add_del_decap_reply_t *mp)
+static void
+vl_api_mpls_add_del_decap_reply_t_handler (vl_api_mpls_add_del_decap_reply_t *
+                                          mp)
 {
-    fformat (stdout, "add del mpls decap label reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add del mpls decap label reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_proxy_arp_add_del_reply_t_handler 
-(vl_api_proxy_arp_add_del_reply_t *mp)
+static void vl_api_proxy_arp_add_del_reply_t_handler
+  (vl_api_proxy_arp_add_del_reply_t * mp)
 {
-    fformat (stdout, "add del proxy arp reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "add del proxy arp reply %d\n", ntohl (mp->retval));
 }
 
 static void vl_api_proxy_arp_intfc_enable_disable_reply_t_handler
-(vl_api_proxy_arp_intfc_enable_disable_reply_t *mp)
+  (vl_api_proxy_arp_intfc_enable_disable_reply_t * mp)
 {
-    fformat (stdout, "proxy arp intfc ena/dis reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "proxy arp intfc ena/dis reply %d\n", ntohl (mp->retval));
 }
 
 static void vl_api_ip_neighbor_add_del_reply_t_handler
-(vl_api_ip_neighbor_add_del_reply_t *mp)
-
-{
-    fformat (stdout, "ip neighbor add del reply %d\n", ntohl(mp->retval));
-}
-
-static void vl_api_vnet_interface_counters_t_handler (
-    vl_api_vnet_interface_counters_t *mp)
-{
-    char *counter_name;
-    u32 count, sw_if_index;
-    int i;
-
-    count = ntohl (mp->count);
-    sw_if_index = ntohl (mp->first_sw_if_index);
-    if (mp->is_combined == 0) {
-        u64 * vp, v;
-        vp = (u64 *) mp->data;
-
-        switch (mp->vnet_counter_type) {
-        case  VNET_INTERFACE_COUNTER_DROP:
-            counter_name = "drop";
-            break;
-        case  VNET_INTERFACE_COUNTER_PUNT:
-            counter_name = "punt";
-            break;
-        case  VNET_INTERFACE_COUNTER_IP4:
-            counter_name = "ip4";
-            break;
-        case  VNET_INTERFACE_COUNTER_IP6:
-            counter_name = "ip6";
-            break;
-        case  VNET_INTERFACE_COUNTER_RX_NO_BUF:
-            counter_name = "rx-no-buf";
-            break;
-        case  VNET_INTERFACE_COUNTER_RX_MISS:
-            counter_name = "rx-miss";
-            break;
-        case  VNET_INTERFACE_COUNTER_RX_ERROR:
-            counter_name = "rx-error";
-            break;
-        case  VNET_INTERFACE_COUNTER_TX_ERROR:
-            counter_name = "tx-error (fifo-full)";
-            break;
-        default:
-            counter_name = "bogus";
-            break;
-        }
-        for (i = 0; i < count; i++) {
-            v = clib_mem_unaligned (vp, u64);
-            v = clib_net_to_host_u64 (v);
-            vp++;
-            fformat (stdout, "%d.%s %lld\n", sw_if_index, counter_name, v);
-            sw_if_index++;
-        }
-    } else {
-        vlib_counter_t *vp;
-        u64 packets, bytes;
-        vp = (vlib_counter_t *) mp->data;
-
-        switch (mp->vnet_counter_type) {
-        case  VNET_INTERFACE_COUNTER_RX:
-            counter_name = "rx";
-            break;
-        case  VNET_INTERFACE_COUNTER_TX:
-            counter_name = "tx";
-            break;
-        default:
-            counter_name = "bogus";
-            break;
-        }
-        for (i = 0; i < count; i++) {
-            packets = clib_mem_unaligned (&vp->packets, u64);
-            packets = clib_net_to_host_u64 (packets);
-            bytes = clib_mem_unaligned (&vp->bytes, u64);
-            bytes = clib_net_to_host_u64 (bytes);
-            vp++;
-            fformat (stdout, "%d.%s.packets %lld\n", 
-                     sw_if_index, counter_name, packets);
-            fformat (stdout, "%d.%s.bytes %lld\n", 
-                     sw_if_index, counter_name, bytes);
-            sw_if_index++;
-        }
+  (vl_api_ip_neighbor_add_del_reply_t * mp)
+{
+  fformat (stdout, "ip neighbor add del reply %d\n", ntohl (mp->retval));
+}
+
+static void
+vl_api_vnet_interface_counters_t_handler (vl_api_vnet_interface_counters_t *
+                                         mp)
+{
+  char *counter_name;
+  u32 count, sw_if_index;
+  int i;
+
+  count = ntohl (mp->count);
+  sw_if_index = ntohl (mp->first_sw_if_index);
+  if (mp->is_combined == 0)
+    {
+      u64 *vp, v;
+      vp = (u64 *) mp->data;
+
+      switch (mp->vnet_counter_type)
+       {
+       case VNET_INTERFACE_COUNTER_DROP:
+         counter_name = "drop";
+         break;
+       case VNET_INTERFACE_COUNTER_PUNT:
+         counter_name = "punt";
+         break;
+       case VNET_INTERFACE_COUNTER_IP4:
+         counter_name = "ip4";
+         break;
+       case VNET_INTERFACE_COUNTER_IP6:
+         counter_name = "ip6";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_NO_BUF:
+         counter_name = "rx-no-buf";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_MISS:
+         counter_name = "rx-miss";
+         break;
+       case VNET_INTERFACE_COUNTER_RX_ERROR:
+         counter_name = "rx-error";
+         break;
+       case VNET_INTERFACE_COUNTER_TX_ERROR:
+         counter_name = "tx-error (fifo-full)";
+         break;
+       default:
+         counter_name = "bogus";
+         break;
+       }
+      for (i = 0; i < count; i++)
+       {
+         v = clib_mem_unaligned (vp, u64);
+         v = clib_net_to_host_u64 (v);
+         vp++;
+         fformat (stdout, "%d.%s %lld\n", sw_if_index, counter_name, v);
+         sw_if_index++;
+       }
+    }
+  else
+    {
+      vlib_counter_t *vp;
+      u64 packets, bytes;
+      vp = (vlib_counter_t *) mp->data;
+
+      switch (mp->vnet_counter_type)
+       {
+       case VNET_INTERFACE_COUNTER_RX:
+         counter_name = "rx";
+         break;
+       case VNET_INTERFACE_COUNTER_TX:
+         counter_name = "tx";
+         break;
+       default:
+         counter_name = "bogus";
+         break;
+       }
+      for (i = 0; i < count; i++)
+       {
+         packets = clib_mem_unaligned (&vp->packets, u64);
+         packets = clib_net_to_host_u64 (packets);
+         bytes = clib_mem_unaligned (&vp->bytes, u64);
+         bytes = clib_net_to_host_u64 (bytes);
+         vp++;
+         fformat (stdout, "%d.%s.packets %lld\n",
+                  sw_if_index, counter_name, packets);
+         fformat (stdout, "%d.%s.bytes %lld\n",
+                  sw_if_index, counter_name, bytes);
+         sw_if_index++;
+       }
     }
 }
 
 /* Format an IP4 address. */
-u8 * format_ip4_address (u8 * s, va_list * args)
+u8 *
+format_ip4_address (u8 * s, va_list * args)
 {
-  u8 * a = va_arg (*args, u8 *);
+  u8 *a = va_arg (*args, u8 *);
   return format (s, "%d.%d.%d.%d", a[0], a[1], a[2], a[3]);
 }
 
 /* Format an IP4 route destination and length. */
-u8 * format_ip4_address_and_length (u8 * s, va_list * args)
+u8 *
+format_ip4_address_and_length (u8 * s, va_list * args)
 {
-  u8 * a = va_arg (*args, u8 *);
+  u8 *a = va_arg (*args, u8 *);
   u8 l = va_arg (*args, u32);
   return format (s, "%U/%d", format_ip4_address, a, l);
 }
 
-static void vl_api_vnet_ip4_fib_counters_t_handler (
-    vl_api_vnet_ip4_fib_counters_t *mp)
+static void
+vl_api_vnet_ip4_fib_counters_t_handler (vl_api_vnet_ip4_fib_counters_t * mp)
 {
-    int i;
-    vl_api_ip4_fib_counter_t * ctrp;
-    u32 count;
+  int i;
+  vl_api_ip4_fib_counter_t *ctrp;
+  u32 count;
 
-    count = ntohl(mp->count);
+  count = ntohl (mp->count);
 
-    fformat (stdout, "fib id %d, count this msg %d\n",
-             ntohl(mp->vrf_id), count);
+  fformat (stdout, "fib id %d, count this msg %d\n",
+          ntohl (mp->vrf_id), count);
 
-    ctrp = mp->c;
-    for (i = 0; i < count; i++) {
-        fformat(stdout, "%U: %lld packets, %lld bytes\n",
-                format_ip4_address_and_length, &ctrp->address, 
-                (u32)ctrp->address_length,
-                clib_net_to_host_u64 (ctrp->packets),
-                clib_net_to_host_u64 (ctrp->bytes));
-        ctrp++;
+  ctrp = mp->c;
+  for (i = 0; i < count; i++)
+    {
+      fformat (stdout, "%U: %lld packets, %lld bytes\n",
+              format_ip4_address_and_length, &ctrp->address,
+              (u32) ctrp->address_length,
+              clib_net_to_host_u64 (ctrp->packets),
+              clib_net_to_host_u64 (ctrp->bytes));
+      ctrp++;
     }
 }
 
 /* Format an IP6 address. */
-u8 * format_ip6_address (u8 * s, va_list * args)
+u8 *
+format_ip6_address (u8 * s, va_list * args)
 {
-  ip6_address_t * a = va_arg (*args, ip6_address_t *);
+  ip6_address_t *a = va_arg (*args, ip6_address_t *);
   u32 i, i_max_n_zero, max_n_zeros, i_first_zero, n_zeros, last_double_colon;
 
   i_max_n_zero = ARRAY_LEN (a->as_u16);
@@ -389,7 +412,7 @@ u8 * format_ip6_address (u8 * s, va_list * args)
          n_zeros = 0;
        }
       n_zeros += is_zero;
-      if ((! is_zero && n_zeros > max_n_zeros)
+      if ((!is_zero && n_zeros > max_n_zeros)
          || (i + 1 >= ARRAY_LEN (a->as_u16) && n_zeros > max_n_zeros))
        {
          i_max_n_zero = i_first_zero;
@@ -421,129 +444,143 @@ u8 * format_ip6_address (u8 * s, va_list * args)
 }
 
 /* Format an IP6 route destination and length. */
-u8 * format_ip6_address_and_length (u8 * s, va_list * args)
+u8 *
+format_ip6_address_and_length (u8 * s, va_list * args)
 {
-  ip6_address_t * a = va_arg (*args, ip6_address_t *);
+  ip6_address_t *a = va_arg (*args, ip6_address_t *);
   u8 l = va_arg (*args, u32);
   return format (s, "%U/%d", format_ip6_address, a, l);
 }
 
-static void vl_api_vnet_ip6_fib_counters_t_handler (
-    vl_api_vnet_ip6_fib_counters_t *mp)
+static void
+vl_api_vnet_ip6_fib_counters_t_handler (vl_api_vnet_ip6_fib_counters_t * mp)
 {
-    int i;
-    vl_api_ip6_fib_counter_t * ctrp;
-    u32 count;
+  int i;
+  vl_api_ip6_fib_counter_t *ctrp;
+  u32 count;
 
-    count = ntohl(mp->count);
+  count = ntohl (mp->count);
 
-    fformat (stdout, "fib id %d, count this msg %d\n",
-             ntohl(mp->vrf_id), count);
+  fformat (stdout, "fib id %d, count this msg %d\n",
+          ntohl (mp->vrf_id), count);
 
-    ctrp = mp->c;
-    for (i = 0; i < count; i++) {
-        fformat(stdout, "%U: %lld packets, %lld bytes\n",
-                format_ip6_address_and_length, &ctrp->address, 
-                (u32)ctrp->address_length,
-                clib_net_to_host_u64 (ctrp->packets),
-                clib_net_to_host_u64 (ctrp->bytes));
-        ctrp++;
+  ctrp = mp->c;
+  for (i = 0; i < count; i++)
+    {
+      fformat (stdout, "%U: %lld packets, %lld bytes\n",
+              format_ip6_address_and_length, &ctrp->address,
+              (u32) ctrp->address_length,
+              clib_net_to_host_u64 (ctrp->packets),
+              clib_net_to_host_u64 (ctrp->bytes));
+      ctrp++;
     }
 }
 
-static void vl_api_oam_event_t_handler (
-    vl_api_oam_event_t *mp)
+static void
+vl_api_oam_event_t_handler (vl_api_oam_event_t * mp)
 {
-    fformat(stdout, "OAM: %U now %s\n",
-            format_ip4_address, &mp->dst_address, 
-            mp->state == 1 ? "alive" : "dead");
+  fformat (stdout, "OAM: %U now %s\n",
+          format_ip4_address, &mp->dst_address,
+          mp->state == 1 ? "alive" : "dead");
 }
 
-static void vl_api_oam_add_del_reply_t_handler (
-    vl_api_oam_add_del_reply_t *mp)
+static void
+vl_api_oam_add_del_reply_t_handler (vl_api_oam_add_del_reply_t * mp)
 {
-    fformat(stdout, "oam add del reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "oam add del reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_reset_fib_reply_t_handler (
-    vl_api_reset_fib_reply_t *mp)
+static void
+vl_api_reset_fib_reply_t_handler (vl_api_reset_fib_reply_t * mp)
 {
-    fformat(stdout, "fib reset reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "fib reset reply %d\n", ntohl (mp->retval));
 }
-static void vl_api_dhcp_proxy_set_vss_reply_t_handler (
-    vl_api_dhcp_proxy_set_vss_reply_t *mp)
+
+static void
+vl_api_dhcp_proxy_set_vss_reply_t_handler (vl_api_dhcp_proxy_set_vss_reply_t *
+                                          mp)
 {
-    fformat(stdout, "dhcp proxy set vss reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "dhcp proxy set vss reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_dhcp_proxy_config_reply_t_handler (
-    vl_api_dhcp_proxy_config_reply_t *mp)
+static void
+vl_api_dhcp_proxy_config_reply_t_handler (vl_api_dhcp_proxy_config_reply_t *
+                                         mp)
 {
-    fformat(stdout, "dhcp proxy config reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "dhcp proxy config reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_set_ip_flow_hash_reply_t_handler (
-    vl_api_set_ip_flow_hash_reply_t *mp)
+static void
+vl_api_set_ip_flow_hash_reply_t_handler (vl_api_set_ip_flow_hash_reply_t * mp)
 {
-    fformat(stdout, "set ip flow hash reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "set ip flow hash reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_ip6nd_ra_config_reply_t_handler (
-    vl_api_sw_interface_ip6nd_ra_config_reply_t *mp)
+static void
+  vl_api_sw_interface_ip6nd_ra_config_reply_t_handler
+  (vl_api_sw_interface_ip6nd_ra_config_reply_t * mp)
 {
-    fformat (stdout, "ip6 nd ra-config  reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "ip6 nd ra-config  reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_ip6nd_ra_prefix_reply_t_handler (
-    vl_api_sw_interface_ip6nd_ra_prefix_reply_t *mp)
+static void
+  vl_api_sw_interface_ip6nd_ra_prefix_reply_t_handler
+  (vl_api_sw_interface_ip6nd_ra_prefix_reply_t * mp)
 {
-    fformat (stdout, "ip6 nd ra-prefix  reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "ip6 nd ra-prefix  reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_ip6_enable_disable_reply_t_handler (
-    vl_api_sw_interface_ip6_enable_disable_reply_t *mp)
+static void
+  vl_api_sw_interface_ip6_enable_disable_reply_t_handler
+  (vl_api_sw_interface_ip6_enable_disable_reply_t * mp)
 {
-    fformat (stdout, "ip6 enable/disable reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "ip6 enable/disable reply %d\n", ntohl (mp->retval));
 }
 
-static void vl_api_sw_interface_ip6_set_link_local_address_reply_t_handler (
-    vl_api_sw_interface_ip6_set_link_local_address_reply_t *mp)
+static void
+  vl_api_sw_interface_ip6_set_link_local_address_reply_t_handler
+  (vl_api_sw_interface_ip6_set_link_local_address_reply_t * mp)
 {
-    fformat (stdout, "ip6 set link-local address reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "ip6 set link-local address reply %d\n",
+          ntohl (mp->retval));
 }
 
-static void vl_api_create_loopback_reply_t_handler 
-(vl_api_create_loopback_reply_t *mp)
+static void vl_api_create_loopback_reply_t_handler
+  (vl_api_create_loopback_reply_t * mp)
 {
-    fformat (stdout, "create loopback status %d, sw_if_index %d\n", 
-            ntohl(mp->retval), ntohl (mp->sw_if_index));
+  fformat (stdout, "create loopback status %d, sw_if_index %d\n",
+          ntohl (mp->retval), ntohl (mp->sw_if_index));
 }
 
-static void vl_api_sr_tunnel_add_del_reply_t_handler (
-    vl_api_sr_tunnel_add_del_reply_t *mp)
+static void
+vl_api_sr_tunnel_add_del_reply_t_handler (vl_api_sr_tunnel_add_del_reply_t *
+                                         mp)
 {
-    fformat(stdout, "sr tunnel add/del reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "sr tunnel add/del reply %d\n", ntohl (mp->retval));
 }
 
 static void vl_api_l2_patch_add_del_reply_t_handler
-(vl_api_l2_patch_add_del_reply_t *mp)
+  (vl_api_l2_patch_add_del_reply_t * mp)
 {
-    fformat (stdout, "l2 patch reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "l2 patch reply %d\n", ntohl (mp->retval));
 }
 
 static void vl_api_sw_interface_set_l2_xconnect_reply_t_handler
-(vl_api_sw_interface_set_l2_xconnect_reply_t *mp)
+  (vl_api_sw_interface_set_l2_xconnect_reply_t * mp)
 {
-    fformat (stdout, "l2_xconnect reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "l2_xconnect reply %d\n", ntohl (mp->retval));
 }
 
 static void vl_api_sw_interface_set_l2_bridge_reply_t_handler
-(vl_api_sw_interface_set_l2_bridge_reply_t *mp)
+  (vl_api_sw_interface_set_l2_bridge_reply_t * mp)
 {
-    fformat (stdout, "l2_bridge reply %d\n", ntohl(mp->retval));
+  fformat (stdout, "l2_bridge reply %d\n", ntohl (mp->retval));
 }
 
-static void noop_handler (void *notused) { }
+static void
+noop_handler (void *notused)
+{
+}
 
 #define vl_api_vnet_ip4_fib_counters_t_endian noop_handler
 #define vl_api_vnet_ip4_fib_counters_t_print noop_handler
@@ -587,11 +624,12 @@ _(SR_TUNNEL_ADD_DEL_REPLY,sr_tunnel_add_del_reply)          \
 _(SW_INTERFACE_SET_L2_XCONNECT_REPLY, sw_interface_set_l2_xconnect_reply) \
 _(SW_INTERFACE_SET_L2_BRIDGE_REPLY, sw_interface_set_l2_bridge_reply)
 
-int connect_to_vpe(char *name)
+int
+connect_to_vpe (char *name)
 {
-    int rv=0;
+  int rv = 0;
 
-    rv = vl_client_connect_to_vlib("/vpe-api", name, 32);
+  rv = vl_client_connect_to_vlib ("/vpe-api", name, 32);
 
 #define _(N,n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
@@ -599,926 +637,965 @@ int connect_to_vpe(char *name)
                            noop_handler,                        \
                            vl_api_##n##_t_endian,               \
                            vl_api_##n##_t_print,                \
-                           sizeof(vl_api_##n##_t), 1); 
-    foreach_api_msg;
+                           sizeof(vl_api_##n##_t), 1);
+  foreach_api_msg;
 #undef _
 
-    shmem_hdr = api_main.shmem_hdr;
+  shmem_hdr = api_main.shmem_hdr;
 
-    return rv;
+  return rv;
 }
 
-int disconnect_from_vpe(void)
+int
+disconnect_from_vpe (void)
 {
-    vl_client_disconnect_from_vlib();
-    return 0;
+  vl_client_disconnect_from_vlib ();
+  return 0;
 }
 
-void link_up_down_enable_disable (test_main_t * tm, int enable)
+void
+link_up_down_enable_disable (test_main_t * tm, int enable)
 {
-    vl_api_want_interface_events_t * mp;
+  vl_api_want_interface_events_t *mp;
 
-    /* Request admin / link up down messages */
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_WANT_INTERFACE_EVENTS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->enable_disable = enable;
-    mp->pid = getpid();
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-    tm->link_events_on = enable;
+  /* Request admin / link up down messages */
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_WANT_INTERFACE_EVENTS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->enable_disable = enable;
+  mp->pid = getpid ();
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+  tm->link_events_on = enable;
 }
 
-void stats_enable_disable (test_main_t *tm, int enable)
+void
+stats_enable_disable (test_main_t * tm, int enable)
 {
-    vl_api_want_stats_t * mp;
+  vl_api_want_stats_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_WANT_STATS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->enable_disable = enable;
-    mp->pid = getpid();
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-    tm->stats_on = enable;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_WANT_STATS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->enable_disable = enable;
+  mp->pid = getpid ();
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+  tm->stats_on = enable;
 }
 
-void oam_events_enable_disable (test_main_t *tm, int enable)
+void
+oam_events_enable_disable (test_main_t * tm, int enable)
 {
-    vl_api_want_oam_events_t * mp;
+  vl_api_want_oam_events_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_WANT_OAM_EVENTS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->enable_disable = enable;
-    mp->pid = getpid();
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-    tm->oam_events_on = enable;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_WANT_OAM_EVENTS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->enable_disable = enable;
+  mp->pid = getpid ();
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+  tm->oam_events_on = enable;
 }
 
-void oam_add_del (test_main_t *tm, int is_add)
+void
+oam_add_del (test_main_t * tm, int is_add)
 {
-    vl_api_oam_add_del_t *mp;
-    ip4_address_t tmp;
+  vl_api_oam_add_del_t *mp;
+  ip4_address_t tmp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_OAM_ADD_DEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->is_add = is_add;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_OAM_ADD_DEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->is_add = is_add;
 
-    tmp.as_u32 = ntohl (0xc0a80101); /* 192.168.1.1 */
-    clib_memcpy (mp->src_address, tmp.as_u8, 4);
+  tmp.as_u32 = ntohl (0xc0a80101);     /* 192.168.1.1 */
+  clib_memcpy (mp->src_address, tmp.as_u8, 4);
 
-    tmp.as_u32 = ntohl (0xc0a80103); /* 192.168.1.3 */
-    clib_memcpy (mp->dst_address, tmp.as_u8, 4);
-    
-    mp->vrf_id = 0;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  tmp.as_u32 = ntohl (0xc0a80103);     /* 192.168.1.3 */
+  clib_memcpy (mp->dst_address, tmp.as_u8, 4);
+
+  mp->vrf_id = 0;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void dump (test_main_t *tm)
+void
+dump (test_main_t * tm)
 {
-    vl_api_sw_interface_dump_t * mp;
+  vl_api_sw_interface_dump_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_DUMP);
+  mp->client_index = tm->my_client_index;
+  mp->name_filter_valid = 1;
+  strncpy ((char *) mp->name_filter, "eth", sizeof (mp->name_filter) - 1);
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_DUMP);
-    mp->client_index = tm->my_client_index;
-    mp->name_filter_valid = 1;
-    strncpy ((char *) mp->name_filter, "eth", sizeof (mp->name_filter)-1);
-    
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void add_del_ip4_route (test_main_t *tm, int enable_disable)
+void
+add_del_ip4_route (test_main_t * tm, int enable_disable)
 {
-    vl_api_ip_add_del_route_t *mp;
-    u32 tmp;
+  vl_api_ip_add_del_route_t *mp;
+  u32 tmp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(0);
-    mp->create_vrf_if_needed = 1;
-    /* Arp, please, if needed */
-    mp->resolve_if_needed = 1;
-    mp->resolve_attempts = ntohl(10);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (0);
+  mp->create_vrf_if_needed = 1;
+  /* Arp, please, if needed */
+  mp->resolve_if_needed = 1;
+  mp->resolve_attempts = ntohl (10);
 
-    mp->next_hop_sw_if_index = ntohl(5);
-    mp->is_add = enable_disable;
-    mp->next_hop_weight = 1;
+  mp->next_hop_sw_if_index = ntohl (5);
+  mp->is_add = enable_disable;
+  mp->next_hop_weight = 1;
 
-    /* Next hop: 6.0.0.1 */
-    tmp = ntohl(0x06000001);
-    clib_memcpy (mp->next_hop_address, &tmp, sizeof (tmp));
+  /* Next hop: 6.0.0.1 */
+  tmp = ntohl (0x06000001);
+  clib_memcpy (mp->next_hop_address, &tmp, sizeof (tmp));
 
-    /* Destination: 10.0.0.1/32 */
-    tmp = ntohl(0x0);
-    clib_memcpy (mp->dst_address, &tmp, sizeof (tmp));
-    mp->dst_address_length = 0;
+  /* Destination: 10.0.0.1/32 */
+  tmp = ntohl (0x0);
+  clib_memcpy (mp->dst_address, &tmp, sizeof (tmp));
+  mp->dst_address_length = 0;
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void add_del_ip6_route (test_main_t *tm, int enable_disable)
+void
+add_del_ip6_route (test_main_t * tm, int enable_disable)
 {
-    vl_api_ip_add_del_route_t *mp;
-    u64 tmp[2];
+  vl_api_ip_add_del_route_t *mp;
+  u64 tmp[2];
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->next_hop_sw_if_index = ntohl (5);
+  mp->is_add = enable_disable;
+  mp->is_ipv6 = 1;
+  mp->next_hop_weight = 1;
+  mp->dst_address_length = 64;
+
+  /* add/del dabe::/64 via db01::11 */
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->next_hop_sw_if_index = ntohl(5);
-    mp->is_add = enable_disable;
-    mp->is_ipv6 = 1;
-    mp->next_hop_weight = 1;
-    mp->dst_address_length = 64;
+  tmp[0] = clib_host_to_net_u64 (0xdabe000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x0ULL);
+  clib_memcpy (mp->dst_address, &tmp[0], 8);
+  clib_memcpy (&mp->dst_address[8], &tmp[1], 8);
 
-    /* add/del dabe::/64 via db01::11 */
+  tmp[0] = clib_host_to_net_u64 (0xdb01000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x11ULL);
+  clib_memcpy (mp->next_hop_address, &tmp[0], 8);
+  clib_memcpy (&mp->next_hop_address[8], &tmp[1], 8);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+add_del_interface_address (test_main_t * tm, int enable_disable)
+{
+  vl_api_sw_interface_add_del_address_t *mp;
+  u32 tmp;
 
-    tmp[0] = clib_host_to_net_u64 (0xdabe000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x0ULL);
-    clib_memcpy (mp->dst_address, &tmp[0], 8);
-    clib_memcpy (&mp->dst_address[8], &tmp[1], 8);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->is_add = enable_disable;
+  mp->address_length = 8;
 
-    tmp[0] = clib_host_to_net_u64(0xdb01000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x11ULL);
-    clib_memcpy (mp->next_hop_address, &tmp[0], 8);
-    clib_memcpy (&mp->next_hop_address[8], &tmp[1], 8);
+  tmp = ntohl (0x01020304);
+  clib_memcpy (mp->address, &tmp, 4);
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void add_del_interface_address (test_main_t *tm, int enable_disable)
+void
+add_del_v6_interface_address (test_main_t * tm, int enable_disable)
 {
-    vl_api_sw_interface_add_del_address_t *mp;
-    u32 tmp;
+  vl_api_sw_interface_add_del_address_t *mp;
+  u64 tmp[2];
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->is_add = enable_disable;
-    mp->address_length = 8;
-    
-    tmp = ntohl (0x01020304);
-    clib_memcpy (mp->address, &tmp, 4);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->is_ipv6 = 1;
+  mp->sw_if_index = ntohl (5);
+  mp->is_add = enable_disable;
+  mp->address_length = 64;
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  tmp[0] = clib_host_to_net_u64 (0xdb01000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x11ULL);
+
+  clib_memcpy (mp->address, &tmp[0], 8);
+  clib_memcpy (&mp->address[8], &tmp[1], 8);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
-void add_del_v6_interface_address (test_main_t *tm, int enable_disable)
+
+void
+del_all_interface_addresses (test_main_t * tm)
 {
-    vl_api_sw_interface_add_del_address_t *mp;
-    u64 tmp[2];
+  vl_api_sw_interface_add_del_address_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->del_all = 1;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->is_ipv6 = 1;
-    mp->sw_if_index = ntohl(5);
-    mp->is_add = enable_disable;
-    mp->address_length = 64;
-    
-    tmp[0] = clib_host_to_net_u64(0xdb01000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x11ULL);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+set_interface_table (test_main_t * tm, int is_ipv6, u32 vrf_id)
+{
+  vl_api_sw_interface_set_table_t *mp;
 
-    clib_memcpy (mp->address, &tmp[0], 8);
-    clib_memcpy (&mp->address[8], &tmp[1], 8);
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void del_all_interface_addresses (test_main_t *tm)
-{
-    vl_api_sw_interface_add_del_address_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->del_all = 1;
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void set_interface_table (test_main_t *tm, int is_ipv6, u32 vrf_id)
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_TABLE);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->is_ipv6 = is_ipv6;
+  mp->vrf_id = ntohl (vrf_id);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+connect_unix_tap (test_main_t * tm, char *name)
 {
-    vl_api_sw_interface_set_table_t *mp;
+  vl_api_tap_connect_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_TABLE);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->is_ipv6 = is_ipv6;
-    mp->vrf_id = ntohl(vrf_id);
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void connect_unix_tap (test_main_t *tm, char *name)
-{
-    vl_api_tap_connect_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_TAP_CONNECT);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    clib_memcpy (mp->tap_name, name, strlen(name));
-    mp->use_random_mac = 1;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_TAP_CONNECT);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  clib_memcpy (mp->tap_name, name, strlen (name));
+  mp->use_random_mac = 1;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void create_vlan_subif (test_main_t *tm, u32 vlan_id)
+void
+create_vlan_subif (test_main_t * tm, u32 vlan_id)
 {
-    vl_api_create_vlan_subif_t *mp;
+  vl_api_create_vlan_subif_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_CREATE_VLAN_SUBIF);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl (5);
-    mp->vlan_id = ntohl(vlan_id);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_CREATE_VLAN_SUBIF);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->vlan_id = ntohl (vlan_id);
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void create_mpls_gre_tunnel (test_main_t *tm, u32 vrf_id, u32 label, 
-                             u8 is_add)
+void
+create_mpls_gre_tunnel (test_main_t * tm, u32 vrf_id, u32 label, u8 is_add)
 {
-    vl_api_mpls_add_del_encap_t *lp;
-    vl_api_mpls_add_del_decap_t *dlp;
-    vl_api_mpls_gre_add_del_tunnel_t *mp;
-    u32 tmp;
+  vl_api_mpls_add_del_encap_t *lp;
+  vl_api_mpls_add_del_decap_t *dlp;
+  vl_api_mpls_gre_add_del_tunnel_t *mp;
+  u32 tmp;
 
-    dlp = vl_msg_api_alloc (sizeof (*dlp));
-    memset(dlp, 0, sizeof (*dlp));
-    dlp->_vl_msg_id = ntohs (VL_API_MPLS_ADD_DEL_DECAP);
-    dlp->client_index = tm->my_client_index;
-    dlp->context = 0xdeadbeef;
-    dlp->tx_vrf_id = ntohl(vrf_id);
-    dlp->label = ntohl(label);
-    dlp->s_bit = 1;
-    dlp->is_add = is_add;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&dlp);
+  dlp = vl_msg_api_alloc (sizeof (*dlp));
+  memset (dlp, 0, sizeof (*dlp));
+  dlp->_vl_msg_id = ntohs (VL_API_MPLS_ADD_DEL_DECAP);
+  dlp->client_index = tm->my_client_index;
+  dlp->context = 0xdeadbeef;
+  dlp->tx_vrf_id = ntohl (vrf_id);
+  dlp->label = ntohl (label);
+  dlp->s_bit = 1;
+  dlp->is_add = is_add;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & dlp);
 
-    lp = vl_msg_api_alloc (sizeof (*lp) + sizeof (u32));
-    memset(lp, 0, sizeof (*lp) + sizeof (u32));
-    lp->_vl_msg_id = ntohs (VL_API_MPLS_ADD_DEL_ENCAP);
-    lp->client_index = tm->my_client_index;
-    lp->context = 0xdeadbeef;
-    lp->vrf_id = ntohl(vrf_id);
-    lp->labels[0] = ntohl(label);
-    lp->nlabels = 1;
-    lp->is_add = is_add;
-    /* dst: 5.0.0.1 */
-    tmp = ntohl (0x05000001);
-    clib_memcpy (lp->dst_address, &tmp, 4);
+  lp = vl_msg_api_alloc (sizeof (*lp) + sizeof (u32));
+  memset (lp, 0, sizeof (*lp) + sizeof (u32));
+  lp->_vl_msg_id = ntohs (VL_API_MPLS_ADD_DEL_ENCAP);
+  lp->client_index = tm->my_client_index;
+  lp->context = 0xdeadbeef;
+  lp->vrf_id = ntohl (vrf_id);
+  lp->labels[0] = ntohl (label);
+  lp->nlabels = 1;
+  lp->is_add = is_add;
+  /* dst: 5.0.0.1 */
+  tmp = ntohl (0x05000001);
+  clib_memcpy (lp->dst_address, &tmp, 4);
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&lp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & lp);
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_MPLS_GRE_ADD_DEL_TUNNEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->inner_vrf_id = ntohl(vrf_id);
-    mp->outer_vrf_id = 0;
-    mp->is_add = is_add;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_MPLS_GRE_ADD_DEL_TUNNEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->inner_vrf_id = ntohl (vrf_id);
+  mp->outer_vrf_id = 0;
+  mp->is_add = is_add;
 
-    /* src: 6.0.0.1 */
-    tmp = ntohl (0x06000001);
-    clib_memcpy (mp->src_address, &tmp, 4);
-    /* dst: 5.0.0.1 */
-    tmp = ntohl (0x05000001);
-    clib_memcpy (mp->dst_address, &tmp, 4);
-    /* intfc: 5.0.0.1/24 */
-    tmp = ntohl (0x05000001);
-    clib_memcpy (mp->intfc_address, &tmp, 4);
-    mp->intfc_address_length = 24;
+  /* src: 6.0.0.1 */
+  tmp = ntohl (0x06000001);
+  clib_memcpy (mp->src_address, &tmp, 4);
+  /* dst: 5.0.0.1 */
+  tmp = ntohl (0x05000001);
+  clib_memcpy (mp->dst_address, &tmp, 4);
+  /* intfc: 5.0.0.1/24 */
+  tmp = ntohl (0x05000001);
+  clib_memcpy (mp->intfc_address, &tmp, 4);
+  mp->intfc_address_length = 24;
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void add_del_proxy_arp (test_main_t *tm, int is_add)
+void
+add_del_proxy_arp (test_main_t * tm, int is_add)
 {
-    vl_api_proxy_arp_add_del_t *mp;
-    u32 tmp;
+  vl_api_proxy_arp_add_del_t *mp;
+  u32 tmp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_ADD_DEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (11);
+  mp->is_add = is_add;
+
+  /* proxy fib 11, 1.1.1.1 -> 1.1.1.10 */
+  tmp = ntohl (0x01010101);
+  clib_memcpy (mp->low_address, &tmp, 4);
+
+  tmp = ntohl (0x0101010a);
+  clib_memcpy (mp->hi_address, &tmp, 4);
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_ADD_DEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(11);
-    mp->is_add = is_add;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
-    /* proxy fib 11, 1.1.1.1 -> 1.1.1.10 */
-    tmp = ntohl (0x01010101);
-    clib_memcpy (mp->low_address, &tmp, 4);
-
-    tmp = ntohl (0x0101010a);
-    clib_memcpy (mp->hi_address, &tmp, 4);
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void proxy_arp_intfc_enable_disable (test_main_t *tm, int enable_disable)
-{
-    vl_api_proxy_arp_intfc_enable_disable_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(6);
-    mp->enable_disable = enable_disable;
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void add_ip4_neighbor (test_main_t *tm, int add_del)
+void
+proxy_arp_intfc_enable_disable (test_main_t * tm, int enable_disable)
 {
-    vl_api_ip_neighbor_add_del_t *mp;
-    u32 tmp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(11);
-    mp->sw_if_index = ntohl(6);
-    mp->is_add = add_del;
-
-    memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
-    
-    tmp = ntohl (0x0101010a);
-    clib_memcpy (mp->dst_address, &tmp, 4);
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void add_ip6_neighbor (test_main_t *tm, int add_del)
-{
-    vl_api_ip_neighbor_add_del_t *mp;
-    u64 tmp[2];
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(11);
-    mp->sw_if_index = ntohl(6);
-    mp->is_add = add_del;
-    mp->is_ipv6 = 1;
-
-    memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
-    
-    tmp[0] = clib_host_to_net_u64(0xdb01000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x11ULL);
-
-    clib_memcpy (mp->dst_address, &tmp[0], 8);
-    clib_memcpy (&mp->dst_address[8], &tmp[1], 8);
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void reset_fib (test_main_t *tm, u8 is_ip6)
-{
-    vl_api_reset_fib_t *mp;
-    
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_RESET_FIB);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(11);
-    mp->is_ipv6 = is_ip6;
-
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void dhcpv6_set_vss (test_main_t *tm)
-{
-    vl_api_dhcp_proxy_set_vss_t *mp;
-    
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->oui = ntohl(6);
-    mp->fib_id = ntohl(60);
-    mp->is_add = 1;
-    mp->is_ipv6 = 1;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-void dhcpv4_set_vss (test_main_t *tm)
-{
-    vl_api_dhcp_proxy_set_vss_t *mp;
-    
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->oui = ntohl(4);
-    mp->fib_id = ntohl(40);
-    mp->is_add = 1;
-    mp->is_ipv6 = 0;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void dhcp_set_vss(test_main_t *tm)
-{
-    dhcpv4_set_vss(tm);
-    dhcpv6_set_vss(tm);    
-}
-
-void dhcp_set_proxy (test_main_t *tm, int ipv6)
-{
-    vl_api_dhcp_proxy_config_t *mp; 
-    
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_CONFIG);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = ntohl(0);
-    mp->is_ipv6  = ipv6;
-    mp->insert_circuit_id = 1;
-    mp->is_add = 1;
-    mp->dhcp_server[0] = 0x20;
-    mp->dhcp_server[1] = 0x01;
-    mp->dhcp_server[2] = 0xab;
-    mp->dhcp_server[3] = 0xcd;
-    mp->dhcp_server[4] = 0x12;
-    mp->dhcp_server[5] = 0x34;
-    mp->dhcp_server[6] = 0xfe;
-    mp->dhcp_server[7] = 0xdc;
-    mp->dhcp_server[14] = 0;
-    mp->dhcp_server[15] = 0x2;
-    
-    mp->dhcp_src_address[0] = 0x20;
-    mp->dhcp_src_address[1] = 0x01;
-    mp->dhcp_src_address[2] = 0xab;
-    mp->dhcp_src_address[3] = 0xcd;
-    mp->dhcp_src_address[4] = 0x12;
-    mp->dhcp_src_address[5] = 0x34;
-    mp->dhcp_src_address[6] = 0x56;
-    mp->dhcp_src_address[7] = 0x78;
-    mp->dhcp_src_address[14] = 0;
-    mp->dhcp_src_address[15] = 0x2;
+  vl_api_proxy_arp_intfc_enable_disable_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (6);
+  mp->enable_disable = enable_disable;
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void set_ip_flow_hash (test_main_t *tm, u8 is_ip6)
+void
+add_ip4_neighbor (test_main_t * tm, int add_del)
 {
-    vl_api_set_ip_flow_hash_t *mp;
-    
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SET_IP_FLOW_HASH);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->vrf_id = 0;
-    mp->is_ipv6 = is_ip6;
-    mp->dst = 1;
-    mp->reverse = 1;
-
-   vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
+  vl_api_ip_neighbor_add_del_t *mp;
+  u32 tmp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (11);
+  mp->sw_if_index = ntohl (6);
+  mp->is_add = add_del;
+
+  memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
 
-void ip6nd_ra_config(test_main_t *tm, int is_no)
+  tmp = ntohl (0x0101010a);
+  clib_memcpy (mp->dst_address, &tmp, 4);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+add_ip6_neighbor (test_main_t * tm, int add_del)
 {
-    vl_api_sw_interface_ip6nd_ra_config_t *mp;
-   
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->is_no = is_no;
-   
-    mp->suppress = 1; 
+  vl_api_ip_neighbor_add_del_t *mp;
+  u64 tmp[2];
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (11);
+  mp->sw_if_index = ntohl (6);
+  mp->is_add = add_del;
+  mp->is_ipv6 = 1;
 
+  memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
 
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6ND_RA_CONFIG);
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  tmp[0] = clib_host_to_net_u64 (0xdb01000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x11ULL);
+
+  clib_memcpy (mp->dst_address, &tmp[0], 8);
+  clib_memcpy (&mp->dst_address[8], &tmp[1], 8);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void ip6nd_ra_prefix(test_main_t *tm, int is_no)
+void
+reset_fib (test_main_t * tm, u8 is_ip6)
 {
-    vl_api_sw_interface_ip6nd_ra_prefix_t *mp;
-    u64 tmp[2];
+  vl_api_reset_fib_t *mp;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->is_no = is_no;
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_RESET_FIB);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (11);
+  mp->is_ipv6 = is_ip6;
 
-    mp->use_default = 1;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
+void
+dhcpv6_set_vss (test_main_t * tm)
+{
+  vl_api_dhcp_proxy_set_vss_t *mp;
 
-    tmp[0] = clib_host_to_net_u64(0xdb01000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x11ULL);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->oui = ntohl (6);
+  mp->fib_id = ntohl (60);
+  mp->is_add = 1;
+  mp->is_ipv6 = 1;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
+void
+dhcpv4_set_vss (test_main_t * tm)
+{
+  vl_api_dhcp_proxy_set_vss_t *mp;
 
-    clib_memcpy (mp->address, &tmp[0], 8);
-    clib_memcpy (&mp->address[8], &tmp[1], 8);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->oui = ntohl (4);
+  mp->fib_id = ntohl (40);
+  mp->is_add = 1;
+  mp->is_ipv6 = 0;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
-    mp->address_length = 64;
+void
+dhcp_set_vss (test_main_t * tm)
+{
+  dhcpv4_set_vss (tm);
+  dhcpv6_set_vss (tm);
+}
+
+void
+dhcp_set_proxy (test_main_t * tm, int ipv6)
+{
+  vl_api_dhcp_proxy_config_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_CONFIG);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = ntohl (0);
+  mp->is_ipv6 = ipv6;
+  mp->insert_circuit_id = 1;
+  mp->is_add = 1;
+  mp->dhcp_server[0] = 0x20;
+  mp->dhcp_server[1] = 0x01;
+  mp->dhcp_server[2] = 0xab;
+  mp->dhcp_server[3] = 0xcd;
+  mp->dhcp_server[4] = 0x12;
+  mp->dhcp_server[5] = 0x34;
+  mp->dhcp_server[6] = 0xfe;
+  mp->dhcp_server[7] = 0xdc;
+  mp->dhcp_server[14] = 0;
+  mp->dhcp_server[15] = 0x2;
+
+  mp->dhcp_src_address[0] = 0x20;
+  mp->dhcp_src_address[1] = 0x01;
+  mp->dhcp_src_address[2] = 0xab;
+  mp->dhcp_src_address[3] = 0xcd;
+  mp->dhcp_src_address[4] = 0x12;
+  mp->dhcp_src_address[5] = 0x34;
+  mp->dhcp_src_address[6] = 0x56;
+  mp->dhcp_src_address[7] = 0x78;
+  mp->dhcp_src_address[14] = 0;
+  mp->dhcp_src_address[15] = 0x2;
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+set_ip_flow_hash (test_main_t * tm, u8 is_ip6)
+{
+  vl_api_set_ip_flow_hash_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SET_IP_FLOW_HASH);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->vrf_id = 0;
+  mp->is_ipv6 = is_ip6;
+  mp->dst = 1;
+  mp->reverse = 1;
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+ip6nd_ra_config (test_main_t * tm, int is_no)
+{
+  vl_api_sw_interface_ip6nd_ra_config_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->is_no = is_no;
+
+  mp->suppress = 1;
+
+
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6ND_RA_CONFIG);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+ip6nd_ra_prefix (test_main_t * tm, int is_no)
+{
+  vl_api_sw_interface_ip6nd_ra_prefix_t *mp;
+  u64 tmp[2];
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->is_no = is_no;
+
+  mp->use_default = 1;
+
+
+  tmp[0] = clib_host_to_net_u64 (0xdb01000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x11ULL);
+
+
+  clib_memcpy (mp->address, &tmp[0], 8);
+  clib_memcpy (&mp->address[8], &tmp[1], 8);
+
+  mp->address_length = 64;
+
+
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6ND_RA_PREFIX);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
+
+void
+ip6_enable_disable (test_main_t * tm, int enable)
+{
+  vl_api_sw_interface_ip6_enable_disable_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
 
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->enable = (enable == 1);;
 
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6ND_RA_PREFIX);
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6_ENABLE_DISABLE);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void ip6_enable_disable(test_main_t *tm, int enable)
+void
+loop_create (test_main_t * tm)
 {
-    vl_api_sw_interface_ip6_enable_disable_t *mp;
-   
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
-    mp->enable = (enable == 1);;
-  
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6_ENABLE_DISABLE);
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_api_create_loopback_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+
+  mp->_vl_msg_id = ntohs (VL_API_CREATE_LOOPBACK);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void loop_create (test_main_t *tm)
+void
+ip6_set_link_local_address (test_main_t * tm)
 {
-    vl_api_create_loopback_t * mp;
+  vl_api_sw_interface_ip6_set_link_local_address_t *mp;
+  u64 tmp[2];
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
 
-    mp = vl_msg_api_alloc (sizeof(*mp));
-    memset(mp, 0, sizeof (*mp));
-    
-    mp->_vl_msg_id = ntohs (VL_API_CREATE_LOOPBACK);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  tmp[0] = clib_host_to_net_u64 (0xfe80000000000000ULL);
+  tmp[1] = clib_host_to_net_u64 (0x11ULL);
+
+  clib_memcpy (mp->address, &tmp[0], 8);
+  clib_memcpy (&mp->address[8], &tmp[1], 8);
+
+  mp->address_length = 64;
+
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS);
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-void ip6_set_link_local_address(test_main_t *tm)
+
+void
+set_flags (test_main_t * tm, int up_down)
 {
-    vl_api_sw_interface_ip6_set_link_local_address_t *mp;
-    u64 tmp[2];
+  vl_api_sw_interface_set_flags_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->sw_if_index = ntohl (5);
+  mp->admin_up_down = up_down;
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+
+}
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl(5);
+void
+l2_patch_add_del (test_main_t * tm, int is_add)
+{
+  vl_api_l2_patch_add_del_t *mp;
 
-    tmp[0] = clib_host_to_net_u64(0xfe80000000000000ULL);
-    tmp[1] = clib_host_to_net_u64 (0x11ULL);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_L2_PATCH_ADD_DEL);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->is_add = is_add;
+  mp->rx_sw_if_index = ntohl (1);
+  mp->tx_sw_if_index = ntohl (2);
 
-    clib_memcpy (mp->address, &tmp[0], 8);
-    clib_memcpy (&mp->address[8], &tmp[1], 8);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
-    mp->address_length = 64;
+void
+l2_xconnect (test_main_t * tm)
+{
+  vl_api_sw_interface_set_l2_xconnect_t *mp;
 
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS);
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_XCONNECT);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->rx_sw_if_index = ntohl (5);
+  mp->tx_sw_if_index = ntohl (6);
+  mp->enable = 1;
 
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
+void
+l2_bridge (test_main_t * tm)
+{
+  vl_api_sw_interface_set_l2_bridge_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_BRIDGE);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+  mp->rx_sw_if_index = ntohl (5);
+  mp->bd_id = ntohl (6);
+  mp->bvi = ntohl (1);
+  mp->shg = ntohl (0);
+  mp->enable = 1;
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
+}
 
-void set_flags (test_main_t *tm, int up_down)
+int
+main (int argc, char **argv)
 {
-    vl_api_sw_interface_set_flags_t * mp;
+  api_main_t *am = &api_main;
+  test_main_t *tm = &test_main;
+  int ch;
 
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
+  connect_to_vpe ("test_client");
 
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->sw_if_index = ntohl (5);
-    mp->admin_up_down = up_down;
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  tm->vl_input_queue = shmem_hdr->vl_input_queue;
+  tm->my_client_index = am->my_client_index;
 
-}
-
-void l2_patch_add_del (test_main_t *tm, int is_add)
-{
-    vl_api_l2_patch_add_del_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_L2_PATCH_ADD_DEL);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->is_add = is_add;
-    mp->rx_sw_if_index = ntohl (1);
-    mp->tx_sw_if_index = ntohl (2);
-    
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void l2_xconnect (test_main_t *tm)
-{
-    vl_api_sw_interface_set_l2_xconnect_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_XCONNECT);
-       mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->rx_sw_if_index = ntohl(5);
-    mp->tx_sw_if_index = ntohl(6);
-       mp->enable = 1;
-    
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-void l2_bridge (test_main_t *tm)
-{
-    vl_api_sw_interface_set_l2_bridge_t *mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_BRIDGE);
-       mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    mp->rx_sw_if_index = ntohl(5);
-    mp->bd_id = ntohl(6);
-    mp->bvi = ntohl(1);
-    mp->shg = ntohl(0);
-    mp->enable = 1;
-    
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
-}
-
-int main (int argc, char ** argv)
-{
-    api_main_t * am = &api_main;
-    test_main_t * tm = &test_main;
-    int ch;
-    
-    connect_to_vpe("test_client");
-    
-    tm->vl_input_queue = shmem_hdr->vl_input_queue;
-    tm->my_client_index = am->my_client_index;
-    
-    fformat(stdout, "Type 'h' for help, 'q' to quit...\n");
-    
-    while (1) {
-        ch = getchar();
-        switch (ch) {
-        case 'q':
-            goto done;
-        case 'd':
-            dump (tm);
-            break;
-        case 'L':
-            link_up_down_enable_disable (tm, 1 /* enable_disable */);
-            break;
-        case 'l':
-            link_up_down_enable_disable (tm, 0 /* enable_disable */);
-            break;
-        case 'S':
-            stats_enable_disable (tm, 1 /* enable_disable */);
-            break;
-        case 's':
-            stats_enable_disable (tm, 0 /* enable_disable */);
-            break;
-        case '3':
-            add_del_ip4_route (tm, 0 /* add */);
-            break;
-        case '4':
-            add_del_ip4_route (tm, 1 /* add */);
-            break;
-        case '5':
-            add_del_ip6_route (tm, 0 /* add */);
-            break;
-        case '6':
-            add_del_ip6_route (tm, 1 /* add */);
-            break;
-        case 'A':
-            add_del_interface_address (tm, 1 /* add */);
-            break;
-        case 'a':
-            add_del_interface_address (tm, 0 /* add */);
-            break;
-        case 'B':
-            add_del_v6_interface_address (tm, 1 /* add */);
-            break;
+  fformat (stdout, "Type 'h' for help, 'q' to quit...\n");
+
+  while (1)
+    {
+      ch = getchar ();
+      switch (ch)
+       {
+       case 'q':
+         goto done;
+       case 'd':
+         dump (tm);
+         break;
+       case 'L':
+         link_up_down_enable_disable (tm, 1 /* enable_disable */ );
+         break;
+       case 'l':
+         link_up_down_enable_disable (tm, 0 /* enable_disable */ );
+         break;
+       case 'S':
+         stats_enable_disable (tm, 1 /* enable_disable */ );
+         break;
+       case 's':
+         stats_enable_disable (tm, 0 /* enable_disable */ );
+         break;
+       case '3':
+         add_del_ip4_route (tm, 0 /* add */ );
+         break;
+       case '4':
+         add_del_ip4_route (tm, 1 /* add */ );
+         break;
+       case '5':
+         add_del_ip6_route (tm, 0 /* add */ );
+         break;
+       case '6':
+         add_del_ip6_route (tm, 1 /* add */ );
+         break;
+       case 'A':
+         add_del_interface_address (tm, 1 /* add */ );
+         break;
+       case 'a':
+         add_del_interface_address (tm, 0 /* add */ );
+         break;
+       case 'B':
+         add_del_v6_interface_address (tm, 1 /* add */ );
+         break;
        case 'b':
-            add_del_v6_interface_address (tm, 0 /* add */);
-            break;
-        case 'E':
-            l2_patch_add_del(tm, 1 /* is_add */);
-            break;
-        case 'e':
-            l2_patch_add_del(tm, 0 /* is_add */);
-            break;
-        case 'z':
-            del_all_interface_addresses (tm);
-            break;
-        case 't':
-            set_interface_table (tm, 0 /* is_ipv6 */, 
-                                 11 /* my amp goes to 11 */);
-            break;
-        case 'T':
-            set_interface_table (tm, 1 /* is_ipv6 */, 
-                                 12 /* my amp goes to 12 */);
-            break;
-
-        case 'u':
-            create_vlan_subif (tm, 123);
-            break;
-
-        case 'c':
-            connect_unix_tap (tm, "foo");
-            break;
-
-        case 'M':
-            create_mpls_gre_tunnel (tm, 11 /* fib */, 123 /* label */, 
-                                    1 /* is_add */);
-            break;
-
-        case 'm':
-            create_mpls_gre_tunnel (tm, 11 /* fib */, 123 /* label */,
-                                    0 /* is_add */);
-            break;
-
-        case 'n':
-            add_ip4_neighbor (tm, 1 /* is_add */);
-            add_ip6_neighbor (tm, 1 /* is_add */);
-            break;
-
-        case 'N':
-            add_ip4_neighbor (tm, 0 /* is_add */);
-            add_ip6_neighbor (tm, 0 /* is_add */);
-            break;
-            
-        case 'p':
-            add_del_proxy_arp (tm, 1 /* add */);
-            break;
-            
-        case 'i':
-            proxy_arp_intfc_enable_disable (tm, 1 /* enable */);
-            break;
-
-        case 'O':
-            oam_events_enable_disable (tm, 0 /* enable */);
-            break;
-
-        case 'o':
-            oam_events_enable_disable (tm, 1 /* enable */);
-            break;
-
-        case '0':
-            oam_add_del (tm, 0 /* is_add */);
-            break;
-
-        case '1':
-            oam_add_del (tm, 1 /* is_add */);
-            break;
-
-        case 'r':
-            reset_fib (tm, 0 /* is_ip6 */);
-            break;
-
-        case 'R':
-            reset_fib (tm, 1 /* is_ip6 */);
-            break;
-            
-        case 'j':
-            dhcp_set_vss(tm);
-            break;
-
-        case 'k':
-            dhcp_set_proxy(tm, 0);
-            break;
-
-        case 'K':
-            dhcp_set_proxy(tm, 1 /*ipv6*/);
-            break;
-       
-        case 'v':
-            set_ip_flow_hash (tm, 0 /* is_ip6 */);
-            break;
+         add_del_v6_interface_address (tm, 0 /* add */ );
+         break;
+       case 'E':
+         l2_patch_add_del (tm, 1 /* is_add */ );
+         break;
+       case 'e':
+         l2_patch_add_del (tm, 0 /* is_add */ );
+         break;
+       case 'z':
+         del_all_interface_addresses (tm);
+         break;
+       case 't':
+         set_interface_table (tm, 0 /* is_ipv6 */ ,
+                              11 /* my amp goes to 11 */ );
+         break;
+       case 'T':
+         set_interface_table (tm, 1 /* is_ipv6 */ ,
+                              12 /* my amp goes to 12 */ );
+         break;
+
+       case 'u':
+         create_vlan_subif (tm, 123);
+         break;
+
+       case 'c':
+         connect_unix_tap (tm, "foo");
+         break;
+
+       case 'M':
+         create_mpls_gre_tunnel (tm, 11 /* fib */ , 123 /* label */ ,
+                                 1 /* is_add */ );
+         break;
+
+       case 'm':
+         create_mpls_gre_tunnel (tm, 11 /* fib */ , 123 /* label */ ,
+                                 0 /* is_add */ );
+         break;
+
+       case 'n':
+         add_ip4_neighbor (tm, 1 /* is_add */ );
+         add_ip6_neighbor (tm, 1 /* is_add */ );
+         break;
+
+       case 'N':
+         add_ip4_neighbor (tm, 0 /* is_add */ );
+         add_ip6_neighbor (tm, 0 /* is_add */ );
+         break;
+
+       case 'p':
+         add_del_proxy_arp (tm, 1 /* add */ );
+         break;
+
+       case 'i':
+         proxy_arp_intfc_enable_disable (tm, 1 /* enable */ );
+         break;
+
+       case 'O':
+         oam_events_enable_disable (tm, 0 /* enable */ );
+         break;
+
+       case 'o':
+         oam_events_enable_disable (tm, 1 /* enable */ );
+         break;
+
+       case '0':
+         oam_add_del (tm, 0 /* is_add */ );
+         break;
+
+       case '1':
+         oam_add_del (tm, 1 /* is_add */ );
+         break;
+
+       case 'r':
+         reset_fib (tm, 0 /* is_ip6 */ );
+         break;
+
+       case 'R':
+         reset_fib (tm, 1 /* is_ip6 */ );
+         break;
+
+       case 'j':
+         dhcp_set_vss (tm);
+         break;
+
+       case 'k':
+         dhcp_set_proxy (tm, 0);
+         break;
+
+       case 'K':
+         dhcp_set_proxy (tm, 1 /*ipv6 */ );
+         break;
+
+       case 'v':
+         set_ip_flow_hash (tm, 0 /* is_ip6 */ );
+         break;
 
        case 'V':
-           ip6_set_link_local_address(tm);
-           break;
+         ip6_set_link_local_address (tm);
+         break;
 
        case 'w':
-           ip6_enable_disable(tm, 1 /* enable */);
-           break;
+         ip6_enable_disable (tm, 1 /* enable */ );
+         break;
 
        case 'W':
-           ip6_enable_disable(tm, 0 /* disable */);
-           break;
+         ip6_enable_disable (tm, 0 /* disable */ );
+         break;
 
        case 'x':
-            ip6nd_ra_config(tm, 0 /* is_no */);
-            break;
+         ip6nd_ra_config (tm, 0 /* is_no */ );
+         break;
        case 'X':
-            ip6nd_ra_config(tm, 1 /* is_no */);
-            break;
+         ip6nd_ra_config (tm, 1 /* is_no */ );
+         break;
        case 'y':
-            ip6nd_ra_prefix(tm, 0 /* is_no */);
-            break;
+         ip6nd_ra_prefix (tm, 0 /* is_no */ );
+         break;
        case 'Y':
-            ip6nd_ra_prefix(tm, 1 /* is_no */);
-            break;
+         ip6nd_ra_prefix (tm, 1 /* is_no */ );
+         break;
 
        case '7':
-           loop_create (tm);
-           break;
-
-        case 'F':
-            set_flags (tm, 1 /* up_down */);
-            break;
-
-        case 'f':
-            set_flags (tm, 0 /* up_down */);
-            break;
-                
-        case '@':
-                       l2_xconnect (tm);
-            break;
-                
-        case '#':
-                       l2_bridge(tm);
-            break;
-                
-        case 'h':
-            fformat (stdout, "q=quit,d=dump,L=link evts on,l=link evts off\n");
-            fformat (stdout, "S=stats on,s=stats off\n");
-            fformat (stdout, "4=add v4 route, 3=del v4 route\n");
-            fformat (stdout, "6=add v6 route, 5=del v6 route\n");
-            fformat (stdout, "A=add v4 intfc route, a=del v4 intfc route\n");
-            fformat (stdout, "B=add v6 intfc route, b=del v6 intfc route\n");
-            fformat (stdout, "z=del all intfc routes\n");
-            fformat (stdout, "t=set v4 intfc table, T=set v6 intfc table\n");
-            fformat (stdout, "c=connect unix tap\n");
-            fformat (stdout, "j=set dhcpv4 and v6 link-address/option-82 params\n");
-            fformat (stdout, "k=set dhcpv4 relay agent params\n");
-            fformat (stdout, "K=set dhcpv6 relay agent params\n");
-            fformat (stdout, "E=add l2 patch, e=del l2 patch\n");
-           fformat (stdout, "V=ip6 set link-local address \n");
-           fformat (stdout, "w=ip6 enable \n");
-           fformat (stdout, "W=ip6 disable \n");
-           fformat (stdout, "x=ip6 nd config \n");
-           fformat (stdout, "X=no ip6 nd config\n");
-           fformat (stdout, "y=ip6 nd prefix \n");
-           fformat (stdout, "Y=no ip6 nd prefix\n");
-           fformat (stdout, "@=l2 xconnect\n");
-           fformat (stdout, "#=l2 bridge\n");
-            
-        default:
-            break;
-        }
+         loop_create (tm);
+         break;
+
+       case 'F':
+         set_flags (tm, 1 /* up_down */ );
+         break;
+
+       case 'f':
+         set_flags (tm, 0 /* up_down */ );
+         break;
+
+       case '@':
+         l2_xconnect (tm);
+         break;
+
+       case '#':
+         l2_bridge (tm);
+         break;
+
+       case 'h':
+         fformat (stdout, "q=quit,d=dump,L=link evts on,l=link evts off\n");
+         fformat (stdout, "S=stats on,s=stats off\n");
+         fformat (stdout, "4=add v4 route, 3=del v4 route\n");
+         fformat (stdout, "6=add v6 route, 5=del v6 route\n");
+         fformat (stdout, "A=add v4 intfc route, a=del v4 intfc route\n");
+         fformat (stdout, "B=add v6 intfc route, b=del v6 intfc route\n");
+         fformat (stdout, "z=del all intfc routes\n");
+         fformat (stdout, "t=set v4 intfc table, T=set v6 intfc table\n");
+         fformat (stdout, "c=connect unix tap\n");
+         fformat (stdout,
+                  "j=set dhcpv4 and v6 link-address/option-82 params\n");
+         fformat (stdout, "k=set dhcpv4 relay agent params\n");
+         fformat (stdout, "K=set dhcpv6 relay agent params\n");
+         fformat (stdout, "E=add l2 patch, e=del l2 patch\n");
+         fformat (stdout, "V=ip6 set link-local address \n");
+         fformat (stdout, "w=ip6 enable \n");
+         fformat (stdout, "W=ip6 disable \n");
+         fformat (stdout, "x=ip6 nd config \n");
+         fformat (stdout, "X=no ip6 nd config\n");
+         fformat (stdout, "y=ip6 nd prefix \n");
+         fformat (stdout, "Y=no ip6 nd prefix\n");
+         fformat (stdout, "@=l2 xconnect\n");
+         fformat (stdout, "#=l2 bridge\n");
+
+       default:
+         break;
+       }
 
     }
 
- done:
+done:
 
-    if (tm->link_events_on)
-        link_up_down_enable_disable (tm, 0 /* enable */);
-    if (tm->stats_on)
-        stats_enable_disable (tm, 0 /* enable */);
-    if (tm->oam_events_on)
-        oam_events_enable_disable (tm, 0 /* enable */);
+  if (tm->link_events_on)
+    link_up_down_enable_disable (tm, 0 /* enable */ );
+  if (tm->stats_on)
+    stats_enable_disable (tm, 0 /* enable */ );
+  if (tm->oam_events_on)
+    oam_events_enable_disable (tm, 0 /* enable */ );
 
-    disconnect_from_vpe();
-    exit (0);
+  disconnect_from_vpe ();
+  exit (0);
 }
 
 #undef vl_api_version
@@ -1526,11 +1603,20 @@ int main (int argc, char ** argv)
 #include <vpp-api/vpe.api.h>
 #undef vl_api_version
 
-void vl_client_add_api_signatures (vl_api_memclnt_create_t *mp) 
+void
+vl_client_add_api_signatures (vl_api_memclnt_create_t * mp)
 {
-    /* 
-     * Send the main API signature in slot 0. This bit of code must
-     * match the checks in ../vpe/api/api.c: vl_msg_api_version_check().
-     */
-    mp->api_versions[0] = clib_host_to_net_u32 (vpe_api_version);
+  /*
+   * Send the main API signature in slot 0. This bit of code must
+   * match the checks in ../vpe/api/api.c: vl_msg_api_version_check().
+   */
+  mp->api_versions[0] = clib_host_to_net_u32 (vpe_api_version);
 }
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index b3b39fe..6353396 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *------------------------------------------------------------------
  * api.c - message handler registration
- * 
+ *
  * Copyright (c) 2010 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License. 
+ * limitations under the License.
  *------------------------------------------------------------------
  */
 
 #define f64_endian(a)
 #define f64_print(a,b)
 
-#define vl_typedefs             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_typedefs            /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_typedefs
 
-#define vl_endianfun             /* define message structures */
-#include <vpp-api/vpe_all_api_h.h> 
+#define vl_endianfun           /* define message structures */
+#include <vpp-api/vpe_all_api_h.h>
 #undef vl_endianfun
 
 /* instantiate all the print functions we know about */
-#define vl_print(handle, ...) 
+#define vl_print(handle, ...)
 #define vl_printfun
 #include <vpp-api/vpe_all_api_h.h>
 #undef vl_printfun
 
 vl_shmem_hdr_t *shmem_hdr;
 
-typedef struct {
-    u32 pings_sent;
-    u32 pings_replied;
-    volatile u32 signal_received;
-
-    /* convenience */
-    unix_shared_memory_queue_t * vl_input_queue;
-    u32 my_client_index;
-    svmdb_client_t * svmdb_client;
+typedef struct
+{
+  u32 pings_sent;
+  u32 pings_replied;
+  volatile u32 signal_received;
+
+  /* convenience */
+  unix_shared_memory_queue_t *vl_input_queue;
+  u32 my_client_index;
+  svmdb_client_t *svmdb_client;
 } test_main_t;
 
 test_main_t test_main;
 
-static void vl_api_control_ping_reply_t_handler 
-(vl_api_control_ping_reply_t * mp)
+static void vl_api_control_ping_reply_t_handler
+  (vl_api_control_ping_reply_t * mp)
 {
-    test_main_t * tm = &test_main;
+  test_main_t *tm = &test_main;
 
-    fformat(stdout, "control ping reply from pid %d\n",
-            ntohl (mp->vpe_pid));
-    tm->pings_replied++;
+  fformat (stdout, "control ping reply from pid %d\n", ntohl (mp->vpe_pid));
+  tm->pings_replied++;
 }
 
-void vlib_cli_output (struct vlib_main_t * vm, char * fmt, ...)
+void
+vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...)
 {
-    clib_warning ("BUG: vlib_cli_output callled...");
+  clib_warning ("BUG: vlib_cli_output callled...");
 }
 
 #define foreach_api_msg                         \
 _(CONTROL_PING_REPLY,control_ping_reply)
 
-void ping (test_main_t *tm)
+void
+ping (test_main_t * tm)
 {
-    vl_api_control_ping_t * mp;
-
-    mp = vl_msg_api_alloc (sizeof (*mp));
-    memset(mp, 0, sizeof (*mp));
-    mp->_vl_msg_id = ntohs (VL_API_CONTROL_PING);
-    mp->client_index = tm->my_client_index;
-    mp->context = 0xdeadbeef;
-    
-    vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *)&mp);
+  vl_api_control_ping_t *mp;
+
+  mp = vl_msg_api_alloc (sizeof (*mp));
+  memset (mp, 0, sizeof (*mp));
+  mp->_vl_msg_id = ntohs (VL_API_CONTROL_PING);
+  mp->client_index = tm->my_client_index;
+  mp->context = 0xdeadbeef;
+
+  vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
 
-static void noop_handler (void *notused) { }
+static void
+noop_handler (void *notused)
+{
+}
 
-int connect_to_vpe(char *name)
+int
+connect_to_vpe (char *name)
 {
-    int rv=0;
-    test_main_t * tm = &test_main;
-    api_main_t * am = &api_main;
+  int rv = 0;
+  test_main_t *tm = &test_main;
+  api_main_t *am = &api_main;
 
-    rv = vl_client_connect_to_vlib("/vpe-api", name, 32);
-    if (rv < 0)
-        return rv;
+  rv = vl_client_connect_to_vlib ("/vpe-api", name, 32);
+  if (rv < 0)
+    return rv;
 
 #define _(N,n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
@@ -134,86 +140,107 @@ int connect_to_vpe(char *name)
                            noop_handler,                        \
                            vl_api_##n##_t_endian,               \
                            vl_api_##n##_t_print,                \
-                           sizeof(vl_api_##n##_t), 1); 
-    foreach_api_msg;
+                           sizeof(vl_api_##n##_t), 1);
+  foreach_api_msg;
 #undef _
 
-    shmem_hdr = api_main.shmem_hdr;
-    tm->vl_input_queue = shmem_hdr->vl_input_queue;
-    tm->my_client_index = am->my_client_index;
-    return 0;
+  shmem_hdr = api_main.shmem_hdr;
+  tm->vl_input_queue = shmem_hdr->vl_input_queue;
+  tm->my_client_index = am->my_client_index;
+  return 0;
 }
 
-int disconnect_from_vpe(void)
+int
+disconnect_from_vpe (void)
 {
-    vl_client_disconnect_from_vlib();
-    
-    return 0;
+  vl_client_disconnect_from_vlib ();
+
+  return 0;
 }
 
-void signal_handler (int signo)
+void
+signal_handler (int signo)
 {
-    test_main_t * tm = &test_main;
+  test_main_t *tm = &test_main;
 
-    tm->signal_received = 1;
+  tm->signal_received = 1;
 }
 
 
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
 {
-    test_main_t * tm = &test_main;
-    api_main_t * am = &api_main;
-    u32 swt_pid = 0;
-    int connected = 0;
-
-    signal (SIGINT, signal_handler);
-
-    while (1) {
-        if (tm->signal_received)
-            break;
-        
-        if (am->shmem_hdr)
-            swt_pid = am->shmem_hdr->vl_pid;
-        
-        /* If kill returns 0, the vpe-f process is alive */
-        if (kill(swt_pid, 0) == 0) {
-            /* Try to connect */
-            if (connected == 0) {
-                fformat (stdout, "Connect to VPE-f\n");
-                if (connect_to_vpe("test_ha_client") >= 0) {
-                    tm->pings_sent = 0;
-                    tm->pings_replied = 0;
-                    connected = 1;
-                } else {
-                    fformat(stdout, "Connect failed, sleep and retry...\n");
-                    sleep(1);
-                    continue;
-                }
-            }
-            tm->pings_sent ++;
-            ping(tm);
-
-            sleep (1);
-            
-            /* havent heard back in 3 seconds, disco / reco */
-            if ((tm->pings_replied + 3) <= tm->pings_sent) {
-                fformat (stdout, "VPE-f pid %d not responding\n", swt_pid);
-                swt_pid = 0;
-                disconnect_from_vpe();
-                connected = 0;
-            }
-        } else {
-            if (connected) {
-                fformat (stdout, "VPE-f pid %d died\n", swt_pid);
-                swt_pid = 0;
-                disconnect_from_vpe();
-                connected = 0;
-            }
-            sleep (1);
-        }
+  test_main_t *tm = &test_main;
+  api_main_t *am = &api_main;
+  u32 swt_pid = 0;
+  int connected = 0;
+
+  signal (SIGINT, signal_handler);
+
+  while (1)
+    {
+      if (tm->signal_received)
+       break;
+
+      if (am->shmem_hdr)
+       swt_pid = am->shmem_hdr->vl_pid;
+
+      /* If kill returns 0, the vpe-f process is alive */
+      if (kill (swt_pid, 0) == 0)
+       {
+         /* Try to connect */
+         if (connected == 0)
+           {
+             fformat (stdout, "Connect to VPE-f\n");
+             if (connect_to_vpe ("test_ha_client") >= 0)
+               {
+                 tm->pings_sent = 0;
+                 tm->pings_replied = 0;
+                 connected = 1;
+               }
+             else
+               {
+                 fformat (stdout, "Connect failed, sleep and retry...\n");
+                 sleep (1);
+                 continue;
+               }
+           }
+         tm->pings_sent++;
+         ping (tm);
+
+         sleep (1);
+
+         /* havent heard back in 3 seconds, disco / reco */
+         if ((tm->pings_replied + 3) <= tm->pings_sent)
+           {
+             fformat (stdout, "VPE-f pid %d not responding\n", swt_pid);
+             swt_pid = 0;
+             disconnect_from_vpe ();
+             connected = 0;
+           }
+       }
+      else
+       {
+         if (connected)
+           {
+             fformat (stdout, "VPE-f pid %d died\n", swt_pid);
+             swt_pid = 0;
+             disconnect_from_vpe ();
+             connected = 0;
+           }
+         sleep (1);
+       }
     }
 
-    fformat (stdout, "Signal received, graceful exit\n");
-    disconnect_from_vpe();
-    exit (0);
+  fformat (stdout, "Signal received, graceful exit\n");
+  disconnect_from_vpe ();
+  exit (0);
 }
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index 810d86d..83f096b 100644 (file)
     @param enable_disable - 1 => register for events, 0 => cancel registration
     @param pid - sender's pid
 */
-define want_interface_events {
-    u32 client_index;
-    u32 context;
-    u32 enable_disable;
-    u32 pid;
+define want_interface_events
+{
+  u32 client_index;
+  u32 context;
+  u32 enable_disable;
+  u32 pid;
 };
 
 /** \brief Reply for interface events registration
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define want_interface_events_reply {
-    u32 context;
-    i32 retval;
+define want_interface_events_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Interface details structure (fix this) 
@@ -66,54 +68,55 @@ define want_interface_events_reply {
     @param vtr_tag1
     @param vtr_tag2
 */
-define sw_interface_details {
-    u32 context;
-    u32 sw_if_index;
+define sw_interface_details
+{
+  u32 context;
+  u32 sw_if_index;
 
-    /* index of sup interface (e.g. hw interface).
-       equal to sw_if_index for super hw interface. */
-    u32 sup_sw_if_index;
+  /* index of sup interface (e.g. hw interface).
+     equal to sw_if_index for super hw interface. */
+  u32 sup_sw_if_index;
 
-    /* Layer 2 address, if applicable */
-    u32 l2_address_length;
-    u8 l2_address[8];
-    
-    /* Interface name */
-    u8 interface_name[64];
+  /* Layer 2 address, if applicable */
+  u32 l2_address_length;
+  u8 l2_address[8];
 
-    /* 1 = up, 0 = down */
-    u8 admin_up_down;
-    u8 link_up_down;
+  /* Interface name */
+  u8 interface_name[64];
 
-    /* 1 = half duplex, 2 = full duplex */
-    u8 link_duplex;
+  /* 1 = up, 0 = down */
+  u8 admin_up_down;
+  u8 link_up_down;
 
-    /* 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G */
-    u8 link_speed;
-    
-    /* MTU */
-    u16 link_mtu;
+  /* 1 = half duplex, 2 = full duplex */
+  u8 link_duplex;
+
+  /* 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G */
+  u8 link_speed;
+
+  /* MTU */
+  u16 link_mtu;
 
-    /* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface*/
-    u32 sub_id;
+  /* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface */
+  u32 sub_id;
 
-    /* 0 = dot1q, 1=dot1ad */
-    u8 sub_dot1ad;
+  /* 0 = dot1q, 1=dot1ad */
+  u8 sub_dot1ad;
 
-    /* Number of tags 0-2 */
-    u8 sub_number_of_tags;
-    u16 sub_outer_vlan_id;
-    u16 sub_inner_vlan_id;
-    u8 sub_exact_match;
-    u8 sub_default;
-    u8 sub_outer_vlan_id_any;
-    u8 sub_inner_vlan_id_any;
+  /* Number of tags 0-2 */
+  u8 sub_number_of_tags;
+  u16 sub_outer_vlan_id;
+  u16 sub_inner_vlan_id;
+  u8 sub_exact_match;
+  u8 sub_default;
+  u8 sub_outer_vlan_id_any;
+  u8 sub_inner_vlan_id_any;
 
-    /* vlan tag rewrite state */
-    u32 vtr_op;
-    u32 vtr_push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad
-    u32 vtr_tag1;       // first pushed tag
-    u32 vtr_tag2;       // second pushed tag
+  /* vlan tag rewrite state */
+  u32 vtr_op;
+  u32 vtr_push_dot1q;          // ethertype of first pushed tag is dot1q/dot1ad
+  u32 vtr_tag1;                        // first pushed tag
+  u32 vtr_tag2;                        // second pushed tag
 };
 
 /** \brief Set flags on the interface
@@ -124,31 +127,34 @@ define sw_interface_details {
     @param link_up_down - Oper state sent on change event, not used in config.
     @param deleted - interface was deleted
 */
-define sw_interface_set_flags {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    /* 1 = up, 0 = down */
-    u8 admin_up_down;
-    u8 link_up_down;
-    u8 deleted;
+define sw_interface_set_flags
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  /* 1 = up, 0 = down */
+  u8 admin_up_down;
+  u8 link_up_down;
+  u8 deleted;
 };
 
 /** \brief Reply to sw_interface_set_flags 
     @param context - sender context which was passed in the request
     @param retval - return code of the set flags request
 */
-define sw_interface_set_flags_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_flags_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /* works */
-define sw_interface_dump {
-    u32 client_index;
-    u32 context;
-    u8 name_filter_valid;
-    u8 name_filter[49];
+define sw_interface_dump
+{
+  u32 client_index;
+  u32 context;
+  u8 name_filter_valid;
+  u8 name_filter[49];
 };
 
 /** \brief Set or delete one or all ip addresses on a specified interface
@@ -161,24 +167,26 @@ define sw_interface_dump {
     @param address_length - address length in bytes, 4 for ip4, 16 for ip6
     @param address - array of address bytes
 */
-define sw_interface_add_del_address {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 is_add;
-    u8 is_ipv6;
-    u8 del_all;
-    u8 address_length;
-    u8 address[16];
+define sw_interface_add_del_address
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 del_all;
+  u8 address_length;
+  u8 address[16];
 };
 
 /** \brief Reply for interface events registration
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define sw_interface_add_del_address_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_add_del_address_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Associate the specified interface with a fib table
@@ -188,21 +196,23 @@ define sw_interface_add_del_address_reply {
     @param is_ipv6 - if non-zero ipv6, else ipv4
     @param vrf_id - fib table/vrd id to associate the interface with
 */
-define sw_interface_set_table {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 is_ipv6;
-    u32 vrf_id;
+define sw_interface_set_table
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_ipv6;
+  u32 vrf_id;
 };
 
 /** \brief Reply for interface events registration
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define sw_interface_set_table_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_table_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Initialize a new tap interface with the given paramters 
@@ -212,14 +222,15 @@ define sw_interface_set_table_reply {
     @param tap_name - name to associate with the new interface
     @param mac_address - mac addr to assign to the interface if use_radom not set
 */
-define tap_connect {
-    u32 client_index;
-    u32 context;
-    u8 use_random_mac;
-    u8 tap_name [64];
-    u8 mac_address[6];
-    u8 renumber;
-    u32 custom_dev_instance;
+define tap_connect
+{
+  u32 client_index;
+  u32 context;
+  u8 use_random_mac;
+  u8 tap_name[64];
+  u8 mac_address[6];
+  u8 renumber;
+  u32 custom_dev_instance;
 };
 
 /** \brief Reply for tap connect request
@@ -227,10 +238,11 @@ define tap_connect {
     @param retval - return code
     @param sw_if_index - software index allocated for the new tap interface
 */
-define tap_connect_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define tap_connect_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief Modify a tap interface with the given paramters 
@@ -241,15 +253,16 @@ define tap_connect_reply {
     @param tap_name - name to associate with the new interface
     @param mac_address - mac addr to assign to the interface if use_radom not set
 */
-define tap_modify {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 use_random_mac;
-    u8 tap_name [64];
-    u8 mac_address[6];
-    u8 renumber;
-    u32 custom_dev_instance;
+define tap_modify
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 use_random_mac;
+  u8 tap_name[64];
+  u8 mac_address[6];
+  u8 renumber;
+  u32 custom_dev_instance;
 };
 
 /** \brief Reply for tap modify request
@@ -257,10 +270,11 @@ define tap_modify {
     @param retval - return code
     @param sw_if_index - software index if the modified tap interface
 */
-define tap_modify_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define tap_modify_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief Delete tap interface
@@ -268,35 +282,39 @@ define tap_modify_reply {
     @param context - sender context, to match reply w/ request
     @param sw_if_index - interface index of existing tap interface
 */
-define tap_delete {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define tap_delete
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
 /** \brief Reply for tap delete request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define tap_delete_reply {
-    u32 context;
-    i32 retval;
+define tap_delete_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Dump tap interfaces request */
-define sw_interface_tap_dump {
-    u32 client_index;
-    u32 context;
+define sw_interface_tap_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Reply for tap dump request
     @param sw_if_index - software index of tap interface
     @param dev_name - Linux tap device name
 */
-define sw_interface_tap_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 dev_name[64];
+define sw_interface_tap_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 dev_name[64];
 };
 
 /** \brief Create a new subinterface with the given vlan id
@@ -305,11 +323,12 @@ define sw_interface_tap_details {
     @param sw_if_index - software index of the new vlan's parent interface
     @param vlan_id - vlan tag of the new interface
 */
-define create_vlan_subif {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 vlan_id;
+define create_vlan_subif
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 vlan_id;
 };
 
 /** \brief Reply for the vlan subinterface create request
@@ -317,10 +336,11 @@ define create_vlan_subif {
     @param retval - return code
     @param sw_if_index - software index allocated for the new subinterface
 */
-define create_vlan_subif_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define create_vlan_subif_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief Add / del route request
@@ -345,37 +365,39 @@ define create_vlan_subif_reply {
     @param dst_address[16] - 
     @param next_hop_address[16] - 
 */
-define ip_add_del_route {
-    u32 client_index;
-    u32 context;
-    u32 next_hop_sw_if_index;
-    u32 vrf_id;
-    u32 lookup_in_vrf;
-    u32 resolve_attempts;
-    u32 classify_table_index;
-    u8 create_vrf_if_needed;
-    u8 resolve_if_needed;
-    u8 is_add;
-    u8 is_drop;
-    u8 is_ipv6;
-    u8 is_local;
-    u8 is_classify;
-    /* Is last/not-last message in group of multiple add/del messages. */
-    u8 is_multipath;
-    u8 not_last;
-    u8 next_hop_weight;
-    u8 dst_address_length;
-    u8 dst_address[16];
-    u8 next_hop_address[16];
+define ip_add_del_route
+{
+  u32 client_index;
+  u32 context;
+  u32 next_hop_sw_if_index;
+  u32 vrf_id;
+  u32 lookup_in_vrf;
+  u32 resolve_attempts;
+  u32 classify_table_index;
+  u8 create_vrf_if_needed;
+  u8 resolve_if_needed;
+  u8 is_add;
+  u8 is_drop;
+  u8 is_ipv6;
+  u8 is_local;
+  u8 is_classify;
+  /* Is last/not-last message in group of multiple add/del messages. */
+  u8 is_multipath;
+  u8 not_last;
+  u8 next_hop_weight;
+  u8 dst_address_length;
+  u8 dst_address[16];
+  u8 next_hop_address[16];
 };
 
 /** \brief Reply for add / del route request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ip_add_del_route_reply {
-    u32 context;
-    i32 retval;
+define ip_add_del_route_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /* works */
@@ -391,27 +413,29 @@ define ip_add_del_route_reply {
     @param intf_address - 
     @param intf_address_length - 
 */
-define mpls_gre_add_del_tunnel {
-    u32 client_index;
-    u32 context;
-    u32 inner_vrf_id;
-    u32 outer_vrf_id;
-    u8 is_add;
-    u8 l2_only;
-    u8 src_address[4];
-    u8 dst_address[4];
-    u8 intfc_address[4];
-    u8 intfc_address_length;
+define mpls_gre_add_del_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u32 inner_vrf_id;
+  u32 outer_vrf_id;
+  u8 is_add;
+  u8 l2_only;
+  u8 src_address[4];
+  u8 dst_address[4];
+  u8 intfc_address[4];
+  u8 intfc_address_length;
 };
 
 /** \brief Reply for add / del tunnel request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define mpls_gre_add_del_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 tunnel_sw_if_index;
+define mpls_gre_add_del_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 tunnel_sw_if_index;
 };
 
 /** \brief Add / del MPLS encapsulation request
@@ -423,24 +447,26 @@ define mpls_gre_add_del_tunnel_reply {
     @param nlabels - number of labels 
     @param labels - array of labels
 */
-define mpls_add_del_encap {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 dst_address[4];
-    /* 1 = add, 0 = delete */
-    u8 is_add;
-    u8 nlabels;
-    u32 labels[0];
-}; 
+define mpls_add_del_encap
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 dst_address[4];
+  /* 1 = add, 0 = delete */
+  u8 is_add;
+  u8 nlabels;
+  u32 labels[0];
+};
 
 /** \brief Reply for add / del encapsulation request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define mpls_add_del_encap_reply {
-    u32 context;
-    i32 retval;
+define mpls_add_del_encap_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Add / del MPLS decapsulation request
@@ -453,24 +479,26 @@ define mpls_add_del_encap_reply {
     @param s_bit - 
     @param is_add - 1 if adding the encap, 0 if deleting
 */
-define mpls_add_del_decap {
-    u32 client_index;
-    u32 context;
-    u32 rx_vrf_id;
-    u32 tx_vrf_id;
-    u32 label;
-    u32 next_index;
-    u8 s_bit;
-    u8 is_add;
-}; 
+define mpls_add_del_decap
+{
+  u32 client_index;
+  u32 context;
+  u32 rx_vrf_id;
+  u32 tx_vrf_id;
+  u32 label;
+  u32 next_index;
+  u8 s_bit;
+  u8 is_add;
+};
 
 /** \brief Reply for MPLS decap add / del request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define mpls_add_del_decap_reply {
-    u32 context;
-    i32 retval;
+define mpls_add_del_decap_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Proxy ARP add / del request
@@ -481,22 +509,24 @@ define mpls_add_del_decap_reply {
     @param low_address[4] - Low address of the Proxy ARP range
     @param hi_address[4] - High address of the Proxy ARP range
 */
-define proxy_arp_add_del {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 is_add;
-    u8 low_address[4];
-    u8 hi_address[4];
+define proxy_arp_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 is_add;
+  u8 low_address[4];
+  u8 hi_address[4];
 };
 
 /** \brief Reply for proxy arp add / del request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define proxy_arp_add_del_reply {
-    u32 context;
-    i32 retval;
+define proxy_arp_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Proxy ARP add / del request
@@ -505,21 +535,23 @@ define proxy_arp_add_del_reply {
     @param sw_if_index - Which interface to enable / disable Proxy Arp on
     @param enable_disable - 1 to enable Proxy ARP on interface, 0 to disable
 */
-define proxy_arp_intfc_enable_disable {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    /* 1 = on, 0 = off */
-    u8 enable_disable;
+define proxy_arp_intfc_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  /* 1 = on, 0 = off */
+  u8 enable_disable;
 };
 
 /** \brief Reply for Proxy ARP interface enable / disable request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define proxy_arp_intfc_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define proxy_arp_intfc_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IP neighbor add / del request
@@ -533,26 +565,28 @@ define proxy_arp_intfc_enable_disable_reply {
     @param mac_address - l2 address of the neighbor
     @param dst_address - ip4 or ip6 address of the neighbor
 */
-define ip_neighbor_add_del {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;                 /* only makes sense for ip4 */
-    u32 sw_if_index;
-    /* 1 = add, 0 = delete */
-    u8 is_add;
-    u8 is_ipv6;
-    u8 is_static;
-    u8 mac_address[6];
-    u8 dst_address[16];
+define ip_neighbor_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;                  /* only makes sense for ip4 */
+  u32 sw_if_index;
+  /* 1 = add, 0 = delete */
+  u8 is_add;
+  u8 is_ipv6;
+  u8 is_static;
+  u8 mac_address[6];
+  u8 dst_address[16];
 };
 
 /** \brief Reply for IP Neighbor add / delete request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ip_neighbor_add_del_reply {
-    u32 context;
-    i32 retval;
+define ip_neighbor_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Reset VRF (remove all routes etc) request
@@ -561,20 +595,22 @@ define ip_neighbor_add_del_reply {
     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
     @param vrf_id - ID of th FIB table / VRF to reset
 */
-define reset_vrf {
-    u32 client_index;
-    u32 context;
-    u8 is_ipv6;
-    u32 vrf_id;
-}; 
+define reset_vrf
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u32 vrf_id;
+};
 
 /** \brief Reply for Reset VRF request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define reset_vrf_reply {
-    u32 context;
-    i32 retval;
+define reset_vrf_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Is Address Reachable request - DISABLED
@@ -585,14 +621,15 @@ define reset_vrf_reply {
     @param is_error - address not found or does not match intf
     @param address[] - Address in question 
 */
-define is_address_reachable {
-    u32 client_index;           /* (api_main_t *) am->my_client_index */
-    u32 context;
-    u32 next_hop_sw_if_index;
-    u8 is_known;                /* on reply, this is the answer */
-    u8 is_ipv6;
-    u8 is_error;                /* address not found or does not match intf */
-    u8 address[16];
+define is_address_reachable
+{
+  u32 client_index;            /* (api_main_t *) am->my_client_index */
+  u32 context;
+  u32 next_hop_sw_if_index;
+  u8 is_known;                 /* on reply, this is the answer */
+  u8 is_ipv6;
+  u8 is_error;                 /* address not found or does not match intf */
+  u8 address[16];
 };
 
 /** \brief Want Stats, register for stats updates
@@ -601,20 +638,22 @@ define is_address_reachable {
     @param enable_disable - 1 = enable stats, 0 = disable
     @param pid - pid of process requesting stats updates
 */
-define want_stats {
-    u32 client_index;
-    u32 context;
-    u32 enable_disable;
-    u32 pid;
+define want_stats
+{
+  u32 client_index;
+  u32 context;
+  u32 enable_disable;
+  u32 pid;
 };
 
 /** \brief Reply for Want Stats request
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define want_stats_reply {
-    u32 context;
-    i32 retval;
+define want_stats_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Want stats counters structure 
@@ -624,48 +663,54 @@ define want_stats_reply {
     @param count - number of interfaces this stats block includes counters for
     @param data - contiguous block of vlib_counter_t structures 
 */
-define vnet_interface_counters {
-    /* enums - plural - in vnet/interface.h */
-    u8 vnet_counter_type;
-    u8 is_combined;
-    u32 first_sw_if_index;
-    u32 count;
-    u8 data[count];
+define vnet_interface_counters
+{
+  /* enums - plural - in vnet/interface.h */
+  u8 vnet_counter_type;
+  u8 is_combined;
+  u32 first_sw_if_index;
+  u32 count;
+  u8 data[count];
 };
 
-typeonly manual_print manual_endian define ip4_fib_counter {
-    u32 address;
-    u8 address_length;
-    u64 packets;
-    u64 bytes;
+typeonly manual_print manual_endian define ip4_fib_counter
+{
+  u32 address;
+  u8 address_length;
+  u64 packets;
+  u64 bytes;
 };
 
-manual_print manual_endian define vnet_ip4_fib_counters {
-    u32 vrf_id;
-    u32 count;
-    vl_api_ip4_fib_counter_t c[count];
+manual_print manual_endian define vnet_ip4_fib_counters
+{
+  u32 vrf_id;
+  u32 count;
+  vl_api_ip4_fib_counter_t c[count];
 };
 
-typeonly manual_print manual_endian define ip6_fib_counter {
-    u64 address[2];
-    u8 address_length;
-    u64 packets;
-    u64 bytes;
+typeonly manual_print manual_endian define ip6_fib_counter
+{
+  u64 address[2];
+  u8 address_length;
+  u64 packets;
+  u64 bytes;
 };
 
-manual_print manual_endian define vnet_ip6_fib_counters {
-    u32 vrf_id;
-    u32 count;
-    vl_api_ip6_fib_counter_t c[count];
+manual_print manual_endian define vnet_ip6_fib_counters
+{
+  u32 vrf_id;
+  u32 count;
+  vl_api_ip6_fib_counter_t c[count];
 };
 
 /** \brief Request for a single block of summary stats
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define vnet_get_summary_stats {
-    u32 client_index;
-    u32 context;
+define vnet_get_summary_stats
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Reply for vnet_get_summary_stats request
@@ -675,21 +720,23 @@ define vnet_get_summary_stats {
     @param total_bytes -
     @param vector_rate - 
 */
-define vnet_summary_stats_reply {
-    u32 context;
-    i32 retval;
-    u64 total_pkts[2];
-    u64 total_bytes[2];
-    f64 vector_rate; 
+define vnet_summary_stats_reply
+{
+  u32 context;
+  i32 retval;
+  u64 total_pkts[2];
+  u64 total_bytes[2];
+  f64 vector_rate;
 };
 
 /** \brief OAM event structure
     @param dst_address[] - 
     @param state
 */
-define oam_event {
-    u8 dst_address[4];
-    u8 state;
+define oam_event
+{
+  u8 dst_address[4];
+  u8 state;
 };
 
 /** \brief Want OAM events request
@@ -698,20 +745,22 @@ define oam_event {
     @param enable_disable- enable if non-zero, else disable
     @param pid - pid of the requesting process
 */
-define want_oam_events {
-    u32 client_index;
-    u32 context;
-    u32 enable_disable;
-    u32 pid;
+define want_oam_events
+{
+  u32 client_index;
+  u32 context;
+  u32 enable_disable;
+  u32 pid;
 };
 
 /** \brief Want OAM events response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the want oam stats request
 */
-define want_oam_events_reply {
-    u32 context;
-    i32 retval;
+define want_oam_events_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief OAM add / del target request
@@ -722,22 +771,24 @@ define want_oam_events_reply {
     @param dst_address[] - destination address of the target
     @param is_add - add target if non-zero, else delete
 */
-define oam_add_del {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 src_address[4];
-    u8 dst_address[4];
-    u8 is_add;
+define oam_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 src_address[4];
+  u8 dst_address[4];
+  u8 is_add;
 };
 
 /** \brief OAM add / del target response
     @param context - sender context, to match reply w/ request
     @param retval - return code of the request
 */
-define oam_add_del_reply {
-    u32 context;
-    i32 retval;
+define oam_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Reset fib table request
@@ -746,20 +797,22 @@ define oam_add_del_reply {
     @param vrf_id - vrf/table id of the fib table to reset
     @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4
 */
-define reset_fib {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 is_ipv6;
+define reset_fib
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 is_ipv6;
 };
 
 /** \brief Reset fib response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the reset bfib request
 */
-define reset_fib_reply {
-    u32 context;
-    i32 retval;
+define reset_fib_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief DHCP Proxy config add / del request
@@ -772,24 +825,26 @@ define reset_fib_reply {
     @param dhcp_server[] - server address
     @param dhcp_src_address[] - <fix this, need details>
 */
-define dhcp_proxy_config {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 is_ipv6;
-    u8 is_add;
-    u8 insert_circuit_id;
-    u8 dhcp_server[16];
-    u8 dhcp_src_address[16];
+define dhcp_proxy_config
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 is_ipv6;
+  u8 is_add;
+  u8 insert_circuit_id;
+  u8 dhcp_server[16];
+  u8 dhcp_src_address[16];
 };
 
 /** \brief DHCP Proxy config response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define dhcp_proxy_config_reply {
-    u32 context;
-    i32 retval;
+define dhcp_proxy_config_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief DHCP Proxy set / unset vss request
@@ -801,23 +856,25 @@ define dhcp_proxy_config_reply {
     @param is_ipv6 - ip6 if non-zero, else ip4
     @param is_add - set vss if non-zero, else delete
 */
-define dhcp_proxy_set_vss {
-    u32 client_index;
-    u32 context;
-    u32 tbl_id;
-    u32 oui;
-    u32 fib_id;
-    u8 is_ipv6;
-    u8 is_add;
+define dhcp_proxy_set_vss
+{
+  u32 client_index;
+  u32 context;
+  u32 tbl_id;
+  u32 oui;
+  u32 fib_id;
+  u8 is_ipv6;
+  u8 is_add;
 };
 
 /** \brief DHCP proxy set / unset vss response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define dhcp_proxy_set_vss_reply {
-    u32 context;
-    i32 retval;
+define dhcp_proxy_set_vss_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set the ip flow hash config for a fib request
@@ -832,26 +889,28 @@ define dhcp_proxy_set_vss_reply {
     @param proto -if non-zero include proto in flow hash
     @param reverse - if non-zero include reverse in flow hash
 */
-define set_ip_flow_hash {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u8 is_ipv6;
-    u8 src;
-    u8 dst;
-    u8 sport;
-    u8 dport;
-    u8 proto;
-    u8 reverse;
+define set_ip_flow_hash
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u8 is_ipv6;
+  u8 src;
+  u8 dst;
+  u8 sport;
+  u8 dport;
+  u8 proto;
+  u8 reverse;
 };
 
 /** \brief Set the ip flow hash config for a fib response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define set_ip_flow_hash_reply {
-    u32 context;
-    i32 retval;
+define set_ip_flow_hash_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 router advertisement config request
@@ -871,32 +930,34 @@ define set_ip_flow_hash_reply {
     @param initial_count -
     @param initial_interval -
 */
-define sw_interface_ip6nd_ra_config {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 suppress;
-    u8  managed;
-    u8 other;
-    u8 ll_option;
-    u8 send_unicast;
-    u8 cease;
-    u8 is_no;
-    u8 default_router;
-    u32 max_interval;
-    u32 min_interval;
-    u32 lifetime;
-    u32 initial_count;
-    u32 initial_interval;
+define sw_interface_ip6nd_ra_config
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 suppress;
+  u8 managed;
+  u8 other;
+  u8 ll_option;
+  u8 send_unicast;
+  u8 cease;
+  u8 is_no;
+  u8 default_router;
+  u32 max_interval;
+  u32 min_interval;
+  u32 lifetime;
+  u32 initial_count;
+  u32 initial_interval;
 };
 
 /** \brief IPv6 router advertisement config response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define sw_interface_ip6nd_ra_config_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_ip6nd_ra_config_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 router advertisement prefix config request
@@ -914,29 +975,31 @@ define sw_interface_ip6nd_ra_config_reply {
     @param val_lifetime -
     @param pref_lifetime -
 */
-define sw_interface_ip6nd_ra_prefix {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 address[16];
-    u8 address_length;
-    u8 use_default;
-    u8 no_advertise;
-    u8 off_link;
-    u8 no_autoconfig;
-    u8 no_onlink;
-    u8 is_no;
-    u32 val_lifetime;
-    u32 pref_lifetime;
+define sw_interface_ip6nd_ra_prefix
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 address[16];
+  u8 address_length;
+  u8 use_default;
+  u8 no_advertise;
+  u8 off_link;
+  u8 no_autoconfig;
+  u8 no_onlink;
+  u8 is_no;
+  u32 val_lifetime;
+  u32 pref_lifetime;
 };
 
 /** \brief IPv6 router advertisement prefix config response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define sw_interface_ip6nd_ra_prefix_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_ip6nd_ra_prefix_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 interface enable / disable request
@@ -945,20 +1008,22 @@ define sw_interface_ip6nd_ra_prefix_reply {
     @param sw_if_index - interface used to reach neighbor
     @param enable - if non-zero enable ip6 on interface, else disable
 */
-define sw_interface_ip6_enable_disable  {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 enable;                        /* set to true if enable*/
+define sw_interface_ip6_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 enable;                   /* set to true if enable */
 };
 
 /** \brief IPv6 interface enable / disable response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define  sw_interface_ip6_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_ip6_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 set link local address on interface request
@@ -968,21 +1033,23 @@ define  sw_interface_ip6_enable_disable_reply {
     @param address[] - the new link local address
     @param address_length - link local address length
 */
-define sw_interface_ip6_set_link_local_address  {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 address[16];
-    u8 address_length;
+define sw_interface_ip6_set_link_local_address
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 address[16];
+  u8 address_length;
 };
 
 /** \brief IPv6 set link local address on interface response
     @param context - sender context, to match reply w/ request
     @param retval - error code for the request
 */
-define  sw_interface_ip6_set_link_local_address_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_ip6_set_link_local_address_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set unnumbered interface add / del request
@@ -992,21 +1059,23 @@ define  sw_interface_ip6_set_link_local_address_reply {
     @param unnumbered_sw_if_index - interface which will use the address
     @param is_add - if non-zero set the association, else unset it
 */
-define sw_interface_set_unnumbered {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;           /* use this intfc address */
-    u32 unnumbered_sw_if_index; /* on this interface */
-    u8 is_add;
+define sw_interface_set_unnumbered
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;             /* use this intfc address */
+  u32 unnumbered_sw_if_index;  /* on this interface */
+  u8 is_add;
 };
 
 /** \brief Set unnumbered interface add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define  sw_interface_set_unnumbered_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_unnumbered_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Create loopback interface request
@@ -1014,10 +1083,11 @@ define  sw_interface_set_unnumbered_reply {
     @param context - sender context, to match reply w/ request
     @param mac_address - mac addr to assign to the interface if none-zero
 */
-define create_loopback {
-    u32 client_index;
-    u32 context;
-    u8  mac_address[6];
+define create_loopback
+{
+  u32 client_index;
+  u32 context;
+  u8 mac_address[6];
 };
 
 /** \brief Create loopback interface response
@@ -1025,10 +1095,11 @@ define create_loopback {
     @param sw_if_index - sw index of the interface that was created
     @param retval - return code for the request
 */
-define create_loopback_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define create_loopback_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief Delete loopback interface request
@@ -1036,28 +1107,31 @@ define create_loopback_reply {
     @param context - sender context, to match reply w/ request
     @param sw_if_index - sw index of the interface that was created
 */
-define delete_loopback {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define delete_loopback
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
 /** \brief Delete loopback interface response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define delete_loopback_reply {
-    u32 context;
-    i32 retval;
+define delete_loopback_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Control ping from client to api server request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define control_ping {
-    u32 client_index;
-    u32 context;
+define control_ping
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Control ping from the client to the server response
@@ -1066,20 +1140,22 @@ define control_ping {
     @param retval - return code for the request
     @param vpe_pid - the pid of the vpe, returned by the server
 */
-define control_ping_reply {
-    u32 context;
-    i32 retval;
-    u32 client_index;
-    u32 vpe_pid;
+define control_ping_reply
+{
+  u32 context;
+  i32 retval;
+  u32 client_index;
+  u32 vpe_pid;
 };
 
 /** \brief Control ping from client to api server request, no print json output
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define noprint_control_ping {
-    u32 client_index;
-    u32 context;
+define noprint_control_ping
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Control ping from the client to the server response
@@ -1088,11 +1164,12 @@ define noprint_control_ping {
     @param retval - return code for the request
     @param vpe_pid - the pid of the vpe, returned by the server
 */
-define noprint_control_ping_reply {
-    u32 context;
-    i32 retval;
-    u32 client_index;
-    u32 vpe_pid;
+define noprint_control_ping_reply
+{
+  u32 context;
+  i32 retval;
+  u32 client_index;
+  u32 vpe_pid;
 };
 
 /** \brief Process a vpe parser cli string request
@@ -1100,10 +1177,11 @@ define noprint_control_ping_reply {
     @param context - sender context, to match reply w/ request
     @param cmd_in_shmem - pointer to cli command string
 */
-define cli_request {
-    u32 client_index;
-    u32 context;
-    u64 cmd_in_shmem;
+define cli_request
+{
+  u32 client_index;
+  u32 context;
+  u64 cmd_in_shmem;
 };
 
 /** \brief vpe parser cli string response
@@ -1111,10 +1189,11 @@ define cli_request {
     @param retval - return code for request
     @param reply_in_shmem - Reply string from cli processing if any
 */
-define cli_reply {
-    u32 context;
-    i32 retval;
-    u64 reply_in_shmem;
+define cli_reply
+{
+  u32 context;
+  i32 retval;
+  u64 reply_in_shmem;
 };
 
 /** \brief Set max allowed ARP or ip6 neighbor entries request
@@ -1123,20 +1202,22 @@ define cli_reply {
     @param is_ipv6 - neighbor limit if non-zero, else ARP limit
     @param arp_neighbor_limit - the new limit, defaults are ~ 50k
 */
-define set_arp_neighbor_limit {
-    u32 client_index;
-    u32 context;
-    u8  is_ipv6;
-    u32 arp_neighbor_limit;
-}; 
+define set_arp_neighbor_limit
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u32 arp_neighbor_limit;
+};
 
 /** \brief Set max allowed ARP or ip6 neighbor entries response
     @param context - sender context, to match reply w/ request
     @param retval - return code for request
 */
-define set_arp_neighbor_limit_reply {
-    u32 context;
-    i32 retval;
+define set_arp_neighbor_limit_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief L2 interface patch add / del request
@@ -1146,21 +1227,23 @@ define set_arp_neighbor_limit_reply {
     @param tx_sw_if_index - transmit side interface
     @param is_add - if non-zero set up the interface patch, else remove it
 */
-define l2_patch_add_del {
-    u32 client_index;
-    u32 context;
-    u32 rx_sw_if_index;
-    u32 tx_sw_if_index;
-    u8 is_add;
+define l2_patch_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 rx_sw_if_index;
+  u32 tx_sw_if_index;
+  u8 is_add;
 };
 
 /** \brief L2 interface patch add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define l2_patch_add_del_reply {
-    u32 context;
-    i32 retval;
+define l2_patch_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 segment routing tunnel add / del request
@@ -1179,30 +1262,32 @@ define l2_patch_add_del_reply {
     @param segs_and_tags[] -
     @param policy_name[] - name of policy to associate this tunnel to (len. 64)
 */
-define sr_tunnel_add_del {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 name[64];
-    u8 src_address[16];
-    u8 dst_address[16];
-    u8 dst_mask_width;
-    u32 inner_vrf_id;
-    u32 outer_vrf_id;
-    u16 flags_net_byte_order;
-    u8 n_segments;
-    u8 n_tags;
-    u8 segs_and_tags[0];
-    u8 policy_name[64];
+define sr_tunnel_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 name[64];
+  u8 src_address[16];
+  u8 dst_address[16];
+  u8 dst_mask_width;
+  u32 inner_vrf_id;
+  u32 outer_vrf_id;
+  u16 flags_net_byte_order;
+  u8 n_segments;
+  u8 n_tags;
+  u8 segs_and_tags[0];
+  u8 policy_name[64];
 };
 
 /** \brief IPv6 segment routing tunnel add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define sr_tunnel_add_del_reply {
-    u32 context;
-    i32 retval;
+define sr_tunnel_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 segment routing policy add / del request
@@ -1212,21 +1297,23 @@ define sr_tunnel_add_del_reply {
     @param name[] - policy name (len. 64)
     @param tunnel_names[] -
 */
-define sr_policy_add_del {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 name[64];
-    u8 tunnel_names[0];
+define sr_policy_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 name[64];
+  u8 tunnel_names[0];
 };
 
 /** \brief IPv6 segment routing policy add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define sr_policy_add_del_reply {
-    u32 context;
-    i32 retval;
+define sr_policy_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPv6 segment routing multicast map to policy add / del request
@@ -1236,21 +1323,23 @@ define sr_policy_add_del_reply {
     @param multicast_address[] - IP6 multicast address
     @param policy_name[] = policy name (len.64)
 */
-define sr_multicast_map_add_del {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 multicast_address[16];
-    u8 policy_name[64];
+define sr_multicast_map_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 multicast_address[16];
+  u8 policy_name[64];
 };
 
 /** \brief IPv6 segment routing multicast map to policy add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define sr_multicast_map_add_del_reply {
-    u32 context;
-    i32 retval;
+define sr_multicast_map_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Interface set vpath request
@@ -1259,20 +1348,22 @@ define sr_multicast_map_add_del_reply {
     @param sw_if_index - interface used to reach neighbor
     @param enable - if non-zero enable, else disable
 */
-define sw_interface_set_vpath {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8  enable;
+define sw_interface_set_vpath
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 enable;
 };
 
 /** \brief Interface set vpath response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define sw_interface_set_vpath_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_vpath_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief MPLS Ethernet add / del tunnel request
@@ -1285,26 +1376,28 @@ define sw_interface_set_vpath_reply {
     @param adj_address - 
     @param adj_address_length -
 */
-define mpls_ethernet_add_del_tunnel {
-    u32 client_index;
-    u32 context;
-    u32 vrf_id;
-    u32 tx_sw_if_index;
-    u8 is_add;
-    u8 l2_only;
-    u8 dst_mac_address[6];
-    u8 adj_address[4];
-    u8 adj_address_length;
+define mpls_ethernet_add_del_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u32 vrf_id;
+  u32 tx_sw_if_index;
+  u8 is_add;
+  u8 l2_only;
+  u8 dst_mac_address[6];
+  u8 adj_address[4];
+  u8 adj_address_length;
 };
 
 /** \brief Reply for MPLS Ethernet add / delete tunnel request
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define mpls_ethernet_add_del_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 tunnel_sw_if_index;
+define mpls_ethernet_add_del_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 tunnel_sw_if_index;
 };
 /** \brief MPLS Ethernet add/ del tunnel 2
     @param client_index - opaque cookie to identify the sender
@@ -1319,28 +1412,30 @@ define mpls_ethernet_add_del_tunnel_reply {
     @param adj_address_length -
     @param next_hop_ip4_address_in_outer_vrf -
 */
-define mpls_ethernet_add_del_tunnel_2 {
-   u32 client_index;
-   u32 context;
-   u32 inner_vrf_id;
-   u32 outer_vrf_id;
-   u32 resolve_attempts;
-   u32 resolve_opaque;          /* no need to set this */
-   u8 resolve_if_needed;
-   u8 is_add;
-   u8 l2_only;
-   u8 adj_address[4];
-   u8 adj_address_length;
-   u8 next_hop_ip4_address_in_outer_vrf [4];
+define mpls_ethernet_add_del_tunnel_2
+{
+  u32 client_index;
+  u32 context;
+  u32 inner_vrf_id;
+  u32 outer_vrf_id;
+  u32 resolve_attempts;
+  u32 resolve_opaque;          /* no need to set this */
+  u8 resolve_if_needed;
+  u8 is_add;
+  u8 l2_only;
+  u8 adj_address[4];
+  u8 adj_address_length;
+  u8 next_hop_ip4_address_in_outer_vrf[4];
 };
 
 /** \brief MPLS Ethernet add/ del tunnel 2
     @param context - sender context, to match reply w/ request
     @param retval - return code for add /del request
 */
-define mpls_ethernet_add_del_tunnel_2_reply {
-    u32 context;
-    i32 retval;
+define mpls_ethernet_add_del_tunnel_2_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set L2 XConnect between two interfaces request
@@ -1350,21 +1445,23 @@ define mpls_ethernet_add_del_tunnel_2_reply {
     @param tx_sw_if_index - Transmit interface index
     @param enable - enable xconnect if not 0, else set to L3 mode
 */
-define sw_interface_set_l2_xconnect {
-    u32 client_index;
-    u32 context;
-    u32 rx_sw_if_index;
-    u32 tx_sw_if_index;
-    u8 enable;
+define sw_interface_set_l2_xconnect
+{
+  u32 client_index;
+  u32 context;
+  u32 rx_sw_if_index;
+  u32 tx_sw_if_index;
+  u8 enable;
 };
 
 /** \brief Set L2 XConnect response
     @param context - sender context, to match reply w/ request
     @param retval - L2 XConnect request return code
 */
-define sw_interface_set_l2_xconnect_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_l2_xconnect_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Interface bridge mode request
@@ -1376,23 +1473,25 @@ define sw_interface_set_l2_xconnect_reply {
     @param shg - Shared horizon group, for bridge mode only
     @param enable - Enable beige mode if not 0, else set to L3 mode
 */
-define sw_interface_set_l2_bridge {
-    u32 client_index;
-    u32 context;
-    u32 rx_sw_if_index;
-    u32 bd_id;
-    u8 shg;
-    u8 bvi;
-    u8 enable;
+define sw_interface_set_l2_bridge
+{
+  u32 client_index;
+  u32 context;
+  u32 rx_sw_if_index;
+  u32 bd_id;
+  u8 shg;
+  u8 bvi;
+  u8 enable;
 };
 
 /** \brief Interface bridge mode response
     @param context - sender context, to match reply w/ request
     @param retval - Bridge mode request return code
 */
-define sw_interface_set_l2_bridge_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_set_l2_bridge_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief L2 FIB add entry request
@@ -1405,25 +1504,27 @@ define sw_interface_set_l2_bridge_reply {
     @param static_mac - 
     @param filter_mac -
 */
-define l2fib_add_del {
-    u32 client_index;
-    u32 context;
-    u64 mac;
-    u32 bd_id;
-    u32 sw_if_index;
-    u8 is_add;
-    u8 static_mac;
-    u8 filter_mac;
-    u8 bvi_mac;
+define l2fib_add_del
+{
+  u32 client_index;
+  u32 context;
+  u64 mac;
+  u32 bd_id;
+  u32 sw_if_index;
+  u8 is_add;
+  u8 static_mac;
+  u8 filter_mac;
+  u8 bvi_mac;
 };
 
 /** \brief L2 FIB add entry response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the add l2fib entry request
 */
-define l2fib_add_del_reply {
-    u32 context;
-    i32 retval;
+define l2fib_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set L2 flags request !!! TODO - need more info, feature bits in l2_input.h
@@ -1433,22 +1534,24 @@ define l2fib_add_del_reply {
     @param is_set - if non-zero, set the bits, else clear them
     @param feature_bitmap - non-zero bits to set or clear
 */
-define l2_flags {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 is_set;
-    u32 feature_bitmap;
+define l2_flags
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_set;
+  u32 feature_bitmap;
 };
 
 /** \brief Set L2 bits response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the set l2 bits request
 */
-define l2_flags_reply {
-    u32 context;
-    i32 retval;
-    u32 resulting_feature_bitmap;
+define l2_flags_reply
+{
+  u32 context;
+  i32 retval;
+  u32 resulting_feature_bitmap;
 };
 
 /** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD, 
@@ -1459,12 +1562,13 @@ define l2_flags_reply {
     @param is_set - if non-zero, set the flags, else clear them
     @param feature_bitmap - bits that are non-zero to set or clear
 */
-define bridge_flags {
-    u32 client_index;
-    u32 context;
-    u32 bd_id;
-    u8 is_set;
-    u32 feature_bitmap;
+define bridge_flags
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
+  u8 is_set;
+  u32 feature_bitmap;
 };
 
 /** \brief Set bridge flags response
@@ -1472,10 +1576,11 @@ define bridge_flags {
     @param retval - return code for the set bridge flags request
     @param resulting_feature_bitmap - the feature bitmap value after the request is implemented
 */
-define bridge_flags_reply {
-    u32 context;
-    i32 retval;
-    u32 resulting_feature_bitmap;
+define bridge_flags_reply
+{
+  u32 context;
+  i32 retval;
+  u32 resulting_feature_bitmap;
 };
 
 /** \brief Set bridge domain ip to mac entry request
@@ -1487,23 +1592,25 @@ define bridge_flags_reply {
     @param mac_address - MAC address
     @param 
 */
-define bd_ip_mac_add_del {
-    u32 client_index;
-    u32 context;
-    u32 bd_id;
-    u8 is_add;
-    u8 is_ipv6;
-    u8 ip_address[16];
-    u8 mac_address[6];
+define bd_ip_mac_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 ip_address[16];
+  u8 mac_address[6];
 };
 
 /** \brief Set bridge domain ip to mac entry response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the set bridge flags request
 */
-define bd_ip_mac_add_del_reply {
-    u32 context;
-    i32 retval;
+define bd_ip_mac_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Add/Delete classification table request
@@ -1518,18 +1625,19 @@ define bd_ip_mac_add_del_reply {
     @param miss_next_index - index of miss table
     @param mask[] - match mask
 */
-define classify_add_del_table {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u32 table_index;
-    u32 nbuckets;
-    u32 memory_size;
-    u32 skip_n_vectors;
-    u32 match_n_vectors;
-    u32 next_table_index;
-    u32 miss_next_index;
-    u8 mask[0];
+define classify_add_del_table
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 table_index;
+  u32 nbuckets;
+  u32 memory_size;
+  u32 skip_n_vectors;
+  u32 match_n_vectors;
+  u32 next_table_index;
+  u32 miss_next_index;
+  u8 mask[0];
 };
 
 /** \brief Add/Delete classification table response
@@ -1539,12 +1647,13 @@ define classify_add_del_table {
     @param skip_n_vectors - for add, returned value of skip_n_vectors in table
     @param match_n_vectors -for add, returned value of match_n_vectors in table
 */
-define classify_add_del_table_reply {
-    u32 context;
-    i32 retval;
-    u32 new_table_index;
-    u32 skip_n_vectors;
-    u32 match_n_vectors;
+define classify_add_del_table_reply
+{
+  u32 context;
+  i32 retval;
+  u32 new_table_index;
+  u32 skip_n_vectors;
+  u32 match_n_vectors;
 };
 
 /** \brief Classify add / del session request
@@ -1557,24 +1666,26 @@ define classify_add_del_table_reply {
     @param advance -for add, advance value for session
     @param match[] - for add, match value for session, required
 */
-define classify_add_del_session {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u32 table_index;
-    u32 hit_next_index;
-    u32 opaque_index;
-    i32 advance;
-    u8 match[0];
+define classify_add_del_session
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 table_index;
+  u32 hit_next_index;
+  u32 opaque_index;
+  i32 advance;
+  u8 match[0];
 };
 
 /** \brief Classify add / del session response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the add/del session request
 */
-define classify_add_del_session_reply {
-    u32 context;
-    i32 retval;
+define classify_add_del_session_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set/unset the classification table for an interface request 
@@ -1584,21 +1695,23 @@ define classify_add_del_session_reply {
     @param sw_if_index - interface to associate with the table
     @param table_index - index of the table, if ~0 unset the table
 */
-define classify_set_interface_ip_table {
-    u32 client_index;
-    u32 context;
-    u8 is_ipv6;
-    u32 sw_if_index;
-    u32 table_index;            /* ~0 => off */
+define classify_set_interface_ip_table
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u32 sw_if_index;
+  u32 table_index;             /* ~0 => off */
 };
 
 /** \brief Set/unset interface classification table response 
     @param context - sender context, to match reply w/ request
     @param retval - return code
 */
-define classify_set_interface_ip_table_reply {
-    u32 context;
-    i32 retval;
+define classify_set_interface_ip_table_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set/unset l2 classification tables for an interface request
@@ -1609,23 +1722,25 @@ define classify_set_interface_ip_table_reply {
     @param ip6_table_index - ip6 index
     @param other_table_index - other index
 */
-define classify_set_interface_l2_tables {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    /* 3 x ~0 => off */
-    u32 ip4_table_index;
-    u32 ip6_table_index;
-    u32 other_table_index;
+define classify_set_interface_l2_tables
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  /* 3 x ~0 => off */
+  u32 ip4_table_index;
+  u32 ip6_table_index;
+  u32 other_table_index;
 };
 
 /** \brief Set/unset l2 classification tables for an interface response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define classify_set_interface_l2_tables_reply {
-    u32 context;
-    i32 retval;
+define classify_set_interface_l2_tables_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Get node index using name request
@@ -1633,10 +1748,11 @@ define classify_set_interface_l2_tables_reply {
     @param context - sender context, to match reply w/ request
     @param node_name[] - name of the node
 */
-define get_node_index {
-    u32 client_index;
-    u32 context;
-    u8 node_name[64];
+define get_node_index
+{
+  u32 client_index;
+  u32 context;
+  u8 node_name[64];
 };
 
 /** \brief Get node index using name request
@@ -1644,10 +1760,11 @@ define get_node_index {
     @param retval - return code for the request
     @param node_index - index of the desired node if found, else ~0
 */
-define get_node_index_reply {
-    u32 context;
-    i32 retval;
-    u32 node_index;
+define get_node_index_reply
+{
+  u32 context;
+  i32 retval;
+  u32 node_index;
 };
 
 /** \brief Set the next node for a given node request
@@ -1656,11 +1773,12 @@ define get_node_index_reply {
     @param node_name[] - node to add the next node to
     @param next_name[] - node to add as the next node
 */
-define add_node_next {
-    u32 client_index;
-    u32 context;
-    u8 node_name[64];
-    u8 next_name[64];
+define add_node_next
+{
+  u32 client_index;
+  u32 context;
+  u8 node_name[64];
+  u8 next_name[64];
 };
 
 /** \brief IP Set the next node for a given node response
@@ -1668,10 +1786,11 @@ define add_node_next {
     @param retval - return code for the add next node request
     @param next_index - the index of the next node if success, else ~0
 */
-define add_node_next_reply {
-    u32 context;
-    i32 retval;
-    u32 next_index;
+define add_node_next_reply
+{
+  u32 context;
+  i32 retval;
+  u32 next_index;
 };
 
 /** \brief DHCP Proxy config 2 add / del request
@@ -1685,25 +1804,27 @@ define add_node_next_reply {
     @param dhcp_server[] - server address
     @param dhcp_src_address[] - <fix this, need details>
 */
-define dhcp_proxy_config_2 {
-    u32 client_index;
-    u32 context;
-    u32 rx_vrf_id;
-    u32 server_vrf_id;
-    u8 is_ipv6;
-    u8 is_add;
-    u8 insert_circuit_id;
-    u8 dhcp_server[16];
-    u8 dhcp_src_address[16];
+define dhcp_proxy_config_2
+{
+  u32 client_index;
+  u32 context;
+  u32 rx_vrf_id;
+  u32 server_vrf_id;
+  u8 is_ipv6;
+  u8 is_add;
+  u8 insert_circuit_id;
+  u8 dhcp_server[16];
+  u8 dhcp_src_address[16];
 };
 
 /** \brief DHCP Proxy config 2 add / del response
     @param context - sender context, to match reply w/ request
     @param retval - return code for request
 */
-define dhcp_proxy_config_2_reply {
-    u32 context;
-    i32 retval;
+define dhcp_proxy_config_2_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief l2tpv3 tunnel interface create request
@@ -1718,18 +1839,19 @@ define dhcp_proxy_config_2_reply {
     @param l2_sublayer_present - l2 sublayer is present in packets if non-zero
     @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
 */
-define l2tpv3_create_tunnel {
-    u32 client_index;
-    u32 context;
-    u8 client_address [16];
-    u8 our_address [16];
-    u8 is_ipv6;
-    u32 local_session_id;
-    u32 remote_session_id;
-    u64 local_cookie;
-    u64 remote_cookie;
-    u8 l2_sublayer_present;
-    u32 encap_vrf_id;
+define l2tpv3_create_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u8 client_address[16];
+  u8 our_address[16];
+  u8 is_ipv6;
+  u32 local_session_id;
+  u32 remote_session_id;
+  u64 local_cookie;
+  u64 remote_cookie;
+  u8 l2_sublayer_present;
+  u32 encap_vrf_id;
 };
 
 /** \brief l2tpv3 tunnel interface create response
@@ -1737,63 +1859,70 @@ define l2tpv3_create_tunnel {
     @param retval - return code for the request
     @param sw_if_index - index of the new tunnel interface
 */
-define l2tpv3_create_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define l2tpv3_create_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
-define l2tpv3_set_tunnel_cookies {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u64 new_local_cookie;
-    u64 new_remote_cookie;
+define l2tpv3_set_tunnel_cookies
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u64 new_local_cookie;
+  u64 new_remote_cookie;
 };
 
 /** \brief L2TP tunnel set cookies response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define l2tpv3_set_tunnel_cookies_reply {
-    u32 context;
-    i32 retval;
-};
-
-define sw_if_l2tpv3_tunnel_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 interface_name[64];
-    u8 client_address [16];
-    u8 our_address [16];
-    u32 local_session_id;
-    u32 remote_session_id;
-    u64 local_cookie[2];
-    u64 remote_cookie;
-    u8 l2_sublayer_present;
+define l2tpv3_set_tunnel_cookies_reply
+{
+  u32 context;
+  i32 retval;
 };
 
-define sw_if_l2tpv3_tunnel_dump {
-    u32 client_index;
-    u32 context;
+define sw_if_l2tpv3_tunnel_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 interface_name[64];
+  u8 client_address[16];
+  u8 our_address[16];
+  u32 local_session_id;
+  u32 remote_session_id;
+  u64 local_cookie[2];
+  u64 remote_cookie;
+  u8 l2_sublayer_present;
+};
+
+define sw_if_l2tpv3_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief L2 fib clear table request, clear all mac entries in the l2 fib
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define l2_fib_clear_table {
-    u32 client_index;
-    u32 context;
+define l2_fib_clear_table
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief L2 fib clear table response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define l2_fib_clear_table_reply {
-    u32 context;
-    i32 retval;
+define l2_fib_clear_table_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief L2 interface ethernet flow point filtering enable/disable request
@@ -1802,112 +1931,126 @@ define l2_fib_clear_table_reply {
     @param sw_if_index - interface to enable/disable filtering on
     @param enable_disable - if non-zero enable filtering, else disable
 */
-define l2_interface_efp_filter {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 enable_disable;
+define l2_interface_efp_filter
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 enable_disable;
 };
 
 /** \brief L2 interface ethernet flow point filtering response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define l2_interface_efp_filter_reply {
-    u32 context;
-    i32 retval;
+define l2_interface_efp_filter_reply
+{
+  u32 context;
+  i32 retval;
 };
 
-define l2tpv3_interface_enable_disable {
-    u32 client_index;
-    u32 context;
-    u8 enable_disable;
-    u32 sw_if_index;
-}; 
+define l2tpv3_interface_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u8 enable_disable;
+  u32 sw_if_index;
+};
 
-define l2tpv3_interface_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define l2tpv3_interface_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
-define l2tpv3_set_lookup_key {
-    u32 client_index;
-    u32 context;
-    /* 0 = ip6 src_address, 1 = ip6 dst_address, 2 = session_id */
-    u8 key;
-}; 
+define l2tpv3_set_lookup_key
+{
+  u32 client_index;
+  u32 context;
+  /* 0 = ip6 src_address, 1 = ip6 dst_address, 2 = session_id */
+  u8 key;
+};
 
-define l2tpv3_set_lookup_key_reply {
-    u32 context;
-    i32 retval;
+define l2tpv3_set_lookup_key_reply
+{
+  u32 context;
+  i32 retval;
 };
 
-define vxlan_add_del_tunnel {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 is_ipv6;
-    u8 src_address[16];
-    u8 dst_address[16];
-    u32 encap_vrf_id;
-    u32 decap_next_index;
-    u32 vni;
+define vxlan_add_del_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 src_address[16];
+  u8 dst_address[16];
+  u32 encap_vrf_id;
+  u32 decap_next_index;
+  u32 vni;
 };
 
-define vxlan_add_del_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define vxlan_add_del_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
-define vxlan_tunnel_dump {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define vxlan_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
-define vxlan_tunnel_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 src_address[16];
-    u8 dst_address[16];
-    u32 encap_vrf_id;
-    u32 decap_next_index;
-    u32 vni;
-    u8 is_ipv6;
+define vxlan_tunnel_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 src_address[16];
+  u8 dst_address[16];
+  u32 encap_vrf_id;
+  u32 decap_next_index;
+  u32 vni;
+  u8 is_ipv6;
 };
 
-define gre_add_del_tunnel {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 is_ipv6;
-    u8 src_address[16];
-    u8 dst_address[16];
-    u32 outer_fib_id;
+define gre_add_del_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 src_address[16];
+  u8 dst_address[16];
+  u32 outer_fib_id;
 };
 
-define gre_add_del_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define gre_add_del_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
-define gre_tunnel_dump {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define gre_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
-define gre_tunnel_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 is_ipv6;
-    u8 src_address[16];
-    u8 dst_address[16];
-    u32 outer_fib_id;
+define gre_tunnel_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 is_ipv6;
+  u8 src_address[16];
+  u8 dst_address[16];
+  u32 outer_fib_id;
 };
-  
+
 /** \brief L2 interface vlan tag rewrite configure request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -1917,23 +2060,25 @@ define gre_tunnel_details {
     @param tag1 - Needed for any push or translate vtr op
     @param tag2 - Needed for any push 2 or translate x-2 vtr ops
 */
-define l2_interface_vlan_tag_rewrite {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 vtr_op;
-    u32 push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad
-    u32 tag1;  // first pushed tag
-    u32 tag2;  // second pushed tag
+define l2_interface_vlan_tag_rewrite
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 vtr_op;
+  u32 push_dot1q;              // ethertype of first pushed tag is dot1q/dot1ad
+  u32 tag1;                    // first pushed tag
+  u32 tag2;                    // second pushed tag
 };
 
 /** \brief L2 interface vlan tag rewrite response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define l2_interface_vlan_tag_rewrite_reply {
-    u32 context;
-    i32 retval;
+define l2_interface_vlan_tag_rewrite_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief vhost-user interface create request
@@ -1943,15 +2088,16 @@ define l2_interface_vlan_tag_rewrite_reply {
     @param use_custom_mac - enable or disable the use of the provided hardware address
     @param mac_address - hardware address to use if 'use_custom_mac' is set
 */
-define create_vhost_user_if {
-   u32 client_index;
-   u32 context;
-   u8 is_server;
-   u8 sock_filename[256];
-   u8 renumber;
-   u32 custom_dev_instance;
-   u8 use_custom_mac;
-   u8 mac_address[6];
+define create_vhost_user_if
+{
+  u32 client_index;
+  u32 context;
+  u8 is_server;
+  u8 sock_filename[256];
+  u8 renumber;
+  u32 custom_dev_instance;
+  u8 use_custom_mac;
+  u8 mac_address[6];
 };
 
 /** \brief vhost-user interface create response
@@ -1959,10 +2105,11 @@ define create_vhost_user_if {
     @param retval - return code for the request
     @param sw_if_index - interface the operation is applied to
 */
-define create_vhost_user_if_reply {
-   u32 context;
-   i32 retval;
-   u32 sw_if_index;
+define create_vhost_user_if_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief vhost-user interface modify request
@@ -1970,75 +2117,82 @@ define create_vhost_user_if_reply {
     @param is_server - our side is socket server
     @param sock_filename - unix socket filename, used to speak with frontend
 */
-define modify_vhost_user_if {
-   u32 client_index;
-   u32 context;
-   u32 sw_if_index;
-   u8 is_server;
-   u8 sock_filename[256];
-   u8 renumber;
-   u32 custom_dev_instance;
+define modify_vhost_user_if
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_server;
+  u8 sock_filename[256];
+  u8 renumber;
+  u32 custom_dev_instance;
 };
 
 /** \brief vhost-user interface modify response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define modify_vhost_user_if_reply {
-   u32 context;
-   i32 retval;
+define modify_vhost_user_if_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief vhost-user interface delete request
     @param client_index - opaque cookie to identify the sender
 */
-define delete_vhost_user_if {
-   u32 client_index;
-   u32 context;
-   u32 sw_if_index;
+define delete_vhost_user_if
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
 /** \brief vhost-user interface delete response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define delete_vhost_user_if_reply {
-   u32 context;
-   i32 retval;
-};
-
-define create_subif {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 sub_id;
-
-    /* These fields map directly onto the subif template */
-    u8 no_tags;
-    u8 one_tag;
-    u8 two_tags;
-    u8 dot1ad;   // 0 = dot1q, 1=dot1ad
-    u8 exact_match;
-    u8 default_sub;
-    u8 outer_vlan_id_any;
-    u8 inner_vlan_id_any;
-    u16 outer_vlan_id;
-    u16 inner_vlan_id;
+define delete_vhost_user_if_reply
+{
+  u32 context;
+  i32 retval;
 };
 
-define create_subif_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define create_subif
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 sub_id;
+
+  /* These fields map directly onto the subif template */
+  u8 no_tags;
+  u8 one_tag;
+  u8 two_tags;
+  u8 dot1ad;                   // 0 = dot1q, 1=dot1ad
+  u8 exact_match;
+  u8 default_sub;
+  u8 outer_vlan_id_any;
+  u8 inner_vlan_id_any;
+  u16 outer_vlan_id;
+  u16 inner_vlan_id;
+};
+
+define create_subif_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief show version
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define show_version {
-   u32 client_index;
-   u32 context;
+define show_version
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief show version response
@@ -2048,13 +2202,14 @@ define show_version {
     @param version  - version of the program
     @param build_directory - root of the workspace where the program was built
 */
-define show_version_reply {
-   u32 context;
-   i32 retval;
-   u8 program[32];
-   u8 version[32];
-   u8 build_date[32];
-   u8 build_directory[256];
+define show_version_reply
+{
+  u32 context;
+  i32 retval;
+  u8 program[32];
+  u8 version[32];
+  u8 build_date[32];
+  u8 build_directory[256];
 };
 
 /** \brief Vhost-user interface details structure (fix this)
@@ -2066,47 +2221,53 @@ define show_version_reply {
     @param sock_filename - socket filename
     @param num_regions - number of used memory regions
 */
-define sw_interface_vhost_user_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 interface_name[64];
-    u32 virtio_net_hdr_sz;
-    u64 features;
-    u8 is_server;
-    u8 sock_filename[256];
-    u32 num_regions;
-    i32 sock_errno;
+define sw_interface_vhost_user_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 interface_name[64];
+  u32 virtio_net_hdr_sz;
+  u64 features;
+  u8 is_server;
+  u8 sock_filename[256];
+  u32 num_regions;
+  i32 sock_errno;
 };
 
 /* works */
-define sw_interface_vhost_user_dump {
-    u32 client_index;
-    u32 context;
+define sw_interface_vhost_user_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
-define ip_address_details {
-    u32 client_index;
-    u32 context;
-    u8 ip[16];
-    u8 prefix_length;
+define ip_address_details
+{
+  u32 client_index;
+  u32 context;
+  u8 ip[16];
+  u8 prefix_length;
 };
 
-define ip_address_dump {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 is_ipv6;
+define ip_address_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_ipv6;
 };
 
-define ip_details {
-    u32 sw_if_index;
-    u32 context;
+define ip_details
+{
+  u32 sw_if_index;
+  u32 context;
 };
 
-define ip_dump {
-    u32 client_index;
-    u32 context;
-    u8 is_ipv6;
+define ip_dump
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
 };
 
 /** \brief l2 fib table entry structure
@@ -2117,61 +2278,67 @@ define ip_dump {
     @param filter_mac - the entry is a mac filter entry.
     @param bvi_mac - the mac address is a bridge virtual interface
 */
-define l2_fib_table_entry {
-    u32 context;
-    u32 bd_id;
-    u64 mac;
-    u32 sw_if_index;
-    u8 static_mac;
-    u8 filter_mac;
-    u8 bvi_mac;
+define l2_fib_table_entry
+{
+  u32 context;
+  u32 bd_id;
+  u64 mac;
+  u32 sw_if_index;
+  u8 static_mac;
+  u8 filter_mac;
+  u8 bvi_mac;
 };
 
 /** \brief Dump l2 fib (aka bridge domain) table
     @param client_index - opaque cookie to identify the sender
     @param bd_id - the l2 fib / bridge domain table identifier
 */
-define l2_fib_table_dump {
-    u32 client_index;
-    u32 context;
-    u32 bd_id;
-};
-
-define vxlan_gpe_add_del_tunnel {
-    u32 client_index;
-    u32 context;
-    u8 is_ipv6;
-    u8 local[16];
-    u8 remote[16];
-    u32 encap_vrf_id;
-    u32 decap_vrf_id;
-    u8 protocol;
-    u32 vni;
-    u8 is_add;
+define l2_fib_table_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
 };
 
-define vxlan_gpe_add_del_tunnel_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define vxlan_gpe_add_del_tunnel
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u8 local[16];
+  u8 remote[16];
+  u32 encap_vrf_id;
+  u32 decap_vrf_id;
+  u8 protocol;
+  u32 vni;
+  u8 is_add;
+};
+
+define vxlan_gpe_add_del_tunnel_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
-define vxlan_gpe_tunnel_dump {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define vxlan_gpe_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
-define vxlan_gpe_tunnel_details {
-    u32 context;
-    u32 sw_if_index;
-    u8 local[16];
-    u8 remote[16];
-    u32 vni;
-    u8 protocol;
-    u32 encap_vrf_id;
-    u32 decap_vrf_id;
-    u8 is_ipv6;
+define vxlan_gpe_tunnel_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u8 local[16];
+  u8 remote[16];
+  u32 vni;
+  u8 protocol;
+  u32 encap_vrf_id;
+  u32 decap_vrf_id;
+  u8 is_ipv6;
 };
 
 /** \brief add or delete locator_set
@@ -2182,22 +2349,24 @@ define vxlan_gpe_tunnel_details {
     @param locator_num - number of locators
     @param locators - Lisp locator data
 */
-define lisp_add_del_locator_set {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  locator_set_name[64];
-    u32 locator_num;
-    u8  locators[locator_num];
+define lisp_add_del_locator_set
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 locator_set_name[64];
+  u32 locator_num;
+  u8 locators[locator_num];
 };
 
 /** \brief Reply for locator_set add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_locator_set_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_locator_set_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete locator for locator_set
@@ -2209,23 +2378,25 @@ define lisp_add_del_locator_set_reply {
     @param priority - priority of the lisp locator
     @param weight - weight of the lisp locator
 */
-define lisp_add_del_locator {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  locator_set_name[64];
-    u32 sw_if_index;
-    u8  priority;
-    u8  weight;
+define lisp_add_del_locator
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 locator_set_name[64];
+  u32 sw_if_index;
+  u8 priority;
+  u8 weight;
 };
 
 /** \brief Reply for locator add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_locator_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_locator_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete lisp eid-table
@@ -2241,24 +2412,26 @@ define lisp_add_del_locator_reply {
     @param locator_set_name - name of locator_set to add/del eid-table
     @param vni - virtual network instance
 */
-define lisp_add_del_local_eid {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  eid_type;
-    u8  eid[16];
-    u8  prefix_len;
-    u8  locator_set_name[64];
-    u32 vni;
+define lisp_add_del_local_eid
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 eid_type;
+  u8 eid[16];
+  u8 prefix_len;
+  u8 locator_set_name[64];
+  u32 vni;
 };
 
 /** \brief Reply for local_eid add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_local_eid_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_local_eid_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete lisp gpe tunnel
@@ -2280,30 +2453,32 @@ define lisp_add_del_local_eid_reply {
     @param rmt_locs - array of remote locators
     @param action - negative action when 0 locators configured
 */
-define lisp_gpe_add_del_fwd_entry {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  eid_type;
-    u8  rmt_eid[16];
-    u8  lcl_eid[16];
-    u8  rmt_len;
-    u8  lcl_len;
-    u32 vni;
-    u32 dp_table;
-    u32 loc_num;
-    u8  lcl_locs[loc_num];
-    u8  rmt_locs[loc_num];
-    u8  action;
+define lisp_gpe_add_del_fwd_entry
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 eid_type;
+  u8 rmt_eid[16];
+  u8 lcl_eid[16];
+  u8 rmt_len;
+  u8 lcl_len;
+  u32 vni;
+  u32 dp_table;
+  u32 loc_num;
+  u8 lcl_locs[loc_num];
+  u8 rmt_locs[loc_num];
+  u8 action;
 };
 
 /** \brief Reply for gpe_fwd_entry add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_gpe_add_del_fwd_entry_reply {
-    u32 context;
-    i32 retval;
+define lisp_gpe_add_del_fwd_entry_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete map-resolver
@@ -2313,21 +2488,23 @@ define lisp_gpe_add_del_fwd_entry_reply {
     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
     @param ip_address - array of address bytes
 */
-define lisp_add_del_map_resolver {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  is_ipv6;
-    u8  ip_address[16];
+define lisp_add_del_map_resolver
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 ip_address[16];
 };
 
 /** \brief Reply for map_resolver add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_map_resolver_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_map_resolver_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief enable or disable lisp-gpe protocol
@@ -2335,19 +2512,21 @@ define lisp_add_del_map_resolver_reply {
     @param context - sender context, to match reply w/ request
     @param is_en - enable protocol if non-zero, else disable
 */
-define lisp_gpe_enable_disable {
-    u32 client_index;
-    u32 context;
-    u8  is_en;
+define lisp_gpe_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u8 is_en;
 };
 
 /** \brief Reply for gpe enable/disable
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_gpe_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define lisp_gpe_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief enable or disable LISP feature
@@ -2355,19 +2534,21 @@ define lisp_gpe_enable_disable_reply {
     @param context - sender context, to match reply w/ request
     @param is_en - enable protocol if non-zero, else disable
 */
-define lisp_enable_disable {
-    u32 client_index;
-    u32 context;
-    u8  is_en;
+define lisp_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u8 is_en;
 };
 
 /** \brief Reply for gpe enable/disable
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define lisp_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete gpe_iface
@@ -2375,22 +2556,24 @@ define lisp_enable_disable_reply {
     @param context - sender context, to match reply w/ request
     @param is_add - add address if non-zero, else delete
 */
-define lisp_gpe_add_del_iface {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8  is_l2;
-    u32 dp_table;
-    u32 vni;
+define lisp_gpe_add_del_iface
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 is_l2;
+  u32 dp_table;
+  u32 vni;
 };
 
 /** \brief Reply for gpe_iface add/del
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_gpe_add_del_iface_reply {
-    u32 context;
-    i32 retval;
+define lisp_gpe_add_del_iface_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief configure or disable LISP PITR node
@@ -2399,20 +2582,22 @@ define lisp_gpe_add_del_iface_reply {
     @param ls_name - locator set name
     @param is_add - add locator set if non-zero, else disable pitr
 */
-define lisp_pitr_set_locator_set {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 ls_name[64];
+define lisp_pitr_set_locator_set
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 ls_name[64];
 };
 
 /** \brief Reply for lisp_pitr_set_locator_set
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_pitr_set_locator_set_reply {
-    u32 context;
-    i32 retval;
+define lisp_pitr_set_locator_set_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete remote static mapping
@@ -2432,30 +2617,32 @@ define lisp_pitr_set_locator_set_reply {
     @param rloc_num - number of remote locators
     @param rlocs - remote locator data
 */
-define lisp_add_del_remote_mapping {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u8 is_src_dst;
-    u8 del_all;
-    u32 vni;
-    u8 action;
-    u8 eid_type;
-    u8 eid[16];
-    u8 eid_len;
-    u8 seid[16];
-    u8 seid_len;
-    u32 rloc_num;
-    u8 rlocs[rloc_num];
+define lisp_add_del_remote_mapping
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 is_src_dst;
+  u8 del_all;
+  u32 vni;
+  u8 action;
+  u8 eid_type;
+  u8 eid[16];
+  u8 eid_len;
+  u8 seid[16];
+  u8 seid_len;
+  u32 rloc_num;
+  u8 rlocs[rloc_num];
 };
 
 /** \brief Reply for lisp_add_del_remote_mapping
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_remote_mapping_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_remote_mapping_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete LISP adjacency adjacency
@@ -2470,25 +2657,27 @@ define lisp_add_del_remote_mapping_reply {
     @param deid - destination EID
     @param seid - source EID
 */
-define lisp_add_del_adjacency {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u32 vni;
-    u8 eid_type;
-    u8 deid[16];
-    u8 seid[16];
-    u8 deid_len;
-    u8 seid_len;
+define lisp_add_del_adjacency
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 vni;
+  u8 eid_type;
+  u8 deid[16];
+  u8 seid[16];
+  u8 deid_len;
+  u8 seid_len;
 };
 
 /** \brief Reply for lisp_add_del_adjacency
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_add_del_adjacency_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_adjacency_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief add or delete map request itr rlocs
@@ -2497,11 +2686,12 @@ define lisp_add_del_adjacency_reply {
     @param is_add - add address if non-zero, else delete
     @param locator_set_name - locator set name
 */
-define lisp_add_del_map_request_itr_rlocs {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u8 locator_set_name[64];
+define lisp_add_del_map_request_itr_rlocs
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 locator_set_name[64];
 };
 
 /** \brief Reply for lisp_add_del_map_request_itr_rlocs
@@ -2509,9 +2699,10 @@ define lisp_add_del_map_request_itr_rlocs {
     @param retval - return code
 */
 
-define lisp_add_del_map_request_itr_rlocs_reply {
-    u32 context;
-    i32 retval;
+define lisp_add_del_map_request_itr_rlocs_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief map/unmap vni/bd_index to vrf
@@ -2521,22 +2712,24 @@ define lisp_add_del_map_request_itr_rlocs_reply {
     @param dp_table - virtual network id/bridge domain index
     @param vrf - vrf
 */
-define lisp_eid_table_add_del_map {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u32 vni;
-    u32 dp_table;
-    u8 is_l2;
+define lisp_eid_table_add_del_map
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 vni;
+  u32 dp_table;
+  u8 is_l2;
 };
 
 /** \brief Reply for lisp_eid_table_add_del_map
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define lisp_eid_table_add_del_map_reply {
-    u32 context;
-    i32 retval;
+define lisp_eid_table_add_del_map_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Request for map lisp locator status
@@ -2549,11 +2742,12 @@ define lisp_eid_table_add_del_map_reply {
         1: local locator
         2: remote locator
  */
-define lisp_locator_dump {
-    u32 client_index;
-    u32 context;
-    u32 locator_set_index;
-    u8  filter;
+define lisp_locator_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 locator_set_index;
+  u8 filter;
 };
 
 /** \brief LISP locator_set status
@@ -2563,14 +2757,15 @@ define lisp_locator_dump {
     @param priority - locator priority
     @param weight - locator weight
   */
-define lisp_locator_details {
-    u32 context;
-    u8  local;
-    u32 sw_if_index;
-    u8  is_ipv6;
-    u8  ip_address[16];
-    u8  priority;
-    u8  weight;
+define lisp_locator_details
+{
+  u32 context;
+  u8 local;
+  u32 sw_if_index;
+  u8 is_ipv6;
+  u8 ip_address[16];
+  u8 priority;
+  u8 weight;
 };
 
 /** \brief LISP locator_set status
@@ -2579,11 +2774,12 @@ define lisp_locator_details {
     @param locator_count - number of locator this stats block includes
     @param locator - locator data
  */
-define lisp_locator_set_details {
-    u32 context;
-    u8  local;
-    u32 locator_set_index;
-    u8  locator_set_name[64];
+define lisp_locator_set_details
+{
+  u32 context;
+  u8 local;
+  u32 locator_set_index;
+  u8 locator_set_name[64];
 };
 
 /** \brief Request for locator_set summary status
@@ -2595,10 +2791,11 @@ define lisp_locator_set_details {
         1: local locator_set
         2: remote locator_set
  */
-define lisp_locator_set_dump {
-    u32 client_index;
-    u32 context;
-    u8  filter;
+define lisp_locator_set_dump
+{
+  u32 client_index;
+  u32 context;
+  u8 filter;
 };
 
 /** \brief Dump lisp eid-table
@@ -2617,16 +2814,17 @@ define lisp_locator_set_dump {
     @param authoritative - authoritative
 */
 
-define lisp_eid_table_details {
-    u32 context;
-    u32 locator_set_index;
-    u8  is_local;
-    u8  eid_type;
-    u32 vni;
-    u8  eid[16];
-    u8  eid_prefix_len;
-    u32 ttl;
-    u8  authoritative;
+define lisp_eid_table_details
+{
+  u32 context;
+  u32 locator_set_index;
+  u8 is_local;
+  u8 eid_type;
+  u32 vni;
+  u8 eid[16];
+  u8 eid_prefix_len;
+  u32 ttl;
+  u8 authoritative;
 };
 
 /** \brief Request for eid table summary status
@@ -2648,60 +2846,65 @@ define lisp_eid_table_details {
         1: local eid
         2: remote eid
  */
-define lisp_eid_table_dump {
-    u32 client_index;
-    u32 context;
-    u8  eid_set;
-    u8  prefix_length;
-    u32 vni;
-    u8  eid_type;
-    u8  eid[16];
-    u8  filter;
+define lisp_eid_table_dump
+{
+  u32 client_index;
+  u32 context;
+  u8 eid_set;
+  u8 prefix_length;
+  u32 vni;
+  u8 eid_type;
+  u8 eid[16];
+  u8 filter;
 };
 
 /** \brief Shows relationship between vni and vrf
     @param vrf - VRF index
     @param vni - vitual network instance
   */
-define lisp_eid_table_map_details {
-    u32 context;
-    u32 vni;
-    u32 vrf;
+define lisp_eid_table_map_details
+{
+  u32 context;
+  u32 vni;
+  u32 vrf;
 };
 
 /** \brief Request for lisp_eid_table_map_details
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
  */
-define lisp_eid_table_map_dump {
-    u32 client_index;
-    u32 context;
-};
-
-define lisp_gpe_tunnel_details {
-    u32 context;
-    u32 tunnels;
-    u8  is_ipv6;
-    u8  source_ip[16];
-    u8  destination_ip[16];
-    u32 encap_fib_id;
-    u32 decap_fib_id;
-    u32 dcap_next;
-    u8  lisp_ver;
-    u8  next_protocol;
-    u8  flags;
-    u8  ver_res;
-    u8  res;
-    u32 iid;
+define lisp_eid_table_map_dump
+{
+  u32 client_index;
+  u32 context;
+};
+
+define lisp_gpe_tunnel_details
+{
+  u32 context;
+  u32 tunnels;
+  u8 is_ipv6;
+  u8 source_ip[16];
+  u8 destination_ip[16];
+  u32 encap_fib_id;
+  u32 decap_fib_id;
+  u32 dcap_next;
+  u8 lisp_ver;
+  u8 next_protocol;
+  u8 flags;
+  u8 ver_res;
+  u8 res;
+  u32 iid;
 };
 
 /** \brief Request for gpe tunnel summary status
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
  */
-define lisp_gpe_tunnel_dump {
-    u32 client_index;
-    u32 context;
+define lisp_gpe_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief LISP map resolver status
@@ -2709,28 +2912,31 @@ define lisp_gpe_tunnel_dump {
     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
     @param ip_address - array of address bytes
  */
-define lisp_map_resolver_details {
-    u32 context;
-    u8  is_ipv6;
-    u8  ip_address[16];
+define lisp_map_resolver_details
+{
+  u32 context;
+  u8 is_ipv6;
+  u8 ip_address[16];
 };
 
 /** \brief Request for map resolver summary status
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
  */
-define lisp_map_resolver_dump {
-    u32 client_index;
-    u32 context;
+define lisp_map_resolver_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Request for lisp-gpe protocol status
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define show_lisp_status{
-    u32 client_index;
-    u32 context;
+define show_lisp_status
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Status of lisp, enable or disable
@@ -2738,37 +2944,41 @@ define show_lisp_status{
     @param feature_status - lisp enable if non-zero, else disable
     @param gpe_status - lisp enable if non-zero, else disable
 */
-define show_lisp_status_reply{
-    u32 context;
-    i32 retval;
-    u8 feature_status;
-    u8 gpe_status;
+define show_lisp_status_reply
+{
+  u32 context;
+  i32 retval;
+  u8 feature_status;
+  u8 gpe_status;
 };
 
 /** \brief Get LISP map request itr rlocs status
     @param context - sender context, to match reply w/ request
     @param locator_set_name - name of the locator_set
  */
-define lisp_get_map_request_itr_rlocs {
-    u32 client_index;
-    u32 context;
+define lisp_get_map_request_itr_rlocs
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Request for map request itr rlocs summary status
  */
-define lisp_get_map_request_itr_rlocs_reply {
-    u32 context;
-    i32 retval;
-    u8 locator_set_name[64];
+define lisp_get_map_request_itr_rlocs_reply
+{
+  u32 context;
+  i32 retval;
+  u8 locator_set_name[64];
 };
 
 /** \brief Request for lisp pitr status
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define show_lisp_pitr {
-    u32 client_index;
-    u32 context;
+define show_lisp_pitr
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Status of lisp pitr, enable or disable
@@ -2776,24 +2986,27 @@ define show_lisp_pitr {
     @param status - lisp pitr enable if non-zero, else disable
     @param locator_set_name -  name of the locator_set
 */
-define show_lisp_pitr_reply {
-    u32 context;
-    i32 retval;
-    u8  status;
-    u8  locator_set_name[64];
+define show_lisp_pitr_reply
+{
+  u32 context;
+  i32 retval;
+  u8 status;
+  u8 locator_set_name[64];
 };
 
 /* Gross kludge, DGMS */
-define interface_name_renumber {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 new_show_dev_instance;
+define interface_name_renumber
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 new_show_dev_instance;
 };
 
-define interface_name_renumber_reply {
-    u32 context;
-    i32 retval;
+define interface_name_renumber_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Register for ip4 arp resolution events
@@ -2803,21 +3016,23 @@ define interface_name_renumber_reply {
     @param pid - sender's pid
     @param address - the exact ip4 address of interest
 */
-define want_ip4_arp_events {
-    u32 client_index;
-    u32 context;
-    u8 enable_disable;
-    u32 pid;
-    u32 address;
+define want_ip4_arp_events
+{
+  u32 client_index;
+  u32 context;
+  u8 enable_disable;
+  u32 pid;
+  u32 address;
 };
 
 /** \brief Reply for interface events registration
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define want_ip4_arp_events_reply {
-    u32 context;
-    i32 retval;
+define want_ip4_arp_events_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Tell client about an ip4 arp resolution event
@@ -2828,15 +3043,16 @@ define want_ip4_arp_events_reply {
     @param sw_if_index - interface which received ARP packet
     @param new_mac - the new mac address 
 */
-define ip4_arp_event {
-    u32 client_index;
-    u32 context;
-    u32 address;
-    u32 pid;
-    u32 sw_if_index;
-    u8 new_mac[6];
+define ip4_arp_event
+{
+  u32 client_index;
+  u32 context;
+  u32 address;
+  u32 pid;
+  u32 sw_if_index;
+  u8 new_mac[6];
 };
-    
+
 /** \brief L2 bridge domain add or delete request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -2848,25 +3064,27 @@ define ip4_arp_event {
     @param arp_term - enable/disable arp termination in the bd
     @param is_add - add or delete flag
 */
-define bridge_domain_add_del {
-    u32 client_index;
-    u32 context;
-    u32 bd_id;
-    u8 flood;
-    u8 uu_flood;
-    u8 forward;
-    u8 learn;
-    u8 arp_term;
-    u8 is_add;
+define bridge_domain_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
+  u8 flood;
+  u8 uu_flood;
+  u8 forward;
+  u8 learn;
+  u8 arp_term;
+  u8 is_add;
 };
 
 /** \brief L2 bridge domain add or delete response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the set bridge flags request
 */
-define bridge_domain_add_del_reply {
-    u32 context;
-    i32 retval;
+define bridge_domain_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief L2 bridge domain request operational state details
@@ -2874,10 +3092,11 @@ define bridge_domain_add_del_reply {
     @param context - sender context, to match reply w/ request
     @param bd_id - the bridge domain id desired or ~0 to request all bds
 */
-define bridge_domain_dump {
-    u32 client_index;
-    u32 context;
-    u32 bd_id;
+define bridge_domain_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
 };
 
 /** \brief L2 bridge domain operational state response
@@ -2889,16 +3108,17 @@ define bridge_domain_dump {
     @param arp_term - arp termination state on all interfaces in the bd
     @param n_sw_ifs - number of sw_if_index's in the domain
 */
-define bridge_domain_details {
-    u32 context;
-    u32 bd_id;
-    u8 flood;
-    u8 uu_flood;
-    u8 forward;
-    u8 learn;
-    u8 arp_term;
-    u32 bvi_sw_if_index;
-    u32 n_sw_ifs;
+define bridge_domain_details
+{
+  u32 context;
+  u32 bd_id;
+  u8 flood;
+  u8 uu_flood;
+  u8 forward;
+  u8 learn;
+  u8 arp_term;
+  u32 bvi_sw_if_index;
+  u32 n_sw_ifs;
 };
 
 /** \brief L2 bridge domain sw interface operational state response
@@ -2906,11 +3126,12 @@ define bridge_domain_details {
     @param sw_if_index - sw_if_index in the domain
     @param shg - split horizon group for the interface
 */
-define bridge_domain_sw_if_details {
-    u32 context;
-    u32 bd_id;
-    u32 sw_if_index;
-    u8 shg;
+define bridge_domain_sw_if_details
+{
+  u32 context;
+  u32 bd_id;
+  u32 sw_if_index;
+  u8 shg;
 };
 
 /** \brief DHCP Client config add / del request
@@ -2923,23 +3144,25 @@ define bridge_domain_sw_if_details {
            via dhcp_compl_event API message if non-zero
     @param pid - sender's pid
 */
-define dhcp_client_config {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 hostname[64];
-    u8 is_add;
-    u8 want_dhcp_event;
-    u32 pid;
+define dhcp_client_config
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 hostname[64];
+  u8 is_add;
+  u8 want_dhcp_event;
+  u32 pid;
 };
 
 /** \brief DHCP Client config response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define dhcp_client_config_reply {
-    u32 context;
-    i32 retval;
+define dhcp_client_config_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set/unset input ACL interface
@@ -2953,23 +3176,25 @@ define dhcp_client_config_reply {
     Note: User is recommeneded to use just one valid table_index per call.
           (ip4_table_index, ip6_table_index, or l2_table_index)
 */
-define input_acl_set_interface {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 ip4_table_index;
-    u32 ip6_table_index;
-    u32 l2_table_index;
-    u8  is_add;
+define input_acl_set_interface
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 ip4_table_index;
+  u32 ip6_table_index;
+  u32 l2_table_index;
+  u8 is_add;
 };
 
 /** \brief Set/unset input ACL interface response
     @param context - sender context, to match reply w/ request
     @param retval - return code for the request
 */
-define input_acl_set_interface_reply {
-    u32 context;
-    i32 retval;
+define input_acl_set_interface_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPsec: Add/delete Security Policy Database
@@ -2979,11 +3204,12 @@ define input_acl_set_interface_reply {
     @param spd_id - SPD instance id (control plane allocated)
 */
 
-define ipsec_spd_add_del {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
-    u32 spd_id;
+define ipsec_spd_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 spd_id;
 };
 
 /** \brief Reply for IPsec: Add/delete Security Policy Database entry
@@ -2991,9 +3217,10 @@ define ipsec_spd_add_del {
     @param retval - return code
 */
 
-define ipsec_spd_add_del_reply {
-    u32 context;
-    i32 retval;
+define ipsec_spd_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPsec: Add/delete SPD from interface
@@ -3006,13 +3233,14 @@ define ipsec_spd_add_del_reply {
 */
 
 
-define ipsec_interface_add_del_spd {
-    u32 client_index;
-    u32 context;
+define ipsec_interface_add_del_spd
+{
+  u32 client_index;
+  u32 context;
 
-    u8 is_add;
-    u32 sw_if_index;
-    u32 spd_id;
+  u8 is_add;
+  u32 sw_if_index;
+  u32 spd_id;
 };
 
 /** \brief Reply for IPsec: Add/delete SPD from interface
@@ -3020,9 +3248,10 @@ define ipsec_interface_add_del_spd {
     @param retval - return code
 */
 
-define ipsec_interface_add_del_spd_reply {
-    u32 context;
-    i32 retval;
+define ipsec_interface_add_del_spd_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPsec: Add/delete Security Policy Database entry
@@ -3050,33 +3279,34 @@ define ipsec_interface_add_del_spd_reply {
 
 */
 
-define ipsec_spd_add_del_entry {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
+define ipsec_spd_add_del_entry
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
 
-    u32 spd_id;
-    i32 priority;
-    u8 is_outbound;
+  u32 spd_id;
+  i32 priority;
+  u8 is_outbound;
 
-    // Selector
-    u8 is_ipv6;
-    u8 is_ip_any;
-    u8 remote_address_start[16];
-    u8 remote_address_stop[16];
-    u8 local_address_start[16];
-    u8 local_address_stop[16];
+  // Selector
+  u8 is_ipv6;
+  u8 is_ip_any;
+  u8 remote_address_start[16];
+  u8 remote_address_stop[16];
+  u8 local_address_start[16];
+  u8 local_address_stop[16];
 
-    u8 protocol;
+  u8 protocol;
 
-    u16 remote_port_start;
-    u16 remote_port_stop;
-    u16 local_port_start;
-    u16 local_port_stop;
+  u16 remote_port_start;
+  u16 remote_port_stop;
+  u16 local_port_start;
+  u16 local_port_stop;
 
-    // Policy
-    u8 policy;
-    u32 sa_id;
+  // Policy
+  u8 policy;
+  u32 sa_id;
 };
 
 /** \brief Reply for IPsec: Add/delete Security Policy Database entry
@@ -3084,9 +3314,10 @@ define ipsec_spd_add_del_entry {
     @param retval - return code
 */
 
-define ipsec_spd_add_del_entry_reply {
-    u32 context;
-    i32 retval;
+define ipsec_spd_add_del_entry_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPsec: Add/delete Security Association Database entry
@@ -3120,31 +3351,32 @@ define ipsec_spd_add_del_entry_reply {
      IPsec tunnel address copy mode (to support GDOI)
  */
 
-define ipsec_sad_add_del_entry {
-    u32 client_index;
-    u32 context;
-    u8 is_add;
+define ipsec_sad_add_del_entry
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
 
-    u32 sad_id;
+  u32 sad_id;
 
-    u32 spi;
+  u32 spi;
 
-    u8 protocol;
+  u8 protocol;
 
-    u8 crypto_algorithm;
-    u8 crypto_key_length;
-    u8 crypto_key[128];
+  u8 crypto_algorithm;
+  u8 crypto_key_length;
+  u8 crypto_key[128];
 
-    u8 integrity_algorithm;
-    u8 integrity_key_length;
-    u8 integrity_key[128];
+  u8 integrity_algorithm;
+  u8 integrity_key_length;
+  u8 integrity_key[128];
 
-    u8 use_extended_sequence_number;
+  u8 use_extended_sequence_number;
 
-    u8 is_tunnel;
-    u8 is_tunnel_ipv6;
-    u8 tunnel_src_address[16];
-    u8 tunnel_dst_address[16];
+  u8 is_tunnel;
+  u8 is_tunnel_ipv6;
+  u8 tunnel_src_address[16];
+  u8 tunnel_dst_address[16];
 };
 
 /** \brief Reply for IPsec: Add/delete Security Association Database entry
@@ -3152,9 +3384,10 @@ define ipsec_sad_add_del_entry {
     @param retval - return code
 */
 
-define ipsec_sad_add_del_entry_reply {
-    u32 context;
-    i32 retval;
+define ipsec_sad_add_del_entry_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPsec: Update Security Association keys
@@ -3170,17 +3403,18 @@ define ipsec_sad_add_del_entry_reply {
     @param integrity_key - integrity keying material
 */
 
-define ipsec_sa_set_key {
-    u32 client_index;
-    u32 context;
+define ipsec_sa_set_key
+{
+  u32 client_index;
+  u32 context;
 
-    u32 sa_id;
+  u32 sa_id;
 
-    u8 crypto_key_length;
-    u8 crypto_key[128];
+  u8 crypto_key_length;
+  u8 crypto_key[128];
 
-    u8 integrity_key_length;
-    u8 integrity_key[128];
+  u8 integrity_key_length;
+  u8 integrity_key[128];
 };
 
 /** \brief Reply for IPsec: Update Security Association keys
@@ -3188,9 +3422,10 @@ define ipsec_sa_set_key {
     @param retval - return code
 */
 
-define ipsec_sa_set_key_reply {
-    u32 context;
-    i32 retval;
+define ipsec_sa_set_key_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IKEv2: Add/delete profile
@@ -3200,21 +3435,23 @@ define ipsec_sa_set_key_reply {
     @param name - IKEv2 profile name
     @param is_add - Add IKEv2 profile if non-zero, else delete
 */
-define ikev2_profile_add_del {
-    u32 client_index;
-    u32 context;
+define ikev2_profile_add_del
+{
+  u32 client_index;
+  u32 context;
 
-    u8 name[64];
-    u8 is_add;
+  u8 name[64];
+  u8 is_add;
 };
 
 /** \brief Reply for IKEv2: Add/delete profile
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ikev2_profile_add_del_reply {
-    u32 context;
-    i32 retval;
+define ikev2_profile_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IKEv2: Set IKEv2 profile authentication method
@@ -3227,24 +3464,26 @@ define ikev2_profile_add_del_reply {
     @param data_len - Authentication data length
     @param data - Authentication data (for rsa-sig cert file path)
 */
-define ikev2_profile_set_auth {
-    u32 client_index;
-    u32 context;
+define ikev2_profile_set_auth
+{
+  u32 client_index;
+  u32 context;
 
-    u8 name[64];
-    u8 auth_method;
-    u8 is_hex;
-    u32 data_len;
-    u8 data[0];
+  u8 name[64];
+  u8 auth_method;
+  u8 is_hex;
+  u32 data_len;
+  u8 data[0];
 };
 
 /** \brief Reply for IKEv2: Set IKEv2 profile authentication method
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ikev2_profile_set_auth_reply {
-    u32 context;
-    i32 retval;
+define ikev2_profile_set_auth_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IKEv2: Set IKEv2 profile local/remote identification
@@ -3257,24 +3496,26 @@ define ikev2_profile_set_auth_reply {
     @param data_len - Identification data length
     @param data - Identification data
 */
-define ikev2_profile_set_id {
-    u32 client_index;
-    u32 context;
+define ikev2_profile_set_id
+{
+  u32 client_index;
+  u32 context;
 
-    u8 name[64];
-    u8 is_local;
-    u8 id_type;
-    u32 data_len;
-    u8 data[0];
+  u8 name[64];
+  u8 is_local;
+  u8 id_type;
+  u32 data_len;
+  u8 data[0];
 };
 
 /** \brief Reply for IKEv2:
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ikev2_profile_set_id_reply {
-    u32 context;
-    i32 retval;
+define ikev2_profile_set_id_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IKEv2: Set IKEv2 profile traffic selector parameters
@@ -3289,26 +3530,28 @@ define ikev2_profile_set_id_reply {
     @param start_addr - The smallest address included in traffic selector
     @param end_addr - The largest address included in traffic selector
 */
-define ikev2_profile_set_ts {
-    u32 client_index;
-    u32 context;
+define ikev2_profile_set_ts
+{
+  u32 client_index;
+  u32 context;
 
-    u8 name[64];
-    u8 is_local;
-    u8 proto;
-    u16 start_port;
-    u16 end_port;
-    u32 start_addr;
-    u32 end_addr;
+  u8 name[64];
+  u8 is_local;
+  u8 proto;
+  u16 start_port;
+  u16 end_port;
+  u32 start_addr;
+  u32 end_addr;
 };
 
 /** \brief Reply for IKEv2: Set IKEv2 profile traffic selector parameters
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ikev2_profile_set_ts_reply {
-    u32 context;
-    i32 retval;
+define ikev2_profile_set_ts_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IKEv2: Set IKEv2 local RSA private key
@@ -3317,20 +3560,22 @@ define ikev2_profile_set_ts_reply {
 
     @param key_file - Key file absolute path
 */
-define ikev2_set_local_key {
-    u32 client_index;
-    u32 context;
+define ikev2_set_local_key
+{
+  u32 client_index;
+  u32 context;
 
-    u8 key_file[256];
+  u8 key_file[256];
 };
 
 /** \brief Reply for IKEv2: Set IKEv2 local key
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ikev2_set_local_key_reply {
-    u32 context;
-    i32 retval;
+define ikev2_set_local_key_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Tell client about a DHCP completion event
@@ -3341,14 +3586,15 @@ define ikev2_set_local_key_reply {
     @param router_address - Router IP address
     @param host_mac - Host MAC address
 */
-define dhcp_compl_event {
-    u32 client_index;
-    u32 pid;
-    u8 hostname[64];
-    u8 is_ipv6;
-    u8 host_address[16];
-    u8 router_address[16];
-    u8 host_mac[6];
+define dhcp_compl_event
+{
+  u32 client_index;
+  u32 pid;
+  u8 hostname[64];
+  u8 is_ipv6;
+  u8 host_address[16];
+  u8 router_address[16];
+  u8 host_mac[6];
 };
 
 /** \brief Add MAP domains
@@ -3365,7 +3611,8 @@ define dhcp_compl_event {
     @param is_translation - MAP-E / MAP-T
     @param mtu - MTU
 */
-define map_add_domain {
+define map_add_domain
+{
   u32 client_index;
   u32 context;
   u8 ip6_prefix[16];
@@ -3386,7 +3633,8 @@ define map_add_domain {
     @param index - MAP domain index
     @param retval - return code
 */
-define map_add_domain_reply {
+define map_add_domain_reply
+{
   u32 context;
   u32 index;
   i32 retval;
@@ -3397,7 +3645,8 @@ define map_add_domain_reply {
     @param context - sender context, to match reply w/ request
     @param index - MAP Domain index
 */
-define map_del_domain {
+define map_del_domain
+{
   u32 client_index;
   u32 context;
   u32 index;
@@ -3407,7 +3656,8 @@ define map_del_domain {
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define map_del_domain_reply {
+define map_del_domain_reply
+{
   u32 context;
   i32 retval;
 };
@@ -3420,7 +3670,8 @@ define map_del_domain_reply {
     @param ip6_dst - MAP CE IPv6 address
     @param psid - Rule PSID
 */
-define map_add_del_rule {
+define map_add_del_rule
+{
   u32 client_index;
   u32 context;
   u32 index;
@@ -3433,7 +3684,8 @@ define map_add_del_rule {
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define map_add_del_rule_reply {
+define map_add_del_rule_reply
+{
   u32 context;
   i32 retval;
 };
@@ -3441,12 +3693,14 @@ define map_add_del_rule_reply {
 /** \brief Get list of map domains
     @param client_index - opaque cookie to identify the sender
 */
-define map_domain_dump {
+define map_domain_dump
+{
   u32 client_index;
   u32 context;
 };
 
-define map_domain_details {
+define map_domain_details
+{
   u32 context;
   u32 domain_index;
   u8 ip6_prefix[16];
@@ -3463,13 +3717,15 @@ define map_domain_details {
   u8 is_translation;
 };
 
-define map_rule_dump {
+define map_rule_dump
+{
   u32 client_index;
   u32 context;
   u32 domain_index;
 };
 
-define map_rule_details {
+define map_rule_details
+{
   u32 context;
   u8 ip6_dst[16];
   u16 psid;
@@ -3479,9 +3735,10 @@ define map_rule_details {
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define map_summary_stats {
-    u32 client_index;
-    u32 context;
+define map_summary_stats
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Reply for map_summary_stats request
@@ -3492,14 +3749,15 @@ define map_summary_stats {
     @param total_ip4_fragments -
     @param total_security_check - 
 */
-define map_summary_stats_reply {
-    u32 context;
-    i32 retval;
-    u64 total_bindings;
-    u64 total_pkts[2];
-    u64 total_bytes[2];
-    u64 total_ip4_fragments;
-    u64 total_security_check[2];
+define map_summary_stats_reply
+{
+  u32 context;
+  i32 retval;
+  u64 total_bindings;
+  u64 total_pkts[2];
+  u64 total_bytes[2];
+  u64 total_ip4_fragments;
+  u64 total_security_check[2];
 };
 
 /** \brief cop: enable/disable junk filtration features on an interface
@@ -3509,11 +3767,12 @@ define map_summary_stats_reply {
     @param enable_disable - 1 => enable, 0 => disable
 */
 
-define cop_interface_enable_disable {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u8 enable_disable;
+define cop_interface_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 enable_disable;
 };
 
 /** \brief cop: interface enable/disable junk filtration reply
@@ -3521,9 +3780,10 @@ define cop_interface_enable_disable {
     @param retval - return code
 */
 
-define cop_interface_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define cop_interface_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief cop: enable/disable whitelist filtration features on an interface
@@ -3538,14 +3798,15 @@ define cop_interface_enable_disable_reply {
     @param default_cop -  1 => enable non-ip4, non-ip6 filtration 0=> disable it
 */
 
-define cop_whitelist_enable_disable {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 fib_id;
-    u8 ip4;
-    u8 ip6;
-    u8 default_cop;
+define cop_whitelist_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 fib_id;
+  u8 ip4;
+  u8 ip6;
+  u8 default_cop;
 };
 
 /** \brief cop: interface enable/disable junk filtration reply
@@ -3553,9 +3814,10 @@ define cop_whitelist_enable_disable {
     @param retval - return code
 */
 
-define cop_whitelist_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define cop_whitelist_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief get_node_graph - get a copy of the vpp node graph
@@ -3565,9 +3827,10 @@ define cop_whitelist_enable_disable_reply {
     @param context - sender context, to match reply w/ request
 */
 
-define get_node_graph {
-    u32 client_index;
-    u32 context;
+define get_node_graph
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief get_node_graph_reply
@@ -3578,10 +3841,11 @@ define get_node_graph {
     heaps and free the result.
 */
 
-define get_node_graph_reply {
-    u32 context;
-    i32 retval;
-    u64 reply_in_shmem;
+define get_node_graph_reply
+{
+  u32 context;
+  i32 retval;
+  u64 reply_in_shmem;
 };
 
 /** \brief Clear interface statistics
@@ -3589,19 +3853,21 @@ define get_node_graph_reply {
     @param context - sender context, to match reply w/ request
     @param sw_if_index - index of the interface to clear statistics
 */
-define sw_interface_clear_stats {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define sw_interface_clear_stats
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
 /** \brief Reply to sw_interface_clear_stats 
     @param context - sender context which was passed in the request
     @param retval - return code of the set flags request
 */
-define sw_interface_clear_stats_reply {
-    u32 context;
-    i32 retval;
+define sw_interface_clear_stats_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IOAM Trace : Set TRACE profile
@@ -3614,16 +3880,17 @@ define sw_interface_clear_stats_reply {
     @param pow_enable - Proof of Work enabled or not flag
     @param node_id - Id of this node
 */
-define trace_profile_add {
+define trace_profile_add
+{
   u32 client_index;
   u32 context;
   u16 id;
-  u8  trace_type;
-  u8  trace_num_elt;
-  u8  trace_ppc;
-  u8  trace_tsp;
+  u8 trace_type;
+  u8 trace_num_elt;
+  u8 trace_ppc;
+  u8 trace_tsp;
   u32 trace_app_data;
-  u8  pow_enable;
+  u8 pow_enable;
   u32 node_id;
 };
 
@@ -3631,9 +3898,10 @@ define trace_profile_add {
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define trace_profile_add_reply {
-    u32 context;
-    i32 retval;
+define trace_profile_add_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IOAM Trace enable trace profile for a flow
@@ -3644,7 +3912,8 @@ define trace_profile_add_reply {
     @param trace_op - Trace operation (add/mod/del)
     @param enable - apply/remove the trace profile for the flow
 */
-define trace_profile_apply {
+define trace_profile_apply
+{
   u32 client_index;
   u32 context;
   u16 id;
@@ -3659,7 +3928,8 @@ define trace_profile_apply {
     @param context - sender context, to match reply w/ request   
     @param retval - return value for request
 */
-define trace_profile_apply_reply {
+define trace_profile_apply_reply
+{
   u32 context;
   i32 retval;
 };
@@ -3669,7 +3939,8 @@ define trace_profile_apply_reply {
     @param context - sender context, to match reply w/ request
     @param index - MAP Domain index
 */
-define trace_profile_del {
+define trace_profile_del
+{
   u32 client_index;
   u32 context;
   u16 id;
@@ -3679,9 +3950,10 @@ define trace_profile_del {
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define trace_profile_del_reply {
-    u32 context;
-    i32 retval;
+define trace_profile_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Create host-interface
@@ -3691,23 +3963,25 @@ define trace_profile_del_reply {
     @param hw_addr - interface MAC
     @param use_random_hw_addr - use random generated MAC
 */
-define af_packet_create {
-    u32 client_index;
-    u32 context;
+define af_packet_create
+{
+  u32 client_index;
+  u32 context;
 
-    u8 host_if_name[64];
-    u8 hw_addr[6];
-    u8 use_random_hw_addr;
+  u8 host_if_name[64];
+  u8 hw_addr[6];
+  u8 use_random_hw_addr;
 };
 
 /** \brief Create host-interface response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define af_packet_create_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define af_packet_create_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief Delete host-interface
@@ -3715,20 +3989,22 @@ define af_packet_create_reply {
     @param context - sender context, to match reply w/ request
     @param host_if_name - interface name
 */
-define af_packet_delete {
-    u32 client_index;
-    u32 context;
+define af_packet_delete
+{
+  u32 client_index;
+  u32 context;
 
-    u8 host_if_name[64];
+  u8 host_if_name[64];
 };
 
 /** \brief Delete host-interface response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define af_packet_delete_reply {
-    u32 context;
-    i32 retval;
+define af_packet_delete_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Add/del policer
@@ -3751,26 +4027,27 @@ define af_packet_delete_reply {
     @param violate_action_type - violate action type
     @param violate_dscp - DSCP for violate mar-and-transmit action
 */
-define policer_add_del {
-    u32 client_index;
-    u32 context;
-
-    u8 is_add;
-    u8 name[64];
-    u32 cir;
-    u32 eir;
-    u64 cb;
-    u64 eb;
-    u8 rate_type;
-    u8 round_type;
-    u8 type;
-    u8 color_aware;
-    u8 conform_action_type;
-    u8 conform_dscp;
-    u8 exceed_action_type;
-    u8 exceed_dscp;
-    u8 violate_action_type;
-    u8 violate_dscp;
+define policer_add_del
+{
+  u32 client_index;
+  u32 context;
+
+  u8 is_add;
+  u8 name[64];
+  u32 cir;
+  u32 eir;
+  u64 cb;
+  u64 eb;
+  u8 rate_type;
+  u8 round_type;
+  u8 type;
+  u8 color_aware;
+  u8 conform_action_type;
+  u8 conform_dscp;
+  u8 exceed_action_type;
+  u8 exceed_dscp;
+  u8 violate_action_type;
+  u8 violate_dscp;
 };
 
 /** \brief Add/del policer response
@@ -3778,10 +4055,11 @@ define policer_add_del {
     @param retval - return value for request
     @param policer_index - for add, returned index of the new policer
 */
-define policer_add_del_reply {
-    u32 context;
-    i32 retval;
-    u32 policer_index;
+define policer_add_del_reply
+{
+  u32 context;
+  i32 retval;
+  u32 policer_index;
 };
 
 /** \brief Get list of policers
@@ -3790,12 +4068,13 @@ define policer_add_del_reply {
     @param match_name_valid - if 0 request all policers otherwise use match_name
     @param match_name - policer name
 */
-define policer_dump {
-    u32 client_index;
-    u32 context;
+define policer_dump
+{
+  u32 client_index;
+  u32 context;
 
-    u8 match_name_valid;
-    u8 match_name[64];
+  u8 match_name_valid;
+  u8 match_name[64];
 };
 
 /** \brief Policer operational state response.
@@ -3825,33 +4104,34 @@ define policer_dump {
     @param extended_bucket - extended bucket
     @param last_update_time - last update time
 */
-define policer_details {
-    u32 context;
-
-    u8 name[64];
-    u32 cir;
-    u32 eir;
-    u64 cb;
-    u64 eb;
-    u8 rate_type;
-    u8 round_type;
-    u8 type;
-    u8 conform_action_type;
-    u8 conform_dscp;
-    u8 exceed_action_type;
-    u8 exceed_dscp;
-    u8 violate_action_type;
-    u8 violate_dscp;
-    u8 single_rate;
-    u8 color_aware;
-    u32 scale;
-    u32 cir_tokens_per_period;
-    u32 pir_tokens_per_period;
-    u32 current_limit;
-    u32 current_bucket;
-    u32 extended_limit;
-    u32 extended_bucket;
-    u64 last_update_time;
+define policer_details
+{
+  u32 context;
+
+  u8 name[64];
+  u32 cir;
+  u32 eir;
+  u64 cb;
+  u64 eb;
+  u8 rate_type;
+  u8 round_type;
+  u8 type;
+  u8 conform_action_type;
+  u8 conform_dscp;
+  u8 exceed_action_type;
+  u8 exceed_dscp;
+  u8 violate_action_type;
+  u8 violate_dscp;
+  u8 single_rate;
+  u8 color_aware;
+  u32 scale;
+  u32 cir_tokens_per_period;
+  u32 pir_tokens_per_period;
+  u32 current_limit;
+  u32 current_bucket;
+  u32 extended_limit;
+  u32 extended_bucket;
+  u64 last_update_time;
 };
 
 /** \brief Set/unset policer classify interface
@@ -3865,23 +4145,25 @@ define policer_details {
     Note: User is recommeneded to use just one valid table_index per call.
           (ip4_table_index, ip6_table_index, or l2_table_index)
 */
-define policer_classify_set_interface {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
-    u32 ip4_table_index;
-    u32 ip6_table_index;
-    u32 l2_table_index;
-    u8  is_add;
+define policer_classify_set_interface
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 ip4_table_index;
+  u32 ip6_table_index;
+  u32 l2_table_index;
+  u8 is_add;
 };
 
 /** \brief Set/unset policer classify interface response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define policer_classify_set_interface_reply {
-    u32 context;
-    i32 retval;
+define policer_classify_set_interface_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Get list of policer classify interfaces and tables
@@ -3889,10 +4171,11 @@ define policer_classify_set_interface_reply {
     @param context - sender context, to match reply w/ request
     @param type - classify table type
 */
-define policer_classify_dump {
-    u32 client_index;
-    u32 context;
-    u8 type;
+define policer_classify_dump
+{
+  u32 client_index;
+  u32 context;
+  u8 type;
 };
 
 /** \brief Policer iclassify operational state response.
@@ -3900,10 +4183,11 @@ define policer_classify_dump {
     @param sw_if_index - software interface index
     @param table_index - classify table index
 */
-define policer_classify_details {
-    u32 context;
-    u32 sw_if_index;
-    u32 table_index;
+define policer_classify_details
+{
+  u32 context;
+  u32 sw_if_index;
+  u32 table_index;
 };
 
 /** \brief Create netmap
@@ -3915,24 +4199,26 @@ define policer_classify_details {
     @param is_pipe - is pipe
     @param is_master - 0=slave, 1=master
 */
-define netmap_create {
-    u32 client_index;
-    u32 context;
+define netmap_create
+{
+  u32 client_index;
+  u32 context;
 
-    u8 netmap_if_name[64];
-    u8 hw_addr[6];
-    u8 use_random_hw_addr;
-    u8 is_pipe;
-    u8 is_master;
+  u8 netmap_if_name[64];
+  u8 hw_addr[6];
+  u8 use_random_hw_addr;
+  u8 is_pipe;
+  u8 is_master;
 };
 
 /** \brief Create netmap response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define netmap_create_reply {
-    u32 context;
-    i32 retval;
+define netmap_create_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Delete netmap
@@ -3940,30 +4226,33 @@ define netmap_create_reply {
     @param context - sender context, to match reply w/ request
     @param netmap_if_name - interface name
 */
-define netmap_delete {
-    u32 client_index;
-    u32 context;
+define netmap_delete
+{
+  u32 client_index;
+  u32 context;
 
-    u8 netmap_if_name[64];
+  u8 netmap_if_name[64];
 };
 
 /** \brief Delete netmap response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define netmap_delete_reply {
-    u32 context;
-    i32 retval;
+define netmap_delete_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Dump mpls gre tunnel table
     @param client_index - opaque cookie to identify the sender
     @param tunnel_index - gre tunnel identifier or -1 in case of all tunnels
 */
-define mpls_gre_tunnel_dump {
-    u32 client_index;
-    u32 context;
-    i32 tunnel_index;
+define mpls_gre_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
+  i32 tunnel_index;
 };
 
 /** \brief mpls gre tunnel operational state response
@@ -3979,31 +4268,33 @@ define mpls_gre_tunnel_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-define mpls_gre_tunnel_details {
-    u32 context;
-    u32 tunnel_index;
+define mpls_gre_tunnel_details
+{
+  u32 context;
+  u32 tunnel_index;
 
-    u32 intfc_address;
-    u32 inner_fib_index;
-    u32 mask_width;
-    u32 encap_index;
-    u32 hw_if_index;
-    u8  l2_only;
-    u32 tunnel_src;
-    u32 tunnel_dst;
-    u32 outer_fib_index;
-    u32 nlabels;
-    u32 labels[nlabels];
+  u32 intfc_address;
+  u32 inner_fib_index;
+  u32 mask_width;
+  u32 encap_index;
+  u32 hw_if_index;
+  u8 l2_only;
+  u32 tunnel_src;
+  u32 tunnel_dst;
+  u32 outer_fib_index;
+  u32 nlabels;
+  u32 labels[nlabels];
 };
 
 /** \brief Dump mpls eth tunnel table
     @param client_index - opaque cookie to identify the sender
     @param tunnel_index - eth tunnel identifier or -1 in case of all tunnels
 */
-define mpls_eth_tunnel_dump {
-    u32 client_index;
-    u32 context;
-    i32 tunnel_index;
+define mpls_eth_tunnel_dump
+{
+  u32 client_index;
+  u32 context;
+  i32 tunnel_index;
 };
 
 /** \brief mpls eth tunnel operational state response
@@ -4018,29 +4309,31 @@ define mpls_eth_tunnel_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-define mpls_eth_tunnel_details {
-    u32 context;
-    u32 tunnel_index;
+define mpls_eth_tunnel_details
+{
+  u32 context;
+  u32 tunnel_index;
 
-    u32 intfc_address;
-    u32 inner_fib_index;
-    u32 mask_width;
-    u32 encap_index;
-    u32 hw_if_index;
-    u8  l2_only;
-    u8  tunnel_dst_mac[6];
-    u32 tx_sw_if_index;
-    u32 nlabels;
-    u32 labels[nlabels];
+  u32 intfc_address;
+  u32 inner_fib_index;
+  u32 mask_width;
+  u32 encap_index;
+  u32 hw_if_index;
+  u8 l2_only;
+  u8 tunnel_dst_mac[6];
+  u32 tx_sw_if_index;
+  u32 nlabels;
+  u32 labels[nlabels];
 };
 
 /** \brief Dump mpls fib table
     @param client_index - opaque cookie to identify the sender
     @param fib_index    - mpls fib entry identifier or -1 in case of all entries
 */
-define mpls_fib_encap_dump {
-    u32 client_index;
-    u32 context;
+define mpls_fib_encap_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief mpls fib encap table response
@@ -4051,24 +4344,26 @@ define mpls_fib_encap_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-define mpls_fib_encap_details {
-    u32 context;
+define mpls_fib_encap_details
+{
+  u32 context;
 
-    u32 fib_index;
-    u32 entry_index;
-    u32 dest;
-    u32 s_bit;
-    u32 nlabels;
-    u32 labels[nlabels];
+  u32 fib_index;
+  u32 entry_index;
+  u32 dest;
+  u32 s_bit;
+  u32 nlabels;
+  u32 labels[nlabels];
 };
 
 /** \brief Dump mpls fib decap table
     @param client_index - opaque cookie to identify the sender
     @param fib_index    - mpls fib entry identifier or -1 in case of all entries
 */
-define mpls_fib_decap_dump {
-    u32 client_index;
-    u32 context;
+define mpls_fib_decap_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief mpls fib decap table response
@@ -4081,26 +4376,28 @@ define mpls_fib_decap_dump {
     @param tx_table_id - tx fib id
     @param swif_tag -
 */
-define mpls_fib_decap_details {
-    u32 context;
+define mpls_fib_decap_details
+{
+  u32 context;
 
-    u32 fib_index;
-    u32 entry_index;
-    u32 dest;
-    u32 s_bit;
-    u32 label;
-    u32 rx_table_id;
-    u32 tx_table_id;
-    u8  swif_tag[8];
+  u32 fib_index;
+  u32 entry_index;
+  u32 dest;
+  u32 s_bit;
+  u32 label;
+  u32 rx_table_id;
+  u32 tx_table_id;
+  u8 swif_tag[8];
 };
 
 /** \brief Classify get table IDs request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define classify_table_ids {
-    u32 client_index;
-    u32 context;
+define classify_table_ids
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Reply for classify get table IDs request
@@ -4108,11 +4405,12 @@ define classify_table_ids {
     @param count - number of ids returned in response
     @param ids - array of classify table ids
 */
-define classify_table_ids_reply {
-    u32 context;
-    i32 retval;
-    u32 count;
-    u32 ids[count];
+define classify_table_ids_reply
+{
+  u32 context;
+  i32 retval;
+  u32 count;
+  u32 ids[count];
 };
 
 /** \brief Classify table ids by interface index request
@@ -4120,10 +4418,11 @@ define classify_table_ids_reply {
     @param context - sender context, to match reply w/ request
     @param sw_if_index - index of the interface
 */
-define classify_table_by_interface {
-    u32 client_index;
-    u32 context;
-    u32 sw_if_index;
+define classify_table_by_interface
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
 };
 
 /** \brief Reply for classify table id by interface index request
@@ -4134,13 +4433,14 @@ define classify_table_by_interface {
     @param ip4_table_id - ip4 classify table index
     @param ip6_table_id - ip6 classify table index
 */
-define classify_table_by_interface_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
-    u32 l2_table_id;
-    u32 ip4_table_id;
-    u32 ip6_table_id;
+define classify_table_by_interface_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
+  u32 l2_table_id;
+  u32 ip4_table_id;
+  u32 ip6_table_id;
 };
 
 /** \brief Classify table info
@@ -4148,10 +4448,11 @@ define classify_table_by_interface_reply {
     @param context - sender context, to match reply w/ request
     @param table_id - classify table index
 */
-define classify_table_info {
-    u32 client_index;
-    u32 context;
-    u32 table_id;
+define classify_table_info
+{
+  u32 client_index;
+  u32 context;
+  u32 table_id;
 };
 
 /** \brief Reply for classify table info request
@@ -4166,18 +4467,19 @@ define classify_table_info {
     @param miss_next_index - index of miss table
     @param mask[] - match mask
 */
-define classify_table_info_reply {
-    u32 context;
-    i32 retval;
-    u32 table_id;
-    u32 nbuckets;
-    u32 match_n_vectors;
-    u32 skip_n_vectors;
-    u32 active_sessions;
-    u32 next_table_index;
-    u32 miss_next_index;
-    u32 mask_length;
-    u8  mask[mask_length];
+define classify_table_info_reply
+{
+  u32 context;
+  i32 retval;
+  u32 table_id;
+  u32 nbuckets;
+  u32 match_n_vectors;
+  u32 skip_n_vectors;
+  u32 active_sessions;
+  u32 next_table_index;
+  u32 miss_next_index;
+  u32 mask_length;
+  u8 mask[mask_length];
 };
 
 /** \brief Classify sessions dump request
@@ -4185,10 +4487,11 @@ define classify_table_info_reply {
     @param context - sender context, to match reply w/ request
     @param table_id - classify table index
 */
-define classify_session_dump {
-    u32 client_index;
-    u32 context;
-    u32 table_id;
+define classify_session_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 table_id;
 };
 
 /** \brief Reply for classify table session dump request
@@ -4199,16 +4502,17 @@ define classify_session_dump {
     @param opaque_index - for add, opaque_index of session
     @param advance - advance value of session
     @param match[] - match value for session
-*/ 
-define classify_session_details {
-    u32 context;
-    i32 retval;
-    u32 table_id;
-    u32 hit_next_index;
-    i32 advance;
-    u32 opaque_index;
-    u32 match_length;
-    u8 match[match_length];
+*/
+define classify_session_details
+{
+  u32 context;
+  i32 retval;
+  u32 table_id;
+  u32 hit_next_index;
+  i32 advance;
+  u32 opaque_index;
+  u32 match_length;
+  u8 match[match_length];
 };
 
 /** \brief Enable and configure IPFIX exporter process request
@@ -4221,32 +4525,35 @@ define classify_session_details {
     @param path_mtu - Path MTU between exporter and collector
     @param template_interval - number of seconds after which to resend template
 */
-define ipfix_enable {
-    u32 client_index;
-    u32 context;
-    u8 collector_address[16];
-    u16 collector_port;
-    u8 src_address[16];
-    u32 vrf_id;
-    u32 path_mtu;
-    u32 template_interval;
+define ipfix_enable
+{
+  u32 client_index;
+  u32 context;
+  u8 collector_address[16];
+  u16 collector_port;
+  u8 src_address[16];
+  u32 vrf_id;
+  u32 path_mtu;
+  u32 template_interval;
 };
 
 /** \brief Reply to IPFIX enable and configure request
     @param context - sender context which was passed in the request
 */
-define ipfix_enable_reply {
-    u32 context;
-    i32 retval;
+define ipfix_enable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief IPFIX dump request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-define ipfix_dump {
-    u32 client_index;
-    u32 context;
+define ipfix_dump
+{
+  u32 client_index;
+  u32 context;
 };
 
 /** \brief Reply to IPFIX dump request
@@ -4258,14 +4565,15 @@ define ipfix_dump {
     @param path_mtu - Path MTU between exporter and collector
     @param template_interval - number of seconds after which to resend template
 */
-define ipfix_details {
-    u32 context;
-    u8 collector_address[16];
-    u16 collector_port;
-    u8 src_address[16];
-    u32 fib_index;
-    u32 path_mtu;
-    u32 template_interval;
+define ipfix_details
+{
+  u32 context;
+  u8 collector_address[16];
+  u16 collector_port;
+  u8 src_address[16];
+  u32 fib_index;
+  u32 path_mtu;
+  u32 template_interval;
 };
 
 /** \brief Query relative index via node names
@@ -4274,11 +4582,12 @@ define ipfix_details {
     @param node_name - name of node to find relative index from
     @param next_name - next node from node_name to find relative index of
 */
-define get_next_index {
-    u32 client_index;
-    u32 context;
-    u8 node_name[64];
-    u8 next_name[64];
+define get_next_index
+{
+  u32 client_index;
+  u32 context;
+  u8 node_name[64];
+  u8 next_name[64];
 };
 
 /** \brief Reply for get next node index
@@ -4286,10 +4595,11 @@ define get_next_index {
     @param retval - return value
     @param next_index - index of the next_node
 */
-define get_next_index_reply {
-    u32 context;
-    i32 retval;
-    u32 next_index;
+define get_next_index_reply
+{
+  u32 context;
+  i32 retval;
+  u32 next_index;
 };
 
 /** \brief PacketGenerator create interface request
@@ -4297,20 +4607,22 @@ define get_next_index_reply {
     @param context - sender context, to match reply w/ request
     @param interface_id - interface index
 */
-define pg_create_interface {
-    u32 client_index;
-    u32 context;
-    u32 interface_id;
+define pg_create_interface
+{
+  u32 client_index;
+  u32 context;
+  u32 interface_id;
 };
 
 /** \brief PacketGenerator create interface response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define pg_create_interface_reply {
-    u32 context;
-    i32 retval;
-    u32 sw_if_index;
+define pg_create_interface_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
 };
 
 /** \brief PacketGenerator capture packets on given interface request
@@ -4321,23 +4633,25 @@ define pg_create_interface_reply {
     @param count - number of packets to be captured
     @param pcap_file - pacp file name to store captured packets
 */
-define pg_capture {
-    u32 client_index;
-    u32 context;
-    u32 interface_id;
-    u8  is_enabled;
-    u32 count;
-    u32 pcap_name_length;
-    u8  pcap_file_name[pcap_name_length];
+define pg_capture
+{
+  u32 client_index;
+  u32 context;
+  u32 interface_id;
+  u8 is_enabled;
+  u32 count;
+  u32 pcap_name_length;
+  u8 pcap_file_name[pcap_name_length];
 };
 
 /** \brief PacketGenerator capture packets response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define pg_capture_reply {
-    u32 context;
-    i32 retval;
+define pg_capture_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Enable / disable packet generator request
@@ -4346,21 +4660,23 @@ define pg_capture_reply {
     @param is_enabled - 1 if enabling streams, 0 if disabling
     @param stream - stream name to be enable/disabled, if not specified handle all streams
 */
-define pg_enable_disable {
-    u32 client_index;
-    u32 context;
-    u8  is_enabled;
-    u32 stream_name_length;
-    u8  stream_name[stream_name_length];
+define pg_enable_disable
+{
+  u32 client_index;
+  u32 context;
+  u8 is_enabled;
+  u32 stream_name_length;
+  u8 stream_name[stream_name_length];
 };
 
 /** \brief Reply for enable / disable packet generator
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define pg_enable_disable_reply {
-    u32 context;
-    i32 retval;
+define pg_enable_disable_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Configure IP source and L4 port-range check
@@ -4376,26 +4692,28 @@ define pg_enable_disable_reply {
     @param vrf_id - fib table/vrf id to associate the source and port-range check with
     @note To specify a single port set low_port and high_port entry the same
 */
-define ip_source_and_port_range_check_add_del {
-    u32 client_index;
-    u32 context;
-    u8  is_ipv6;
-    u8  is_add;
-    u8  mask_length;
-    u8  address[16];
-    u8  number_of_ranges;
-    u16 low_ports[32];
-    u16 high_ports[32];
-    u32 vrf_id;
+define ip_source_and_port_range_check_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u8 is_add;
+  u8 mask_length;
+  u8 address[16];
+  u8 number_of_ranges;
+  u16 low_ports[32];
+  u16 high_ports[32];
+  u32 vrf_id;
 };
 
 /** \brief Configure IP source and L4 port-range check reply
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-define ip_source_and_port_range_check_add_del_reply {
-    u32 context;
-    i32 retval;
+define ip_source_and_port_range_check_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
 
 /** \brief Set interface source and L4 port-range request
@@ -4405,22 +4723,24 @@ define ip_source_and_port_range_check_add_del_reply {
     @param tcp_vrf_id - VRF associated with source and TCP port-range check
     @param udp_vrf_id - VRF associated with source and TCP port-range check
 */
-define ip_source_and_port_range_check_interface_add_del {
-    u32 client_index;
-    u32 context;
-    u8  is_add;
-    u32 sw_if_index;
-    u32 tcp_in_vrf_id;
-    u32 tcp_out_vrf_id;
-    u32 udp_in_vrf_id;
-    u32 udp_out_vrf_id;
+define ip_source_and_port_range_check_interface_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u32 sw_if_index;
+  u32 tcp_in_vrf_id;
+  u32 tcp_out_vrf_id;
+  u32 udp_in_vrf_id;
+  u32 udp_out_vrf_id;
 };
 
 /** \brief Set interface source and L4 port-range response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
 */
-define ip_source_and_port_range_check_interface_add_del_reply {
-    u32 context;
-    i32 retval;
+define ip_source_and_port_range_check_interface_add_del_reply
+{
+  u32 context;
+  i32 retval;
 };
index ca6776c..f6793f7 100644 (file)
@@ -14,7 +14,7 @@
  */
 /*
  * Add to the bottom of the #include list, or elves will steal your
- * keyboard in the middle of the night! 
+ * keyboard in the middle of the night!
  */
 
 /* Inherited from vlib */
 
 /* Here are the vpe forwarder specific API definitions */
 #include <vpp-api/vpe.api.h>
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index fa194ee..1da3ec0 100644 (file)
 #include <vppinfra/byte_order.h>
 
 #define vl_msg_id(n,h) n,
-typedef enum {
-    VL_ILLEGAL_MESSAGE_ID=0,
+typedef enum
+{
+  VL_ILLEGAL_MESSAGE_ID = 0,
 #include <vpp-api/vpe_all_api_h.h>
-    VL_MSG_FIRST_AVAILABLE,
+  VL_MSG_FIRST_AVAILABLE,
 } vl_msg_id_t;
 #undef vl_msg_id
 
 #endif /* included_vpe_msg_enum_h */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
index ea4af01..19771e2 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright (c) 2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -108,7 +108,7 @@ main (int argc, char **argv)
   int interval = 0;
   f64 *vector_ratep, *rx_ratep, *sig_error_ratep;
   pid_t *vpp_pidp;
-  svmdb_map_args_t _ma, *ma= &_ma;
+  svmdb_map_args_t _ma, *ma = &_ma;
   int uid, gid, rv;
   struct passwd _pw, *pw;
   struct group _grp, *grp;
@@ -116,8 +116,8 @@ main (int argc, char **argv)
 
   unformat_init_command_line (&input, argv);
 
-  uid = geteuid();
-  gid = getegid();
+  uid = geteuid ();
+  gid = getegid ();
 
   while (unformat_check_input (&input) != UNFORMAT_END_OF_INPUT)
     {
@@ -128,45 +128,45 @@ main (int argc, char **argv)
       else if (unformat (&input, "interval %d", &interval))
        ;
       else if (unformat (&input, "uid %d", &uid))
-        ;
+       ;
       else if (unformat (&input, "gid %d", &gid))
-        ;
+       ;
       else if (unformat (&input, "uid %s", &s))
-        {
-          /* lookup the username */
-          pw = NULL;
-          rv = getpwnam_r(s, &_pw, buf, sizeof(buf), &pw);
-          if (rv < 0)
-            {
-              fformat (stderr, "cannot fetch username %s", s);
-              exit (1);
-            }
-          if (pw == NULL)
-            {
-              fformat (stderr, "username %s does not exist", s);
-              exit (1);
-            }
-          vec_free (s);
-          uid = pw->pw_uid;
-        }
+       {
+         /* lookup the username */
+         pw = NULL;
+         rv = getpwnam_r (s, &_pw, buf, sizeof (buf), &pw);
+         if (rv < 0)
+           {
+             fformat (stderr, "cannot fetch username %s", s);
+             exit (1);
+           }
+         if (pw == NULL)
+           {
+             fformat (stderr, "username %s does not exist", s);
+             exit (1);
+           }
+         vec_free (s);
+         uid = pw->pw_uid;
+       }
       else if (unformat (&input, "gid %s", &s))
-        {
-          /* lookup the group name */
-          grp = NULL;
-          rv = getgrnam_r(s, &_grp, buf, sizeof(buf), &grp);
-          if (rv != 0)
-            {
-              fformat (stderr, "cannot fetch group %s", s);
-              exit (1);
-            }
-          if (grp == NULL)
-            {
-              fformat (stderr, "group %s does not exist", s);
-              exit (1);
-            }
-          vec_free (s);
-          gid = grp->gr_gid;
-        }
+       {
+         /* lookup the group name */
+         grp = NULL;
+         rv = getgrnam_r (s, &_grp, buf, sizeof (buf), &grp);
+         if (rv != 0)
+           {
+             fformat (stderr, "cannot fetch group %s", s);
+             exit (1);
+           }
+         if (grp == NULL)
+           {
+             fformat (stderr, "group %s does not exist", s);
+             exit (1);
+           }
+         vec_free (s);
+         gid = grp->gr_gid;
+       }
       else
        {
          fformat (stderr,
@@ -196,7 +196,7 @@ main (int argc, char **argv)
     svmdb_local_get_variable_reference (c, SVMDB_NAMESPACE_VEC,
                                        "vpp_sig_error_rate");
 
-  /* 
+  /*
    * Make sure vpp is actually running. Otherwise, there's every
    * chance that the database region will be wiped out by the
    * process monitor script
@@ -211,9 +211,9 @@ main (int argc, char **argv)
 
   do
     {
-      /* 
+      /*
        * Once vpp exits, the svm db region will be recreated...
-       * Can't use kill (*vpp_pidp, 0) if running as non-root / 
+       * Can't use kill (*vpp_pidp, 0) if running as non-root /
        * accessing the shared-VM database via group perms.
        */
       if (*vpp_pidp == 0)