summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vat/api_format.c6
-rw-r--r--src/vnet/span/span.api2
-rw-r--r--src/vnet/span/span_api.c1
3 files changed, 7 insertions, 2 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index 776f3500675..7bb463c867f 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -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
diff --git a/src/vnet/span/span.api b/src/vnet/span/span.api
index 8cbac7b73aa..7b2e47c9af5 100644
--- a/src/vnet/span/span.api
+++ b/src/vnet/span/span.api
@@ -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;
};
diff --git a/src/vnet/span/span_api.c b/src/vnet/span/span_api.c
index 5df93faf52b..f96d2677cf7 100644
--- a/src/vnet/span/span_api.c
+++ b/src/vnet/span/span_api.c
@@ -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);
}));