Add support for API client to receive L2 MAC events
[vpp.git] / src / vpp / api / custom_dump.c
index 3ac8874..a57799c 100644 (file)
@@ -373,10 +373,19 @@ vl_api_l2_flags_t_print (vl_api_l2_flags_t * mp, void *handle)
 
   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;
-#undef _
+  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 ");
 
   FINISH;
 }
@@ -1174,7 +1183,6 @@ static void *vl_api_sr_policy_mod_t_print
   (vl_api_sr_policy_mod_t * mp, void *handle)
 {
   u8 *s;
-  u32 weight;
 
   ip6_address_t *segments = 0, *seg;
   ip6_address_t *this_address = (ip6_address_t *) mp->segments;
@@ -1216,8 +1224,6 @@ static void *vl_api_sr_policy_del_t_print
   u8 *s;
 
   s = format (0, "SCRIPT: sr_policy_del ");
-  u8 bsid_addr[16];
-  u32 sr_policy_index;
   s = format (s, "To be delivered. Good luck.");
   FINISH;
 }
@@ -1786,6 +1792,21 @@ static void *vl_api_want_ip6_nd_events_t_print
   FINISH;
 }
 
+static void *vl_api_want_l2_macs_events_t_print
+  (vl_api_want_l2_macs_events_t * mp, void *handle)
+{
+  u8 *s;
+
+  s = format (0, "SCRIPT: want_l2_macs_events ");
+  s = format (s, "learn-limit %d ", ntohl (mp->learn_limit));
+  s = format (s, "scan-delay %d ", (u32) mp->scan_delay);
+  s = format (s, "max-entries %d ", (u32) mp->max_macs_in_event * 10);
+  if (mp->enable_disable == 0)
+    s = format (s, "disable");
+
+  FINISH;
+}
+
 static void *vl_api_input_acl_set_interface_t_print
   (vl_api_input_acl_set_interface_t * mp, void *handle)
 {
@@ -2230,6 +2251,9 @@ static void *vl_api_sw_interface_span_enable_disable_t_print
   s = format (s, "src_sw_if_index %u ", ntohl (mp->sw_if_index_from));
   s = format (s, "dst_sw_if_index %u ", ntohl (mp->sw_if_index_to));
 
+  if (mp->is_l2)
+    s = format (s, "l2 ");
+
   switch (mp->state)
     {
     case 0:
@@ -2258,6 +2282,9 @@ vl_api_sw_interface_span_dump_t_print (vl_api_sw_interface_span_dump_t * mp,
 
   s = format (0, "SCRIPT: sw_interface_span_dump ");
 
+  if (mp->is_l2)
+    s = format (s, "l2 ");
+
   FINISH;
 }
 
@@ -2432,7 +2459,7 @@ static void *vl_api_lisp_add_del_remote_mapping_t_print
   (vl_api_lisp_add_del_remote_mapping_t * mp, void *handle)
 {
   u8 *s;
-  u32 i, rloc_num = 0;
+  u32 rloc_num = 0;
 
   s = format (0, "SCRIPT: lisp_add_del_remote_mapping ");
 
@@ -2574,7 +2601,6 @@ static void *vl_api_lisp_add_del_locator_set_t_print
   (vl_api_lisp_add_del_locator_set_t * mp, void *handle)
 {
   u8 *s;
-  u32 loc_num = 0, i;
 
   s = format (0, "SCRIPT: lisp_add_del_locator_set ");
 
@@ -2583,8 +2609,6 @@ static void *vl_api_lisp_add_del_locator_set_t_print
 
   s = format (s, "locator-set %s ", mp->locator_set_name);
 
-  loc_num = clib_net_to_host_u32 (mp->locator_num);
-
   FINISH;
 }
 
@@ -3066,6 +3090,7 @@ _(VXLAN_GPE_TUNNEL_DUMP, vxlan_gpe_tunnel_dump)                         \
 _(INTERFACE_NAME_RENUMBER, interface_name_renumber)                    \
 _(WANT_IP4_ARP_EVENTS, want_ip4_arp_events)                             \
 _(WANT_IP6_ND_EVENTS, want_ip6_nd_events)                               \
+_(WANT_L2_MACS_EVENTS, want_l2_macs_events)                             \
 _(INPUT_ACL_SET_INTERFACE, input_acl_set_interface)                     \
 _(IP_ADDRESS_DUMP, ip_address_dump)                                     \
 _(IP_DUMP, ip_dump)                                                     \