SPAN: Add 'is_l2" flag to DETAILS response messages. 84/11084/2
authorJon Loeliger <jdl@netgate.com>
Mon, 12 Mar 2018 19:50:08 +0000 (14:50 -0500)
committerDamjan Marion <dmarion.lists@gmail.com>
Mon, 12 Mar 2018 21:33:25 +0000 (21:33 +0000)
Change-Id: I375bb0e663bc082d98a29fb101c653557ddc8f55
Signed-off-by: Jon Loeliger <jdl@netgate.com>
src/vat/api_format.c
src/vnet/span/span.api
src/vnet/span/span_api.c

index 776f350..7bb463c 100644 (file)
@@ -20522,8 +20522,9 @@ vl_api_sw_interface_span_details_t_handler (vl_api_sw_interface_span_details_t
       }
   }));
   /* *INDENT-ON* */
-  print (vam->ofp, "%20s => %20s (%s)",
-        sw_if_from_name, sw_if_to_name, states[mp->state]);
+  print (vam->ofp, "%20s => %20s (%s) %s",
+        sw_if_from_name, sw_if_to_name, states[mp->state],
+        mp->is_l2 ? "l2" : "device");
 }
 
 static void
@@ -20572,6 +20573,7 @@ static void
       vat_json_object_add_string_copy (node, "dst-if-name", sw_if_to_name);
     }
   vat_json_object_add_uint (node, "state", mp->state);
+  vat_json_object_add_uint (node, "is-l2", mp->is_l2);
 }
 
 static int
index 8cbac7b..7b2e47c 100644 (file)
@@ -49,10 +49,12 @@ define sw_interface_span_dump {
     @param sw_if_index_from - mirorred interface
     @param sw_if_index_to - interface where the traffic is mirrored
     @param state - 0 = disabled, 1 = rx enabled, 2 = tx enabled, 3 tx & rx enabled
+    @param is_l2 - 0 = mirrored at hw device level, 1 = mirrored at l2
 */
 define sw_interface_span_details {
     u32 context;
     u32 sw_if_index_from;
     u32 sw_if_index_to;
     u8 state;
+    u8 is_l2;
 };
index 5df93fa..f96d267 100644 (file)
@@ -97,6 +97,7 @@ vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp)
           rmp->sw_if_index_to = htonl (i);
           rmp->state = (u8) (clib_bitmap_get (rxm->mirror_ports, i) +
                              clib_bitmap_get (txm->mirror_ports, i) * 2);
+         rmp->is_l2 = mp->is_l2;
 
           vl_api_send_msg (reg, (u8 *) rmp);
         }));