summaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorJohn Lo <loj@cisco.com>2019-08-13 18:18:21 -0400
committerJohn Lo <loj@cisco.com>2019-08-15 15:26:46 -0400
commita5766fe1397103cee73b764181df63fdd68ef040 (patch)
treed8e918643d80918b7d6329174a0ab1a36962948a /src/vnet
parent4c945dacb9ff9da731301feb26b1edb4ac00e8bd (diff)
vlib: copy trace_handle in vlib_buffer_copy/clone() functions
Since vlib_buffer_copy() and vlib_buffer_clone() both preserve VLIB_BUFFER_IS_TRACED bit in flags field, it should also copy trace_handle which would add minimal overhead. Thus, callers of these functions do not have to call vlib_buffer_copy_trace_flags() to copy trace_handle. Type: refactor Ticket: VPP-1745 Signed-off-by: John Lo <loj@cisco.com> Change-Id: Iff6a3f81660dd62b36a2966033eb380305340310 (cherry picked from commit 6631780422787166550b9871c46a94c160416324) Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/bier/bier_lookup.c3
-rw-r--r--src/vnet/dhcp/dhcp4_proxy_node.c1
-rw-r--r--src/vnet/dhcp/dhcp6_proxy_node.c1
-rw-r--r--src/vnet/dpo/replicate_dpo.c5
-rw-r--r--src/vnet/l2/l2_flood.c6
5 files changed, 1 insertions, 15 deletions
diff --git a/src/vnet/bier/bier_lookup.c b/src/vnet/bier/bier_lookup.c
index ec75efb9a1d..a9fab9c80f1 100644
--- a/src/vnet/bier/bier_lookup.c
+++ b/src/vnet/bier/bier_lookup.c
@@ -250,9 +250,6 @@ bier_lookup (vlib_main_t * vm,
{
bier_lookup_trace_t *tr;
- if (c0 != b0)
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
-
tr = vlib_add_trace (vm, node, c0, sizeof (*tr));
tr->bt_index = bti0;
tr->bfm_index = blm->blm_fmasks[thread_index][clone];
diff --git a/src/vnet/dhcp/dhcp4_proxy_node.c b/src/vnet/dhcp/dhcp4_proxy_node.c
index 8a517080eae..3576f0cbf35 100644
--- a/src/vnet/dhcp/dhcp4_proxy_node.c
+++ b/src/vnet/dhcp/dhcp4_proxy_node.c
@@ -385,7 +385,6 @@ dhcp_proxy_to_server_input (vlib_main_t * vm,
{
dhcp_proxy_trace_t *tr;
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
tr = vlib_add_trace (vm, node, c0, sizeof (*tr));
tr->which = 0; /* to server */
tr->error = error0;
diff --git a/src/vnet/dhcp/dhcp6_proxy_node.c b/src/vnet/dhcp/dhcp6_proxy_node.c
index a253fa1959f..174548f24eb 100644
--- a/src/vnet/dhcp/dhcp6_proxy_node.c
+++ b/src/vnet/dhcp/dhcp6_proxy_node.c
@@ -460,7 +460,6 @@ dhcpv6_proxy_to_server_input (vlib_main_t * vm,
{
dhcpv6_proxy_trace_t *tr;
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
tr = vlib_add_trace (vm, node, c0, sizeof (*tr));
tr->which = 0; /* to server */
tr->error = error0;
diff --git a/src/vnet/dpo/replicate_dpo.c b/src/vnet/dpo/replicate_dpo.c
index 69e367aa368..998a729dcd2 100644
--- a/src/vnet/dpo/replicate_dpo.c
+++ b/src/vnet/dpo/replicate_dpo.c
@@ -789,10 +789,7 @@ replicate_inline (vlib_main_t * vm,
replicate_trace_t *t;
if (c0 != b0)
- {
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
- VLIB_BUFFER_TRACE_TRAJECTORY_INIT (c0);
- }
+ VLIB_BUFFER_TRACE_TRAJECTORY_INIT (c0);
t = vlib_add_trace (vm, node, c0, sizeof (*t));
t->rep_index = repi0;
t->dpo = *dpo0;
diff --git a/src/vnet/l2/l2_flood.c b/src/vnet/l2/l2_flood.c
index 1bc528138d7..8d34233b520 100644
--- a/src/vnet/l2/l2_flood.c
+++ b/src/vnet/l2/l2_flood.c
@@ -250,9 +250,6 @@ VLIB_NODE_FN (l2flood_node) (vlib_main_t * vm,
ethernet_header_t *h0;
l2flood_trace_t *t;
- if (c0 != b0)
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
-
t = vlib_add_trace (vm, node, c0, sizeof (*t));
h0 = vlib_buffer_get_current (c0);
t->sw_if_index = sw_if_index0;
@@ -301,9 +298,6 @@ VLIB_NODE_FN (l2flood_node) (vlib_main_t * vm,
ethernet_header_t *h0;
l2flood_trace_t *t;
- if (c0 != b0)
- vlib_buffer_copy_trace_flag (vm, b0, ci0);
-
t = vlib_add_trace (vm, node, c0, sizeof (*t));
h0 = vlib_buffer_get_current (c0);
t->sw_if_index = sw_if_index0;