cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mele14
Visitor
Visitor
519 Views
Registered: ‎01-20-2020

Zedboard LwIP UDP problem - not able to send more than 500 bytes

 

Hi everyone ,

I would appreciate if someone could help me solve this strage problem regarding Ethernet transmission of UDP packets in RAW mode with LwIP from Zedboard to Windows PC.

I’m using the example project in SDK to test the functionalities of LwIP called udp_perf_client.

If I try to use the project as it is  (with UDP_SEND_BUFSIZE 1440 ) Whireskark signals that packet are malformed , in fact it seems that “data bytes” are  truncated and then are sent less bytes than expected (declared in the costruction of the IP header by LwIP).

In the image attached is shown the error case with UDP_SEND_BUFFSIZE = 600 bytes for example.

Packets arrive successfully only if the UDP_SEND_BUFFSIZE is smaller than 500 bytes.

If i try to use an UDP_SEND_BUFFSIZE larger than IP MTU( using LwIP IP fragmentation) the number of IP fragments is correct, but each fragment has only about 500 bytes of data insted of 1440 bytes as expected.

I tried to modify the LwIP options in Board Support Package without success.

I can’t address the problem .

I would like also to know if Zedboard Hardware allows the use of Jumbo Frames and if so what needs to be changed in project configuration.

Thanks in advance,

Mike

UDP LwIP problem2.jpg
0 Kudos
Reply
4 Replies
mele14
Visitor
Visitor
461 Views
Registered: ‎01-20-2020

Does anyone has an idea how to aproach this problem ? 

Thanks 

0 Kudos
Reply
ajk
Contributor
Contributor
398 Views
Registered: ‎12-22-2016

Hi, did you try increasing lwIP memory size, pool size, pbuf size, etc?
0 Kudos
Reply
nanz
Moderator
Moderator
390 Views
Registered: ‎08-25-2009

Hi @mele14 ,

I assume you are using PS Ethernet (GEM). If you look at UG585, you will know that Jumbo frame is not supported on Zynq.

Though the packets seem to be fragmented in wireshark, have you check the statistics registers to see if different length frames have been received?

The register details can also be found in UG585 on page 1270 for example:

XEMACPS_RX512CNT_OFFSET

XEMACPS_RX1024CNT_OFFSET

"Don't forget to reply, kudo and accept as solution."
0 Kudos
Reply
esakki
Contributor
Contributor
374 Views
Registered: ‎03-02-2020

Hi @mele14 

I am doing the same project ethernet transfer from zedboard to my pc. I am using sdk lwip udp client example .

In udp_ perf _ client .c , how can we give our own payload data were the data is stored.

how we can send data in sdk program itself or any application is needed.

how to view our payload data in whireshkark.

please share your code with configuration 

Please kindly help me ,

thanks in advance

 

 

 

 

0 Kudos
Reply