Date: Tue, 07 Jun 2005 14:29:28 -0700 From: Julian Elischer <julian@elischer.org> To: Charles Swiger <cswiger@mac.com> Cc: Christian Kuhtz <christian@kuhtz.com>, freebsd-net@freebsd.org Subject: Re: divert sock api q Message-ID: <42A611B8.7040102@elischer.org> In-Reply-To: <70FFA13A-E2C1-4CCE-B430-F948EECC1B96@mac.com> References: <mailman.991.1118157499.80553.freebsd-net@freebsd.org> <42A5BCEB.8020109@kuhtz.com> <42A5D5DE.2010407@elischer.org> <70FFA13A-E2C1-4CCE-B430-F948EECC1B96@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Charles Swiger wrote: > On Jun 7, 2005, at 1:14 PM, Julian Elischer wrote: > >>> I apologize for being so exceptionally dense, this is driving me >>> completely up the walls.. >> >> >> if you are receiving the entire IP packet in user space (first byte >> is 0x42 or 0x45 usually) then you need to update teh packet length >> field of the IP packet, as well as changing the number of bytes >> written back. > > > I agree with your suggestion, but how can you have an ip_vhl of > 0x42? Doesn't a valid IP packet need to have a header length of at > least 5 (5 << 2 == 20 bytes)? > huh? the first byte of an IP packet is not the length.. the first byte you see on a packet trace will be the 4 bit version followed by a 4 bit HEADER length, followed by 8 bits of TOS (type of Service) and 16 bits of total packet length. you need to change the 16 bit value.. (it's in big-endian format.. beware)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42A611B8.7040102>