Use IP and MAC API types for neighbors
[vpp.git] / extras / vom / vom / neighbour_cmds.cpp
index 9bd3292..d43e508 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include "vom/neighbour_cmds.hpp"
+#include "vom/api_types.hpp"
 
 namespace VOM {
 namespace neighbour_cmds {
@@ -41,11 +42,12 @@ create_cmd::issue(connection& con)
   msg_t req(con.ctx(), std::ref(*this));
 
   auto& payload = req.get_request().get_payload();
-  payload.sw_if_index = m_itf.value();
   payload.is_add = 1;
-  payload.is_static = 1;
-  m_mac.to_bytes(payload.mac_address, 6);
-  to_bytes(m_ip_addr, &payload.is_ipv6, payload.dst_address);
+  payload.neighbor.sw_if_index = m_itf.value();
+  payload.neighbor.flags = IP_API_NEIGHBOR_FLAG_STATIC;
+
+  to_api(m_mac, payload.neighbor.mac_address);
+  to_api(m_ip_addr, payload.neighbor.ip_address);
 
   VAPI_CALL(req.execute());
 
@@ -87,11 +89,12 @@ delete_cmd::issue(connection& con)
   msg_t req(con.ctx(), std::ref(*this));
 
   auto& payload = req.get_request().get_payload();
-  payload.sw_if_index = m_itf.value();
   payload.is_add = 0;
-  payload.is_static = 1;
-  m_mac.to_bytes(payload.mac_address, 6);
-  to_bytes(m_ip_addr, &payload.is_ipv6, payload.dst_address);
+  payload.neighbor.sw_if_index = m_itf.value();
+  payload.neighbor.flags = IP_API_NEIGHBOR_FLAG_STATIC;
+
+  to_api(m_mac, payload.neighbor.mac_address);
+  to_api(m_ip_addr, payload.neighbor.ip_address);
 
   VAPI_CALL(req.execute());