diff options
author | Wei CHEN <weichen@astri.org> | 2019-06-26 11:01:15 +0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-07-15 11:09:53 +0000 |
commit | f974794e2e47ad2dfa244c2c2408d503e9120e2b (patch) | |
tree | 45705fd0a0abd1bcf0dc3a8082914c3a050b74de /src/vnet | |
parent | 692b9498ee5511a17bfbc3a2c6e87339aa3b8df8 (diff) |
interface: fix issue that pcap rx/tx trace not available when there are worker threads
Type: fix
Change-Id: Ie9a3a78b45b53344a0a5d7e2027c0e0354a49ebe
Signed-off-by: Wei CHEN <weichen@astri.org>
Diffstat (limited to 'src/vnet')
-rwxr-xr-x | src/vnet/ethernet/node.c | 9 | ||||
-rw-r--r-- | src/vnet/interface_output.c | 9 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/vnet/ethernet/node.c b/src/vnet/ethernet/node.c index eabcf42812c..4640540ac2b 100755 --- a/src/vnet/ethernet/node.c +++ b/src/vnet/ethernet/node.c @@ -990,7 +990,7 @@ ethernet_input_trace (vlib_main_t * vm, vlib_node_runtime_t * node, } /* rx pcap capture if enabled */ - if (PREDICT_FALSE (vm->pcap[VLIB_RX].pcap_enable)) + if (PREDICT_FALSE (vlib_global_main.pcap[VLIB_RX].pcap_enable)) { u32 bi0; @@ -1003,11 +1003,12 @@ ethernet_input_trace (vlib_main_t * vm, vlib_node_runtime_t * node, from++; b0 = vlib_get_buffer (vm, bi0); - if (vm->pcap[VLIB_RX].pcap_sw_if_index == 0 || - vm->pcap[VLIB_RX].pcap_sw_if_index + if (vlib_global_main.pcap[VLIB_RX].pcap_sw_if_index == 0 || + vlib_global_main.pcap[VLIB_RX].pcap_sw_if_index == vnet_buffer (b0)->sw_if_index[VLIB_RX]) { - pcap_add_buffer (&vm->pcap[VLIB_RX].pcap_main, vm, bi0, 512); + pcap_add_buffer (&vlib_global_main.pcap[VLIB_RX].pcap_main, vm, + bi0, 512); } n_left--; } diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index 2a41271852a..1a9f5dbab8f 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -800,7 +800,7 @@ static_always_inline void vnet_interface_pcap_tx_trace u32 n_left_from, *from; u32 sw_if_index; - if (PREDICT_TRUE (vm->pcap[VLIB_TX].pcap_enable == 0)) + if (PREDICT_TRUE (vlib_global_main.pcap[VLIB_TX].pcap_enable == 0)) return; if (sw_if_index_from_buffer == 0) @@ -822,9 +822,10 @@ static_always_inline void vnet_interface_pcap_tx_trace if (sw_if_index_from_buffer) sw_if_index = vnet_buffer (b0)->sw_if_index[VLIB_TX]; - if (vm->pcap[VLIB_TX].pcap_sw_if_index == 0 || - vm->pcap[VLIB_TX].pcap_sw_if_index == sw_if_index) - pcap_add_buffer (&vm->pcap[VLIB_TX].pcap_main, vm, bi0, 512); + if (vlib_global_main.pcap[VLIB_TX].pcap_sw_if_index == 0 || + vlib_global_main.pcap[VLIB_TX].pcap_sw_if_index == sw_if_index) + pcap_add_buffer (&vlib_global_main.pcap[VLIB_TX].pcap_main, vm, bi0, + 512); from++; n_left_from--; } |