aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/devices/af_packet/node.c
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-03-24 17:17:47 +0100
committerGerrit Code Review <gerrit@fd.io>2016-03-25 20:55:15 +0000
commit19010202285445372c281faca6a9757fd0ed466c (patch)
treef39784f25f08bc6097669d1a28bd0ac25aae2d6f /vnet/vnet/devices/af_packet/node.c
parent46040a513bc32b0f4e9993fbd7f0fc4bc4e1c42c (diff)
Use rte_mempool private data for storing vlib_buffer_t
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet/vnet/devices/af_packet/node.c')
-rw-r--r--vnet/vnet/devices/af_packet/node.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/vnet/vnet/devices/af_packet/node.c b/vnet/vnet/devices/af_packet/node.c
index 15a96f442f9..efe0e1c2586 100644
--- a/vnet/vnet/devices/af_packet/node.c
+++ b/vnet/vnet/devices/af_packet/node.c
@@ -94,11 +94,6 @@ buffer_add_to_chain(vlib_main_t *vm, u32 bi, u32 first_bi, u32 prev_bi)
vlib_buffer_t * b = vlib_get_buffer (vm, bi);
vlib_buffer_t * first_b = vlib_get_buffer (vm, first_bi);
vlib_buffer_t * prev_b = vlib_get_buffer (vm, prev_bi);
-#if DPDK > 0
- struct rte_mbuf * mbuf = ((struct rte_mbuf *) b) - 1;
- struct rte_mbuf * first_mbuf = ((struct rte_mbuf *) first_b) - 1;
- struct rte_mbuf * prev_mbuf = ((struct rte_mbuf *) prev_b) - 1;
-#endif
/* update first buffer */
first_b->total_length_not_including_first_buffer += b->current_length;
@@ -111,6 +106,9 @@ buffer_add_to_chain(vlib_main_t *vm, u32 bi, u32 first_bi, u32 prev_bi)
b->next_buffer = 0;
#if DPDK > 0
+ struct rte_mbuf * mbuf = rte_mbuf_from_vlib_buffer(b);
+ struct rte_mbuf * first_mbuf = rte_mbuf_from_vlib_buffer(first_b);
+ struct rte_mbuf * prev_mbuf = rte_mbuf_from_vlib_buffer(prev_b);
first_mbuf->nb_segs++;
prev_mbuf->next = mbuf;
mbuf->data_len = b->current_length;