cancel
Showing results for 
Search instead for 
Did you mean: 

Lwip send udp packets larger than MTU

ariel2
Associate II
Posted on May 16, 2015 at 15:27

Dear Forum,

I bring forth a probably trivial question yet I'm uncertain how to approach it.

Using ST STM32F427, RTOS, lwip and sending data over UDP, If I try to send data small than the MTU:

e.g: netbuf_ref(buf, dataPointer, 1000);

Everything works fine.

If the data is bigger then MTU (e.g 4000):

1. I don't see any data being sent (using wireshark).

2. The lwip buffer will ran out (under low_level_output()) after several iterations (ETH_TXBUFNB = 8)

In stackoverflow I found this ''solution'':

http://stackoverflow.com/questions/20851391/lwip-send-udp-packets-larger-than-mtu-but-my-pc-can-not-reassemble-them

Questions:

1. Can I send data bigger than MTU with Hardware checksum? How?

Should I break my data into segments?

How can I insert markers into my stream while avoiding unnecessary copy

(Write header to tempBuff, copy dataBuff to tempBuff, in low_level_output copy tempBuff to Tx_Buff)

2. Is there a zero-copy implementation for Cube? 

Despite reading

/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Low%20TCPIP%20transmit%20perormance%20with%20STM32CubeMX%20and%20STM32F429ZG&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21&currentviews=585

that the copy time is insignificant it is consumes time and unnecessary memory.

3. Any tips for proper system configuration (e.g how much mem to allocate, MEM_SIZE, MEMP_NUM_PBUF)

#cube #stm32f4 #lwip
1 REPLY 1
ariel2
Associate II
Posted on May 20, 2015 at 20:55

No lwip large packets tips?