All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-users] ixgbe drop all the packet
@ 2016-09-01 13:48 wei wang
  2016-09-02  3:57 ` wei wang
  0 siblings, 1 reply; 4+ messages in thread
From: wei wang @ 2016-09-01 13:48 UTC (permalink / raw)
  To: users, dev

my enviroment:
NIC:X540
DPDK version:2.2.0

problems:
start dpdk app with traffic not stopped,app can't receive any packet
from dpdk ixgbe driver (1.2w pps udp packet).
test five times would happens 1 ~ 2 times.

The stats of the nic (ipackets==3230 and imissed == ierrors):
ipackets 3230 imissed 9780225 ierrors 9780225
ipackets 3230 imissed 9792154 ierrors 9792154
ipackets 3230 imissed 9804310 ierrors 9804310
ipackets 3230 imissed 9816177 ierrors 9816177
ipackets 3230 imissed 9828042 ierrors 9828042
ipackets 3230 imissed 9839694 ierrors 9839694
ipackets 3230 imissed 9851412 ierrors 9851412
ipackets 3230 imissed 9863134 ierrors 9863134
ipackets 3230 imissed 9874722 ierrors 9874722
ipackets 3230 imissed 9886776 ierrors 9886776
ipackets 3230 imissed 9898616 ierrors 9898616
ipackets 3230 imissed 9910648 ierrors 9910648
ipackets 3230 imissed 9922513 ierrors 9922513

The value of register RDH:1023
The value of register RDT:959

there are some desc value log for one queue, the format of the log is
[desc_idx](DD value, vlan, length, status_error) :
[959]:(0,0, 0, 0) [960]:(1,0, 2048, 1342308425) [961]:(1,0, 2048,
1342308425) [962]:(1,0, 1031, 1342308427)
[963]:(1,0, 0, 3) [964]:(1,0, 0,       3)
[965]:(1,0, 2048, 1342308425) [966]:(1,0, 2048, 1342308425)
[967]:(1,0, 1031, 1342308427) [968]:(1,0, 0, 3) [969]:(1,0, 0, 3)
[970]:(1,0, 2048, 1342308425)
[971]:(1,0, 2048, 1342308425) [972]:(1,0, 1031, 1342308427)
[973]:(1,0, 0, 3) [974]:(1,0, 0, 3)
[975]:(1,0, 2048, 1342308425) [976]:(1,0, 2048, 1342308425)
[977]:(1,0, 1031, 1342308427) [978]:(1,0, 0, 3)
[979]:(1,0, 0, 3) [980]:(1,0, 2048, 1342308425) [981]:(1,0, 2048,
1342308425) [982]:(1,0, 1031, 1342308427)
[983]:(1,0, 0, 3) [984]:(1,0, 0, 3) [985]:(1,0, 2048, 1342308425)
[986]:(1,0, 2048, 1342308425)
[987]:(1,0, 1031, 1342308427) [988]:(1,0, 0, 3) [989]:(1,0, 0, 3)
[990]:(1,0, 2048, 1342308425)
[991]:(1,0, 2048, 1342308425) [992]:(1,0, 1031, 1342308427)
[993]:(1,0, 0, 3) [994]:(1,0, 0, 3)
[995]:(1,0, 2048, 1342308425) [996]:(1,0, 2048, 1342308425)
[997]:(1,0, 1031, 1342308427) [998]:(1,0, 0, 3)
[999]:(1,0, 0, 3) [1000]:(1,0, 2048, 1342308425) [1001]:(1,0, 2048,
1342308425) [1002]:(1,0, 1031, 1342308427)
[1003]:(1,0, 0, 3) [1004]:(1,0, 0, 3) [1005]:(1,0, 2048, 1342308425)
[1006]:(1,0, 2048, 1342308425)
[1007]:(1,0, 1031, 1342308427) [1008]:(1,0, 0, 3) [1009]:(1,0, 0, 3)
[1010]:(1,0, 2048, 1342308425)
[1011]:(1,0, 2048, 1342308425) [1012]:(1,0, 1031, 1342308427)
[1013]:(1,0, 0, 3)[1014]:(1,0, 0, 3)
[1015]:(1,0, 2048, 1342308425) [1016]:(1,0, 2048, 1342308425)
[1017]:(1,0, 1031, 1342308427) [1018]:(1,0, 0, 3)
 [1019]:(1,0, 0, 3) [1020]:(1,0, 2048, 1342308425) [1021]:(1,0, 2048,
1342308425)  [1022]:(1,0, 1031, 1342308427) [1023]:(0,0, 0, 0)

other desc in the ring is all zero。

is there a bug?

PS: it was normal with linux ixgbe driver。

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] ixgbe drop all the packet
  2016-09-01 13:48 [dpdk-users] ixgbe drop all the packet wei wang
@ 2016-09-02  3:57 ` wei wang
  2016-09-02 10:16   ` wei wang
  0 siblings, 1 reply; 4+ messages in thread
From: wei wang @ 2016-09-02  3:57 UTC (permalink / raw)
  To: users, dev

The rx function used was ixgbe_recv_pkts_bulk_alloc.

the problem seems that the rx desc ring not full, but nic don't write
data to ring and inc the missed error counter.



2016-09-01 21:48 GMT+08:00 wei wang <lnykww@gmail.com>:
> my enviroment:
> NIC:X540
> DPDK version:2.2.0
>
> problems:
> start dpdk app with traffic not stopped,app can't receive any packet
> from dpdk ixgbe driver (1.2w pps udp packet).
> test five times would happens 1 ~ 2 times.
>
> The stats of the nic (ipackets==3230 and imissed == ierrors):
> ipackets 3230 imissed 9780225 ierrors 9780225
> ipackets 3230 imissed 9792154 ierrors 9792154
> ipackets 3230 imissed 9804310 ierrors 9804310
> ipackets 3230 imissed 9816177 ierrors 9816177
> ipackets 3230 imissed 9828042 ierrors 9828042
> ipackets 3230 imissed 9839694 ierrors 9839694
> ipackets 3230 imissed 9851412 ierrors 9851412
> ipackets 3230 imissed 9863134 ierrors 9863134
> ipackets 3230 imissed 9874722 ierrors 9874722
> ipackets 3230 imissed 9886776 ierrors 9886776
> ipackets 3230 imissed 9898616 ierrors 9898616
> ipackets 3230 imissed 9910648 ierrors 9910648
> ipackets 3230 imissed 9922513 ierrors 9922513
>
> The value of register RDH:1023
> The value of register RDT:959
>
> there are some desc value log for one queue, the format of the log is
> [desc_idx](DD value, vlan, length, status_error) :
> [959]:(0,0, 0, 0) [960]:(1,0, 2048, 1342308425) [961]:(1,0, 2048,
> 1342308425) [962]:(1,0, 1031, 1342308427)
> [963]:(1,0, 0, 3) [964]:(1,0, 0,       3)
> [965]:(1,0, 2048, 1342308425) [966]:(1,0, 2048, 1342308425)
> [967]:(1,0, 1031, 1342308427) [968]:(1,0, 0, 3) [969]:(1,0, 0, 3)
> [970]:(1,0, 2048, 1342308425)
> [971]:(1,0, 2048, 1342308425) [972]:(1,0, 1031, 1342308427)
> [973]:(1,0, 0, 3) [974]:(1,0, 0, 3)
> [975]:(1,0, 2048, 1342308425) [976]:(1,0, 2048, 1342308425)
> [977]:(1,0, 1031, 1342308427) [978]:(1,0, 0, 3)
> [979]:(1,0, 0, 3) [980]:(1,0, 2048, 1342308425) [981]:(1,0, 2048,
> 1342308425) [982]:(1,0, 1031, 1342308427)
> [983]:(1,0, 0, 3) [984]:(1,0, 0, 3) [985]:(1,0, 2048, 1342308425)
> [986]:(1,0, 2048, 1342308425)
> [987]:(1,0, 1031, 1342308427) [988]:(1,0, 0, 3) [989]:(1,0, 0, 3)
> [990]:(1,0, 2048, 1342308425)
> [991]:(1,0, 2048, 1342308425) [992]:(1,0, 1031, 1342308427)
> [993]:(1,0, 0, 3) [994]:(1,0, 0, 3)
> [995]:(1,0, 2048, 1342308425) [996]:(1,0, 2048, 1342308425)
> [997]:(1,0, 1031, 1342308427) [998]:(1,0, 0, 3)
> [999]:(1,0, 0, 3) [1000]:(1,0, 2048, 1342308425) [1001]:(1,0, 2048,
> 1342308425) [1002]:(1,0, 1031, 1342308427)
> [1003]:(1,0, 0, 3) [1004]:(1,0, 0, 3) [1005]:(1,0, 2048, 1342308425)
> [1006]:(1,0, 2048, 1342308425)
> [1007]:(1,0, 1031, 1342308427) [1008]:(1,0, 0, 3) [1009]:(1,0, 0, 3)
> [1010]:(1,0, 2048, 1342308425)
> [1011]:(1,0, 2048, 1342308425) [1012]:(1,0, 1031, 1342308427)
> [1013]:(1,0, 0, 3)[1014]:(1,0, 0, 3)
> [1015]:(1,0, 2048, 1342308425) [1016]:(1,0, 2048, 1342308425)
> [1017]:(1,0, 1031, 1342308427) [1018]:(1,0, 0, 3)
>  [1019]:(1,0, 0, 3) [1020]:(1,0, 2048, 1342308425) [1021]:(1,0, 2048,
> 1342308425)  [1022]:(1,0, 1031, 1342308427) [1023]:(0,0, 0, 0)
>
> other desc in the ring is all zero。
>
> is there a bug?
>
> PS: it was normal with linux ixgbe driver。

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] ixgbe drop all the packet
  2016-09-02  3:57 ` wei wang
@ 2016-09-02 10:16   ` wei wang
  2016-09-03  3:02     ` wei wang
  0 siblings, 1 reply; 4+ messages in thread
From: wei wang @ 2016-09-02 10:16 UTC (permalink / raw)
  To: users, dev; +Cc: Thomas Monjalon

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] ixgbe drop all the packet
  2016-09-02 10:16   ` wei wang
@ 2016-09-03  3:02     ` wei wang
  0 siblings, 0 replies; 4+ messages in thread
From: wei wang @ 2016-09-03  3:02 UTC (permalink / raw)
  To: users, dev; +Cc: Thomas Monjalon

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-03  3:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-01 13:48 [dpdk-users] ixgbe drop all the packet wei wang
2016-09-02  3:57 ` wei wang
2016-09-02 10:16   ` wei wang
2016-09-03  3:02     ` wei wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.