opensubscriber
   Find in this group all groups
 
Unknown more information…

d : darwin-kernel@lists.apple.com 10 January 2006 • 6:23AM -0500

mbuf_outbound_finalize() awkward on intel
by Andrew Gallatin

REPLY TO AUTHOR
 
REPLY TO GROUP





I'm running 8.3.0 on x86 (plain Darwin, not an Intel Mac).
I ported some driver code from ppc, and noticed that
packets where I had called mbuf_outbound_finalize()
resulted in kernel error messages:
cksum: out of data

This is because by the time a packet gets to a driver, the
ip->ip_len ends up in network byte order.  In order to
use mbuf_outbound_finalize() on intel, I needed to byteswap
ip->ip_len.  Eg:

ip = (struct ip *)((char *)mbuf_data(m_head) + ETHER_HDR_LEN);
ip->ip_len = ntohs(ip->ip_len);
mbuf_outbound_finalize(m_head, PF_INET, ETHER_HDR_LEN);
ip->ip_len = htons(ip->ip_len);


This is just a heads up for the next guy who runs into this..

Drew
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list      (Darwin-kernel@list...)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-kernel/subscriber%40opensubscriber.com

This email sent to subscriber@open...

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.