it seems that set fdir port conf cause the problem,just add fdir conf in the port_conf, don't add any fdir rules.
set port conf like this in the l2fwd code. static const struct rte_eth_conf port_conf = { .rxmode = { .split_hdr_size = 0, .header_split = 0, /**< Header Split disabled */ .hw_ip_checksum = 0, /**< IP checksum offload disabled */ .hw_vlan_filter = 0, /**< VLAN filtering disabled */ .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ .hw_strip_crc = 0, /**< CRC stripped by hardware */ }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, }, .fdir_conf = { .mode = RTE_FDIR_MODE_PERFECT, .pballoc = RTE_FDIR_PBALLOC_64K, .status = RTE_FDIR_REPORT_STATUS, .mask = { .vlan_tci_mask = 0x0, .ipv4_mask = { .src_ip = 0x0, .dst_ip = 0xFFFFFFFF, }, .ipv6_mask = { .src_ip = {0x0, 0x0, 0x0, 0x0}, .dst_ip = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}, }, .src_port_mask = 0x0, .dst_port_mask = 0x0, .mac_addr_byte_mask = 0xFF, .tunnel_type_mask = 0x0, .tunnel_id_mask = 0x0, }, .drop_queue = 0, }, } if there is no fdir conf, the program at this test case was normal. 2016-09-02 18:16 GMT+08:00 wei wang <lnykww at gmail.com>: > The issue can be reproduced with example program l2fwd by modifying it > to sleep 1 second before launching thread. > > > code like this: > .... > check_all_ports_link_status(nb_ports, l2fwd_enabled_port_mask); > > sleep(1); > /* launch per-lcore init on every lcore */ > rte_eal_mp_remote_launch(l2fwd_launch_one_lcore, NULL, CALL_MASTER); > RTE_LCORE_FOREACH_SLAVE(lcore_id) { > if (rte_eal_wait_lcore(lcore_id) < 0) > return -1; > } > ....