VLIB_BUFFER_TRACE_TRAJECTORYmbufmbufnodenodeindex:
,,,,如果(VLIB_BUFFER_TRACE_TRAJECTORY,,帧)
,,,,{
,,,,,,int我;
,,,,,,int log_index;
,,,,,,u32 *的;
,,,,,,从=vlib_frame_vector_args(帧);
,,,,,,(我=0;我& lt;框架→n_vectors;我+ +)
,,,,,,{
,,,,,,,,vlib_buffer_t * b=vlib_get_buffer (vm,从[我]);
,,,,,,,,断言(b→pre_data [0] & lt;32);
,,,,,,,,log_index=b→pre_data [0] + + + 1,
,,,,,,,,b→pre_data [log_index]=节点→node_index;
,,,,,,}
,,,,,,n=节点→函数(vm、节点坐标系);
,,,,节点}
空白vlib_dump_context_trace (vlib_main_t * vm, u32 bi)
{
,,, vlib_node_main_t * vnm=, vm→node_main;
,,, vlib_buffer_t * b;
,,,与我,n;
,
,,,如果(VLIB_BUFFER_TRACE_TRAJECTORY)
,,,{
,,,,,,, b=vlib_get_buffer (vm, bi);
,,,,,,, n=b→pre_data [0];
,
,,,,,,, fformat (stderr,“上下文跟踪bi % d b 0 x %拉兹,访问% d \ n”,
,,,,,,,,,,,,,,,bi、b、n);
,
,,,,,,,如果(n==0 | | n比;20)
,,,,,,, {
,,,,,,,,,,, fformat (stderr,“n不合理\ n”);
,,,,,,,,,,,回报;
,,,,,,,}
,
,
,,,,,,, (i=0;我& lt;n;我+ +)
,,,,,,, {
,,,,,,,,,,, u32 node_index;
,
,,,,,,,,,,, node_index=b→pre_data (i + 1);
,
,,,,,,,,,,,如果(node_index祝辞vec_len (vnm→节点)
,,,,,,,,,,, {
,,,,,,,,,,,,,,,fformat (stderr,“跳过bogusnode指数% d \ n”, node_index);
,,,,,,,,,,,,,,,继续;
,,,,,,,,,,,}
,
,,,,,,,,,,, fformat (stderr,“% v (% d) \ n”, vnm→节点(node_index)→名称,
,,,,,,,,,,,,,,,,,,,node_index);
,,,,,,,}
,,,}
,,,其他的
,,,{
,,,,,,, fformat (stderr,
,,,,,,,,,,,,,,,“在vlib/缓冲区。h, # define VLIB_BUFFER_TRACE_TRAJECTORY 1 \ n”);
,,,}}