3 years, 8 months ago.

Resize Ethernet MTU


I am running into a udp packet size limit of 0x2EA = 746 bytes with my application I tried to change the MTU size in "device.ccp" with:

/* maximum transfer unit */ netif->mtu = 0x600;


int main() { /* Initialize lwip */ lwip_init();

Initialize UDP pcb = udp_new();

netif *netifp;

/*Initialize NetServer with static IP*/ NetServer *net = NetServer::create();

IP4_ADDR(&my_address, 192,168,0,10); IP4_ADDR(&ipmask_local, 255,255,255,0); IP4_ADDR(&ipgate_local, 192,168,0,245); IP4_ADDR(&PC_ipaddress, 192,168,0,111);

net->setUseDHCP(0); net->setIPAddr(my_address); net->setNetmask(ipmask_local); net->setGateway(ipgate_local); net->setHostname("MbedRood"); net->ready(); this will print IP

/* Change MTU size */ netifp->mtu = 1000;

/ Set mbed as receiver / udp_bind(pcb, &my_address, 5555); Receive a UDP Packet from my_address udp_recv(pcb,udp_data_recv, NULL); .... But still got the same limitation of 746 bytes.

I read about a solution for this: https://developer.mbed.org/forum/bugs-suggestions/topic/1980/ but the library isnt available anymore as it seems because the link http://mbed.org/projects/libraries-testing/svn/beta doesnt work.

Is there any other way to resize the Ethernet MTU? Or is the mentioned library available under a new link?

Thanks in advance.

Edit: Is there no mbed software engineer who can reply to this topic? It was solved years ago regarding the forum. But all links to bug fixes and libraries dont work!

Be the first to answer this question.