SPAN: Add 'is_l2" flag to DETAILS response messages.
Change-Id: I375bb0e663bc082d98a29fb101c653557ddc8f55
Signed-off-by: Jon Loeliger <jdl@netgate.com>
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index 776f350..7bb463c 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -20522,8 +20522,9 @@
}
}));
/* *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 @@
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 8cbac7b..7b2e47c 100644
--- a/src/vnet/span/span.api
+++ b/src/vnet/span/span.api
@@ -49,10 +49,12 @@
@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 5df93fa..f96d267 100644
--- a/src/vnet/span/span_api.c
+++ b/src/vnet/span/span_api.c
@@ -97,6 +97,7 @@
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);
}));