BVI Interface
[vpp.git] / src / vnet / ethernet / interface.c
index 2cb137c..0f54aa1 100644 (file)
@@ -41,6 +41,7 @@
 #include <vnet/ip/ip.h>
 #include <vnet/pg/pg.h>
 #include <vnet/ethernet/ethernet.h>
+#include <vnet/ethernet/arp.h>
 #include <vnet/l2/l2_input.h>
 #include <vnet/l2/l2_bd.h>
 #include <vnet/adj/adj.h>
@@ -277,7 +278,7 @@ clib_error_t *
 ethernet_register_interface (vnet_main_t * vnm,
                             u32 dev_class_index,
                             u32 dev_instance,
-                            u8 * address,
+                            const u8 * address,
                             u32 * hw_if_index_return,
                             ethernet_flag_change_function_t flag_change)
 {
@@ -379,6 +380,7 @@ ethernet_set_flags (vnet_main_t * vnm, u32 hw_if_index, u32 flags)
   ASSERT (hi->hw_class_index == ethernet_hw_interface_class.index);
 
   ei = pool_elt_at_index (em->interfaces, hi->hw_instance);
+  ei->flags = flags;
   if (ei->flag_change)
     return ei->flag_change (vnm, hi, flags);
   return (u32) ~ 0;
@@ -405,7 +407,7 @@ simulated_ethernet_interface_tx (vlib_main_t * vm,
   u32 new_tx_sw_if_index = ~0;
 
   n_left_from = frame->n_vectors;
-  from = vlib_frame_args (frame);
+  from = vlib_frame_vector_args (frame);
 
   vlib_get_buffers (vm, from, bufs, n_left_from);
   b = bufs;
@@ -657,9 +659,6 @@ VNET_DEVICE_CLASS (ethernet_simulated_device_class) = {
 };
 /* *INDENT-ON* */
 
-VLIB_DEVICE_TX_FUNCTION_MULTIARCH (ethernet_simulated_device_class,
-                                  simulated_ethernet_interface_tx);
-
 /*
  * Maintain a bitmap of allocated loopback instance numbers.
  */