[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