Subject: Re: IP_HDRINCL revisited
To: None <tech-net@netbsd.org, thorpej@nas.nasa.gov>
From: Bill Fenner <fenner@parc.xerox.com>
List: tech-net
Date: 01/21/1999 13:50:07
>	(3) "If it's really a raw IP packet, why isn't it like it will
>	    be when it goes out onto the wire?"

The red daemon book says "The raw IP socket interface attempts to
provide an identical interface to the one a protocol would have if it
were resident in the kernel."  The current raw socket interface is
neither a bug nor an oversight.  (Although I'll concede to "poorly
designed".)

The decision about swapping on input is the thing that always makes me
shy away when I think about whether or not to try changing things.
It's (relatively) easy on output since you can accomplish binary
compatibility e.g. with a versioned IP_HDRINCL option.  However,
there's no parallel for input - there's no way to provide compatibility
for a program that receives raw IP and doesn't set IP_HDRINCL.

  Bill