[dpdk-users] Is it possible to receive packets with bad CRC?
songj at zctt.com
songj at zctt.com
Wed Jun 9 06:58:52 CEST 2021
Hi Stephen
Thank you very much, you point out the correct function rte_pmd_ixgbe_udp_fctrl_sbp that I want.
I do a quick test about if DPDK can receive error packet:
1. With the original DPDK testpmd just show the number of error packets in RX-errors, but not RX-packets.
2. I modify fucntion ixgbe_dev_rx_init with adding IXGBE_FCTRL_SBP for the eth device, Testpmd will show the number of error packets both in RX-errors and RX-packets,so the eth device can receive error packets in DPDK now.
Thanks
Jie
> Hi Ido,
> I have the same question as yours, I want to get all the packets even the CRC/FCS error packet.
> Without DPDK I set the nic with "ethtool -K rx-all on", Then i can tcpdump all the packets both good and error packets.
> But I have no ideal with DPDK. Did you find something for this question?
>
>
> Thanks
>
>
> Jie
>
>
>
>
>
>
> ------------------ Original ------------------
> From: "Ido Goshen"<Ido at cgstowernetworks.com>;
> Date: Mon, Dec 14, 2020 00:56 AM
> To: "users at dpdk.org"<users at dpdk.org>;
>
> Subject: [dpdk-users] Is it possible to receive packets with bad CRC?
>
>
>
> Hi
>
> By default bad CRC packets are dropped and raise the ierror counter.
>
> Is there a way to change this behavior for I350 (igb) and rx it by the app?
>
> I’ve tried setting DEV_RX_OFFLOAD_KEEP_CRC but this doesn’t help (I think this only keeps CRC for good packets)
> I’ve also tried enabling the Store Bad Packet (not sure what it does but it’s the closet I could find) by setting in e1000/igb_rxtx.c
> rctl |= E1000_RCTL_SBP; E1000_WRITE_REG(hw, E1000_RCTL, rctl);
> Didn’t help either.
>
> Is it possible to do with I350?
> Or with any of the other intel NICs? X522 (ixgbe) or X710 (i40e)?
>
> Thanx,
>
> * Ido
Please don't use HTML mail on the DPDK mailing list.
The DPDK ethdev API does not have a way to enable storing bad packets.
The DPDK ixgbe driver has a device specific API call rte_pmd_ixgbe_udp_fctrl_sbp which may
do what you want. Device specific API's are discouraged but possible.
More information about the users
mailing list