P2P Ethernet
[vpp.git] / src / vnet / ethernet / p2p_ethernet_api.c
index 1d9eaeb..f2c730b 100644 (file)
@@ -51,12 +51,21 @@ vl_api_p2p_ethernet_add_t_handler (vl_api_p2p_ethernet_add_t * mp)
   int rv;
 
   u32 parent_if_index = htonl (mp->parent_if_index);
+  u32 sub_id = htonl (mp->subif_id);
+  u32 p2pe_if_index;
   u8 remote_mac[6];
 
   clib_memcpy (remote_mac, mp->remote_mac, 6);
-  rv = p2p_ethernet_add_del (vm, parent_if_index, remote_mac, 1);
-
-  REPLY_MACRO (VL_API_P2P_ETHERNET_ADD_REPLY);
+  rv =
+    p2p_ethernet_add_del (vm, parent_if_index, remote_mac, sub_id, 1,
+                         &p2pe_if_index);
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_P2P_ETHERNET_ADD_REPLY,
+  ({
+    rmp->sw_if_index = htonl(p2pe_if_index);
+  }));
+  /* *INDENT-ON* */
 }
 
 void
@@ -70,7 +79,7 @@ vl_api_p2p_ethernet_del_t_handler (vl_api_p2p_ethernet_del_t * mp)
   u8 remote_mac[6];
 
   clib_memcpy (remote_mac, mp->remote_mac, 6);
-  rv = p2p_ethernet_add_del (vm, parent_if_index, remote_mac, 0);
+  rv = p2p_ethernet_add_del (vm, parent_if_index, remote_mac, ~0, 0, 0);
 
   REPLY_MACRO (VL_API_P2P_ETHERNET_DEL_REPLY);
 }