We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 29757

9.2i EDK - I cannot transmit TCP packets larger than 1500 bytes or any UDP packets


Keywords: lwIP, user, datagram, transmission, transmit, control, protocol

I cannot transmit TCP packets larger than 1500 bytes or any UDP packets. Why?


There is a bug in the xps_ll_temac adapter present in lwip_v3_00_a released in 9.2i. A new xlltemacif_sdma.c will be available in EDK 9.2i Service Pack 2.

The fixes are three lines of code:

1. Open the $Xilinx_EDK/sw/ThirdParty/sw_services/lwip_v3_00_a/src/contrib/ports/Xilinx/netif/xlltemacif_sdma.c file in an editor with line numbering.

2. Make the following changes:

Replace line 155 with: XLlDma_Bd *txbdset, *txbd, *last_txbd = NULL;
Insert a new line 192 with: last_txbd = txbd;
Replace line 204 with: XLlDma_mBdSetStsCtrl(last_txbd, XLLDMA_BD_STSCTRL_EOP_MASK);

The "diff" output between the old file and the new file is:

< XLlDma_Bd *txbdset, *txbd;
> XLlDma_Bd *txbdset, *txbd, *last_txbd = NULL;
> last_txbd = txbd;
> XLlDma_mBdSetStsCtrl(last_txbd, XLLDMA_BD_STSCTRL_EOP_MASK);

For other lwIP issues, please refer to (Xilinx Answer 29791) and (Xilinx Answer 30155).

This problem has been fixed in the latest EDK 9.2i Service Pack, available at:
The first service pack containing the fix is EDK 9.2i Service Pack 2.
AR# 29757
Date Created 12/04/2007
Last Updated 02/28/2008
Status Active
Type General Article