diff options
author | Damjan Marion <damarion@cisco.com> | 2018-02-01 15:30:13 +0100 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2018-02-07 15:07:51 +0000 |
commit | dac03527f64216e132953a1a1d47b414e6841c68 (patch) | |
tree | bfe382ab6927861aab72acdb6e3d13391b3c7761 /src/plugins | |
parent | f429a93d95c73bafdc7244799703abc051127ca8 (diff) |
Refactor vlib_buffer flags
Change-Id: I853386aebfe488ebb10328435b81b6e3403c5dd0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/dpdk/buffer.c | 10 | ||||
-rw-r--r-- | src/plugins/dpdk/device/dpdk.h | 3 | ||||
-rwxr-xr-x | src/plugins/dpdk/device/init.c | 9 | ||||
-rw-r--r-- | src/plugins/flowprobe/node.c | 9 | ||||
-rw-r--r-- | src/plugins/nat/nat_ipfix_logging.c | 2 |
5 files changed, 12 insertions, 21 deletions
diff --git a/src/plugins/dpdk/buffer.c b/src/plugins/dpdk/buffer.c index a73d3ff32b1..01ec1ac1f3c 100644 --- a/src/plugins/dpdk/buffer.c +++ b/src/plugins/dpdk/buffer.c @@ -159,11 +159,12 @@ del_free_list (vlib_main_t * vm, vlib_buffer_free_list_t * f) /* Add buffer free list. */ static void -dpdk_buffer_delete_free_list (vlib_main_t * vm, u32 free_list_index) +dpdk_buffer_delete_free_list (vlib_main_t * vm, + vlib_buffer_free_list_index_t free_list_index) { vlib_buffer_main_t *bm = vm->buffer_main; vlib_buffer_free_list_t *f; - u32 merge_index; + vlib_buffer_free_list_index_t merge_index; int i; ASSERT (vlib_get_thread_index () == 0); @@ -171,7 +172,8 @@ dpdk_buffer_delete_free_list (vlib_main_t * vm, u32 free_list_index) f = vlib_buffer_get_free_list (vm, free_list_index); merge_index = vlib_buffer_get_free_list_with_size (vm, f->n_data_bytes); - if (merge_index != ~0 && merge_index != free_list_index) + if (merge_index != (vlib_buffer_free_list_index_t) ~ 0 && + merge_index != free_list_index) { vlib_buffer_merge_free_lists (pool_elt_at_index (bm->buffer_free_list_pool, merge_index), @@ -321,7 +323,7 @@ recycle_or_free (vlib_main_t * vm, vlib_buffer_main_t * bm, u32 bi, { vlib_buffer_free_list_t *fl; u32 thread_index = vlib_get_thread_index (); - u32 fi; + vlib_buffer_free_list_index_t fi; fl = vlib_buffer_get_buffer_free_list (vm, b, &fi); /* The only current use of this callback: multicast recycle */ diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 770da6e3da6..3b067e66649 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -362,9 +362,6 @@ typedef struct /* buffer flags template, configurable to enable/disable tcp / udp cksum */ u32 buffer_flags_template; - /* vlib buffer free list, must be same size as an rte_mbuf */ - u32 vlib_buffer_free_list_index; - /* pcap tracing [only works if (CLIB_DEBUG > 0)] */ int tx_pcap_enable; pcap_main_t pcap_main; diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 1c630be29bf..5733be9223a 100755 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -224,15 +224,6 @@ dpdk_lib_init (dpdk_main_t * dm) if (CLIB_DEBUG > 0) clib_warning ("DPDK drivers found %d ports...", nports); - /* - * All buffers are all allocated from the same rte_mempool. - * Thus they all have the same number of data bytes. - */ - dm->vlib_buffer_free_list_index = - vlib_buffer_get_or_create_free_list (vm, - VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES, - "dpdk rx"); - if (dm->conf->enable_tcp_udp_checksum) dm->buffer_flags_template &= ~(VNET_BUFFER_F_L4_CHECKSUM_CORRECT | VNET_BUFFER_F_L4_CHECKSUM_COMPUTED); diff --git a/src/plugins/flowprobe/node.c b/src/plugins/flowprobe/node.c index 1c7786067ca..9ac74cfd617 100644 --- a/src/plugins/flowprobe/node.c +++ b/src/plugins/flowprobe/node.c @@ -657,7 +657,8 @@ flowprobe_get_buffer (vlib_main_t * vm, flowprobe_variant_t which) b0->current_data = 0; b0->current_length = flowprobe_get_headersize (); - b0->flags |= (VLIB_BUFFER_TOTAL_LENGTH_VALID | VLIB_BUFFER_FLOW_REPORT); + b0->flags |= + (VLIB_BUFFER_TOTAL_LENGTH_VALID | VNET_BUFFER_F_FLOW_REPORT); vnet_buffer (b0)->sw_if_index[VLIB_RX] = 0; vnet_buffer (b0)->sw_if_index[VLIB_TX] = frm->fib_index; fm->context[which].next_record_offset_per_worker[my_cpu_number] = @@ -782,7 +783,7 @@ flowprobe_node_fn (vlib_main_t * vm, ethernet_header_t *eh0 = vlib_buffer_get_current (b0); u16 ethertype0 = clib_net_to_host_u16 (eh0->type); - if (PREDICT_TRUE ((b0->flags & VLIB_BUFFER_FLOW_REPORT) == 0)) + if (PREDICT_TRUE ((b0->flags & VNET_BUFFER_F_FLOW_REPORT) == 0)) add_to_flow_record_state (vm, node, fm, b0, timestamp, len0, flowprobe_get_variant (which, fm->context[which].flags, @@ -792,7 +793,7 @@ flowprobe_node_fn (vlib_main_t * vm, ethernet_header_t *eh1 = vlib_buffer_get_current (b1); u16 ethertype1 = clib_net_to_host_u16 (eh1->type); - if (PREDICT_TRUE ((b1->flags & VLIB_BUFFER_FLOW_REPORT) == 0)) + if (PREDICT_TRUE ((b1->flags & VNET_BUFFER_F_FLOW_REPORT) == 0)) add_to_flow_record_state (vm, node, fm, b1, timestamp, len1, flowprobe_get_variant (which, fm->context[which].flags, @@ -828,7 +829,7 @@ flowprobe_node_fn (vlib_main_t * vm, ethernet_header_t *eh0 = vlib_buffer_get_current (b0); u16 ethertype0 = clib_net_to_host_u16 (eh0->type); - if (PREDICT_TRUE ((b0->flags & VLIB_BUFFER_FLOW_REPORT) == 0)) + if (PREDICT_TRUE ((b0->flags & VNET_BUFFER_F_FLOW_REPORT) == 0)) { flowprobe_trace_t *t = 0; if (PREDICT_FALSE ((node->flags & VLIB_NODE_FLAG_TRACE) diff --git a/src/plugins/nat/nat_ipfix_logging.c b/src/plugins/nat/nat_ipfix_logging.c index ef1ab859d8d..70d8d6b1c62 100644 --- a/src/plugins/nat/nat_ipfix_logging.c +++ b/src/plugins/nat/nat_ipfix_logging.c @@ -519,7 +519,7 @@ snat_ipfix_header_create (flow_report_main_t * frm, b0->current_data = 0; b0->current_length = sizeof (*ip) + sizeof (*udp) + sizeof (*h) + sizeof (*s); - b0->flags |= (VLIB_BUFFER_TOTAL_LENGTH_VALID | VLIB_BUFFER_FLOW_REPORT); + b0->flags |= (VLIB_BUFFER_TOTAL_LENGTH_VALID | VNET_BUFFER_F_FLOW_REPORT); vnet_buffer (b0)->sw_if_index[VLIB_RX] = 0; vnet_buffer (b0)->sw_if_index[VLIB_TX] = frm->fib_index; tp = vlib_buffer_get_current (b0); |