X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vnet%2Fvnet%2Fdevices%2Fdpdk%2Fdevice.c;h=800a06caf13718031ce5c41c7e455638451a1841;hb=58290ea2f6364fdc6f0dd9c201d6d0b84025f3d3;hp=9f40c277b20755e39857c214c58d5593ee1cc784;hpb=9dd34e00ede6e5d0b32e8e0c0b26b03dee468549;p=vpp.git diff --git a/vnet/vnet/devices/dpdk/device.c b/vnet/vnet/devices/dpdk/device.c index 9f40c277b20..800a06caf13 100644 --- a/vnet/vnet/devices/dpdk/device.c +++ b/vnet/vnet/devices/dpdk/device.c @@ -160,12 +160,13 @@ dpdk_validate_rte_mbuf (vlib_main_t * vm, vlib_buffer_t * b, rte_mbuf header */ if (PREDICT_FALSE ((b->flags & VNET_BUFFER_RTE_MBUF_VALID) == 0)) { - last_mb = mb = rte_mbuf_from_vlib_buffer (b); + vlib_buffer_t *b2 = b; + last_mb = mb = rte_mbuf_from_vlib_buffer (b2); rte_pktmbuf_reset (mb); - while (maybe_multiseg && (b->flags & VLIB_BUFFER_NEXT_PRESENT)) + while (maybe_multiseg && (b2->flags & VLIB_BUFFER_NEXT_PRESENT)) { - b = vlib_get_buffer (vm, b->next_buffer); - mb = rte_mbuf_from_vlib_buffer (b); + b2 = vlib_get_buffer (vm, b2->next_buffer); + mb = rte_mbuf_from_vlib_buffer (b2); last_mb->next = mb; last_mb = mb; rte_pktmbuf_reset (mb);