Add packet/byte count output tx stats to tunap interface
Change-Id: I167c49d2a64e7a36a176d57054ecd99b398a9cca Signed-off-by: John Lo <loj@cisco.com>
This commit is contained in:
@ -141,6 +141,9 @@ tuntap_tx (vlib_main_t * vm,
|
||||
u32 * buffers = vlib_frame_args (frame);
|
||||
uword n_packets = frame->n_vectors;
|
||||
tuntap_main_t * tm = &tuntap_main;
|
||||
vnet_main_t *vnm = vnet_get_main ();
|
||||
vnet_interface_main_t *im = &vnm->interface_main;
|
||||
u32 n_bytes = 0;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_packets; i++)
|
||||
@ -181,8 +184,17 @@ tuntap_tx (vlib_main_t * vm,
|
||||
|
||||
if (writev (tm->dev_net_tun_fd, tm->iovecs, vec_len (tm->iovecs)) < l)
|
||||
clib_unix_warning ("writev");
|
||||
|
||||
n_bytes += l;
|
||||
}
|
||||
|
||||
/* Update tuntap interface output stats. */
|
||||
vlib_increment_combined_counter (im->combined_sw_if_counters
|
||||
+ VNET_INTERFACE_COUNTER_TX,
|
||||
vm->cpu_index,
|
||||
tm->sw_if_index, n_packets, n_bytes);
|
||||
|
||||
|
||||
/** The normal interface path flattens the buffer chain */
|
||||
if (tm->have_normal_interface)
|
||||
vlib_buffer_free_no_next (vm, buffers, n_packets);
|
||||
|
Reference in New Issue
Block a user