lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Sending a large amount of data using UDP


From: Patrick Klos
Subject: Re: [lwip-users] Sending a large amount of data using UDP
Date: Sun, 19 Jul 2020 10:49:30 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1

On 7/19/2020 10:27 AM, Jon Bean wrote:
Hi Patrick

Yes I did try with fragmentation enabled but that didn't seem to work. I can see in wireshark that there is a packet with IP4 type that mentions fragmentation , but I don't get any UDP packets.

Does Wireshark reassemble the fragments into a whole 4K UDP packet? Are you willing/able to share the Wireshark trace file (.pcap)?

I also did a test where I just send two packets of 1400, one after another, but only one get sent. I am wondering if I need to check some send buffer like in TCP?

I've had no problem using UDP reliably on the TIVA with LwIP.  Did you allocate enough buffers?

If I just allocate a pbuf of 2800 and then send it I dont actually get any errors, it just doesnt send anything.

Unless fragmentation was enabled, that's not going to get very far.

The problem is that I cant really do anything with the data in terms of adding sequence numbers, as I am developing the code for the TIVA for a pc application that is already defined. I kind of thought that UDP could send up to 64k. I am a bit surprised I cant just ask LWIP to send a large amount of data and then it send multiple packets.

So the receiver is already expecting a 4K UDP packet?  That kind of ties your hands, but I'm (pretty) sure you can get it to work with LwIP on the TIVA*.

Patrick

* I don't think I've ever actually use IP fragmentation on the TIVA, but I'm sure it works (and if it doesn't, it can be debugged and fixed - it's not that complicated)

Regards

Jon


On 19/07/2020 15:18, Patrick Klos wrote:
On 7/19/2020 6:44 AM, Jon Bean wrote:
Hi

I have an application were I need to send around 4k of data using UDP. What I would like to know is how I go about sending this using LWIP. I can send small packets no problem. I first allocate a pbuf. Then copy my data to the pbuf. Then send the data. But sending 4k of data doesnt work. I realise that the Ethernet has a max payload of 1500 bytes. Is there a different way to send large amounts of data? Do I need to configure something and then do it the same way I have previously? I am using a embedded TIVA micro controller.

Thanks

Jon

Have you enabled IP fragmentation? (IP_FRAG)

Or you could just break up the data yourself, add a little custom header, and essentially fragment the data yourself. Depending on what's in this data, you could add sequence numbers and a way for the peer to report they missed a chunk?  How often are you sending these blocks of data?

Patrick


_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users





reply via email to

[Prev in Thread] Current Thread [Next in Thread]