Subject: Re: raw sockets ignore IP_HDRINCL data

From: Mick McCreath <[email-masked]>
Date: Mon, 04 Jun 2007 08:52:07 +1000

Hi Herbet,

Thanks for the feedback.

On Sat, 2007-06-02 at 21:07 +1000, Herbert Xu wrote:
> Mick McCreath <[email-masked]> wrote:
> > 
> > When I run traceroute -i eth1 5.4.3.2, the UDP packets are routed out
> > eth2.
> > 
> > Has anybody seen this behaviour with traceroute??
> 
> Well the version of traceroute here actually does a BINDTODEVICE so it
> will go out of the right interface.  It also binds the socket so that
> it gets the right source address.
> 

Which traceroute are you using??

I am using version 1.4a12 by Van Jacobson downloaded from Lawrence
Berkeley Labs.

In this one, it only binds if IP_HDRINCL is not defined (in a #ifndef).

> I can see your point of view that it would be nice if the kernel read
> the IP headers in making its routing decision.  However, the current
> behaviour has been there forever and it's unclear what we might break
> by changing it.

I sort of thought that might be the case :-)

Cheers,

-- 
--
Mick McCreath
Sr Engineer

Secure Computing®
your trusted source for enterprise security™
www.securecomputing.com
NASDAQ: SCUR

61 7 3435 2803 (Direct Phone)
[email-masked]

Secure Computing Corporation
825 Stanley Street
Woolloongabba
Queensland 4102
Australia

The information contained in this email message may be privileged,
confidential and protected from disclosure. If you are not the intended
recipient, any review, dissemination, distribution or copying is
strictly prohibited. If you have received this email message in error,
please notify the sender by reply email and delete the message and any
attachments.