site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On Jun 7, 2006, at 9:34 AM, jy.cases@mac.com wrote: mbuf_data() gives you access to the start of the data. - mbuf_len() on a mbuf (marked as MBUF_EXT) in a mbuf chain is a valid length ? Vincent _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... I'm writing some NKE UDP filter with packet mangling + packet re- injection, when i have a mbuf (in chain) with flags set to MBUF_PKTHDR i've got an access to data using MTOD(tMbuf, caddr_t), at this point every things works fine but when the mbuf in the chain is marked as MBUF_EXT nothing work at all. - How can have access to packet data ? A packet can be made of several mbuf that are chained. mbuf_len() gives you the length of each mbuf. The linkage to the next mbuf of the chain is given by mbuf_next(). The total length of the packet is given by mbuf_pkthdr_len() of the first mbuf of the chain (the one marked with MBUF_PKTHDR) - when modifying such packets do i need to compute some checksums ? Yes you need to recompute the checksum(s) to compensate for the modification. Depending on what you modify this will be the IP checksum or the UDP checksum or both. This email sent to site_archiver@lists.apple.com
participants (1)
-
Vincent Lubet