quic: fix quic plugin with openssl 3.x
[vpp.git] / src / vnet / ip6-nd / ip6_nd_api.c
index 65b3ee3..6520a61 100644 (file)
@@ -83,7 +83,7 @@ static void
 vl_api_ip6nd_proxy_dump_t_handler (vl_api_ip6nd_proxy_dump_t * mp)
 {
   ip6_main_t *im6 = &ip6_main;
-  fib_table_t *fib_table;
+  u32 fib_index;
   api_ip6nd_proxy_fib_table_walk_ctx_t ctx = {
     .indices = NULL,
   };
@@ -96,13 +96,11 @@ vl_api_ip6nd_proxy_dump_t_handler (vl_api_ip6nd_proxy_dump_t * mp)
     return;
 
   /* *INDENT-OFF* */
-  pool_foreach (fib_table, im6->fibs,
-  ({
-    fib_table_walk(fib_table->ft_index,
-                   FIB_PROTOCOL_IP6,
-                   api_ip6nd_proxy_fib_table_walk,
-                   &ctx);
-  }));
+  pool_foreach_index (fib_index, im6->fibs)
+    {
+      fib_table_walk (fib_index, FIB_PROTOCOL_IP6,
+                     api_ip6nd_proxy_fib_table_walk, &ctx);
+    }
   /* *INDENT-ON* */
 
   vec_sort_with_function (ctx.indices, fib_entry_cmp_for_sort);
@@ -120,6 +118,24 @@ vl_api_ip6nd_proxy_dump_t_handler (vl_api_ip6nd_proxy_dump_t * mp)
   vec_free (ctx.indices);
 }
 
+static void
+vl_api_ip6nd_proxy_enable_disable_t_handler (
+  vl_api_ip6nd_proxy_enable_disable_t *mp)
+{
+  vl_api_ip6nd_proxy_enable_disable_reply_t *rmp;
+  int rv = 0;
+
+  VALIDATE_SW_IF_INDEX (mp);
+
+  if (mp->is_enable)
+    rv = ip6_nd_proxy_enable_disable (ntohl (mp->sw_if_index), 1);
+  else
+    rv = ip6_nd_proxy_enable_disable (ntohl (mp->sw_if_index), 0);
+
+  BAD_SW_IF_INDEX_LABEL;
+  REPLY_MACRO (VL_API_IP6ND_PROXY_ENABLE_DISABLE_REPLY);
+}
+
 static void
 vl_api_ip6nd_proxy_add_del_t_handler (vl_api_ip6nd_proxy_add_del_t * mp)
 {
@@ -237,8 +253,8 @@ ip6_ra_handle_report (const ip6_ra_report_t * rap)
   /* *INDENT-OFF* */
   vpe_client_registration_t *rp;
 
-  pool_foreach(rp, vpe_api_main.ip6_ra_events_registrations,
-  ({
+  pool_foreach (rp, vpe_api_main.ip6_ra_events_registrations)
+   {
     vl_api_registration_t *vl_reg;
 
     vl_reg = vl_api_client_index_to_registration (rp->client_index);
@@ -287,7 +303,7 @@ ip6_ra_handle_report (const ip6_ra_report_t * rap)
 
         vl_api_send_msg (vl_reg, (u8 *) event);
       }
-  }));
+  }
   /* *INDENT-ON* */
 }