lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] Substantial changes in CVS HEAD


From: Leon Woestenberg
Subject: [lwip-users] Substantial changes in CVS HEAD
Date: Wed, 05 May 2004 21:39:09 +0200
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Hello,

CVS HEAD has some code clean-ups:

- ethernetif.c and etharp.c have substantial (API) changes in the packet outgoing path.

It is now transparent to Ethernet network interfaces whether a packet
is queued and later sent by the ARP layer, or directly sent.

This simplifies the Ethernet netif implementation. I have modified all
contrib Ethernet drivers to match this change.

An IP packet would egress as follows:

Old situation:

ethernetif_output()
  etharp_output()
     pbuf_query()
       pbuf_queue()
  low_level_output() if not queued by etharp_output()

New situation:

ethernetif_output()
  etharp_output()
     pbuf_query()
       pbuf_queue()
       netif->low_level_output() if not queued


- All struct pack directives have been removed as we think they are no
longer necessary (see alignment thread in this mailing list). Basically,
all protocol fields are naturally aligned and should not introduce
compiler-added padding fields.

There are PRE_PACK_REMOVE and POST_PACK_REMOVE tags placed around this
change.

TODO: Add LWIP_ASSERT() to verify that the protocol headers are
not compiler-padded.

If something breaks, let us know.

Regards,

Leon.




reply via email to

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