AV5282 Network driver
frank.ueberschar at dsa-volgmann.de
frank.ueberschar at dsa-volgmann.de
Thu Jan 8 11:33:54 UTC 2009
To whom it may concern,
we are using parts of the network driver from
the AV5282 BSP with our own BSP-Code. We have
enountered Problems when transmitting fragmented
IP Packets (i.e. send ICMP Ping with high amount
of dataload).
We think that we might have found a bug in that
code in network.c so someone please could verify that.
(We still work on rtems-4.5.1 - nevertheless :-))
If in the fec_sendpacket(..) an IP Fragment mbuffer
with zero length if(m->m_len) occurs then this packet
will be put on the mbuf chain, however. This will
result in used buffer descriptors that will never
be freed again.
In our opinion/experience the following patch resolves
this problem:
*** network-orig.c Thu Jan 8 12:04:21 2009
--- network.c Thu Jan 8 12:06:05 2009
*************** fec_sendpacket(struct ifnet *ifp, struct
*** 548,557 ****
* The IP fragmentation routine in ip_output
* can produce fragments with zero length.
*/
- txBd = sc->txBdBase + sc->txBdHead;
if (m->m_len){
char *p = mtod(m, char *);
int offset = (int) p & 0x3;
if (offset == 0) {
txBd->buffer = p;
txBd->length = m->m_len;
--- 548,557 ----
* The IP fragmentation routine in ip_output
* can produce fragments with zero length.
*/
if (m->m_len){
char *p = mtod(m, char *);
int offset = (int) p & 0x3;
+ txBd = sc->txBdBase + sc->txBdHead;
if (offset == 0) {
txBd->buffer = p;
txBd->length = m->m_len;
Best regards,
Frank Ueberschar
---------------------------------------
DSA-Volgmann
Thomas Volgmann
Redcarstr. 20
53842 Troisdorf
Tel: 02241 23416 16
Fax: 02241 23416 666
email : frank.ueberschar at dsa-volgmann.de
web: www.dsa-volgmann.de
---------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20090108/51543171/attachment.html>
More information about the users
mailing list