mp = current_fwd_lcore()->mbp;
if (tx_pkt_split == TX_PKT_SPLIT_RND)
- nb_seg = random() % tx_pkt_nb_segs + 1;
+ nb_seg = rte_rand() % tx_pkt_nb_segs + 1;
else
nb_seg = tx_pkt_nb_segs;
uint32_t rx_bad_ip_csum;
uint32_t rx_bad_l4_csum;
uint32_t rx_bad_outer_l4_csum;
+ uint32_t rx_bad_outer_ip_csum;
struct testpmd_offload_info info;
uint16_t nb_segments = 0;
int ret;
rx_bad_ip_csum = 0;
rx_bad_l4_csum = 0;
rx_bad_outer_l4_csum = 0;
+ rx_bad_outer_ip_csum = 0;
gro_enable = gro_ports[fs->rx_port].enable;
txp = &ports[fs->tx_port];
rx_bad_l4_csum += 1;
if (rx_ol_flags & PKT_RX_OUTER_L4_CKSUM_BAD)
rx_bad_outer_l4_csum += 1;
+ if (rx_ol_flags & PKT_RX_OUTER_IP_CKSUM_BAD)
+ rx_bad_outer_ip_csum += 1;
/* step 1: dissect packet, parsing optional vlan, ip4/ip6, vxlan
* and inner headers */
nb_prep = rte_eth_tx_prepare(fs->tx_port, fs->tx_queue,
tx_pkts_burst, nb_rx);
if (nb_prep != nb_rx)
- printf("Preparing packet burst to transmit failed: %s\n",
- rte_strerror(rte_errno));
+ fprintf(stderr,
+ "Preparing packet burst to transmit failed: %s\n",
+ rte_strerror(rte_errno));
nb_tx = rte_eth_tx_burst(fs->tx_port, fs->tx_queue, tx_pkts_burst,
nb_prep);
fs->rx_bad_ip_csum += rx_bad_ip_csum;
fs->rx_bad_l4_csum += rx_bad_l4_csum;
fs->rx_bad_outer_l4_csum += rx_bad_outer_l4_csum;
+ fs->rx_bad_outer_ip_csum += rx_bad_outer_ip_csum;
inc_tx_burst_stats(fs, nb_tx);
if (unlikely(nb_tx < nb_rx)) {