Hi Hemasai, This is due to the Ethernet standard.
Ethernet frames cannot be smaller than 64 bytes (60 bytes + 4 bytes checksum). So when transmitting a packet with too small payload, the transmit function will pad with zeroes until the size reaches the minimum Ethernet frame size, and the frame on the wire becomes 64 bytes (incl. 4 bytes checksum), which is what the receiver will receive. Please also refer to: https://en.wikipedia.org/wiki/Ethernet_frame#Payload Med venlig hilsen / kind regards Morten Brørup CTO SmartShare Systems A/S Tonsbakken 16-18 DK-2740 Skovlunde Denmark Office +45 70 20 00 93 Direct +45 89 93 50 22 Mobile +45 25 40 82 12 m...@smartsharesystems.com www.smartsharesystems.com > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Perugu Hemasai > Chandra Prasad > Sent: Monday, September 23, 2019 10:44 AM > To: us...@dpdk.org; dev@dpdk.org > Subject: [dpdk-dev] Unable to receive packet size less than 60 with > rte_eth_rx_burst Api - regarding > > Hi All, > when ever I am trying to send packets ( dpdk ver 18.05 stable > ) of > size less than 60 bytes using rte_eth_tx_burst API with EthDev, packets > are > receiving on other system with packet length of 60 bytes by appending > zeros's to the end of the packet and there is no modification in the > data. > But packet is receiving as it is without any appending of zero's when > packet size is more than 60. Is there any hidden limitation like this? > can > anyone please tell me the reason ? How to resolve this ? > > Thanks & Regards, > Hemasai