- offset0 = device_input_next_node_advance[next0];
- b0->current_data = mb0->data_off + offset0 - RTE_PKTMBUF_HEADROOM;
- b0->flags |= device_input_next_node_flags[next0];
- vnet_buffer (b0)->l3_hdr_offset = b0->current_data;
- vnet_buffer (b0)->l2_hdr_offset =
- mb0->data_off - RTE_PKTMBUF_HEADROOM;
- b0->current_length = mb0->data_len - offset0;
- n_rx_bytes += mb0->pkt_len;
-
- offset1 = device_input_next_node_advance[next1];
- b1->current_data = mb1->data_off + offset1 - RTE_PKTMBUF_HEADROOM;
- b1->flags |= device_input_next_node_flags[next1];
- vnet_buffer (b1)->l3_hdr_offset = b1->current_data;
- vnet_buffer (b1)->l2_hdr_offset =
- mb1->data_off - RTE_PKTMBUF_HEADROOM;
- b1->current_length = mb1->data_len - offset1;
- n_rx_bytes += mb1->pkt_len;
-
- offset2 = device_input_next_node_advance[next2];
- b2->current_data = mb2->data_off + offset2 - RTE_PKTMBUF_HEADROOM;
- b2->flags |= device_input_next_node_flags[next2];
- vnet_buffer (b2)->l3_hdr_offset = b2->current_data;
- vnet_buffer (b2)->l2_hdr_offset =
- mb2->data_off - RTE_PKTMBUF_HEADROOM;
- b2->current_length = mb2->data_len - offset2;
- n_rx_bytes += mb2->pkt_len;
-
- offset3 = device_input_next_node_advance[next3];
- b3->current_data = mb3->data_off + offset3 - RTE_PKTMBUF_HEADROOM;
- b3->flags |= device_input_next_node_flags[next3];
- vnet_buffer (b3)->l3_hdr_offset = b3->current_data;
- vnet_buffer (b3)->l2_hdr_offset =
- mb3->data_off - RTE_PKTMBUF_HEADROOM;
- b3->current_length = mb3->data_len - offset3;
- n_rx_bytes += mb3->pkt_len;
-
-
- /* Process subsequent segments of multi-segment packets */
- if (maybe_multiseg)
- {
- dpdk_process_subseq_segs (vm, b0, mb0, fl);
- dpdk_process_subseq_segs (vm, b1, mb1, fl);
- dpdk_process_subseq_segs (vm, b2, mb2, fl);
- dpdk_process_subseq_segs (vm, b3, mb3, fl);
- }