Skip to content

Commit aa37b26

Browse files
author
Milan Lenčo
authored
Merge pull request #25 from milanlenco/stable-1801-contiv
tapv2: Sporadic SIGABRT in ethernet_input [VPP-1183]
2 parents 177ac2a + 92d60ec commit aa37b26

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/vnet/devices/tap/cli.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,9 @@ tap_show_command_fn (vlib_main_t * vm, unformat_input_t * input,
258258
// RX = 0, TX = 1
259259
vring = vec_elt_at_index (vif->vrings, i);
260260
vlib_cli_output (vm, " Virtqueue (%s)", (i & 1) ? "TX" : "RX");
261-
vlib_cli_output (vm, " qsz %d, last_used_idx %d, desc_in_use %d",
262-
vring->size, vring->last_used_idx,
261+
vlib_cli_output (vm,
262+
" qsz %d, last_used_idx %d, desc_next %d, desc_in_use %d",
263+
vring->size, vring->last_used_idx, vring->desc_next,
263264
vring->desc_in_use);
264265
vlib_cli_output (vm,
265266
" avail.flags 0x%x avail.idx %d used.flags 0x%x used.idx %d",

src/vnet/devices/virtio/virtio.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,13 @@ static_always_inline void
138138
virtio_free_rx_buffers (vlib_main_t * vm, virtio_vring_t * vring)
139139
{
140140
u16 used = vring->desc_in_use;
141-
u16 next = vring->desc_next;
141+
u16 last = vring->last_used_idx;
142142
u16 mask = vring->size - 1;
143143

144144
while (used)
145145
{
146-
vlib_buffer_free (vm, &vring->buffers[next], 1);
147-
next = (next + 1) & mask;
146+
vlib_buffer_free (vm, &vring->buffers[last & mask], 1);
147+
last++;
148148
used--;
149149
}
150150
}

0 commit comments

Comments
 (0)