[dpdk-dev] [dpdk-users] ixgbe drop all the packet

wei wang lnykww at gmail.com
Sat Sep 3 05:02:00 CEST 2016


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;
>         }
>         ....


More information about the dev mailing list