2001-03-07 04:01:48

by David Luyer

[permalink] [raw]
Subject: Incoming TCP TOS: A simple question, I would have thought...


I've scrolled through various code in net/ipv4, and I can't see how to query
the TOS of an incoming TCP stream (or at the least, the TOS of the SYN which
initiated the connection).

Someone has sent in a feature request for squid which would require this,
presumably so they can set the TOS in their routers and have the squid caches
honour the TOS to select performance (via delay pools, multiple parents,
different outgoing IP or similar). However I can't see how to get the TOS for
a TCP socket out of the kernel short of having an open raw socket watching for
SYNs and looking at the TOS on them.

Any pointers?

David.
--
David Luyer Phone: +61 3 9674 7525
Engineering Projects Manager P A C I F I C Fax: +61 3 9699 8693
Pacific Internet (Australia) I N T E R N E T Mobile: +61 4 1111 2983
http://www.pacific.net.au/ NASDAQ: PCNTF



2001-03-07 04:32:12

by Lincoln Dale

[permalink] [raw]
Subject: Re: Incoming TCP TOS: A simple question, I would have thought...

getsockopt(fd, SOL_IP, IP_TOS, ..


cheers,

lincoln.

At 03:00 PM 7/03/2001 +1100, David Luyer wrote:

>I've scrolled through various code in net/ipv4, and I can't see how to query
>the TOS of an incoming TCP stream (or at the least, the TOS of the SYN which
>initiated the connection).
>
>Someone has sent in a feature request for squid which would require this,
>presumably so they can set the TOS in their routers and have the squid caches
>honour the TOS to select performance (via delay pools, multiple parents,
>different outgoing IP or similar). However I can't see how to get the TOS for
>a TCP socket out of the kernel short of having an open raw socket watching for
>SYNs and looking at the TOS on them.
>
>Any pointers?
>
>David.
>--
>David Luyer Phone: +61 3 9674 7525
>Engineering Projects Manager P A C I F I C Fax: +61 3 9699 8693
>Pacific Internet (Australia) I N T E R N E T Mobile: +61 4 1111 2983
>http://www.pacific.net.au/ NASDAQ: PCNTF
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/

2001-03-07 05:06:53

by David Luyer

[permalink] [raw]
Subject: Re: Incoming TCP TOS: A simple question, I would have thought...

> getsockopt(fd, SOL_IP, IP_TOS, ..

Doesn't work. Returns the TOS of outgoing packets, which defaults to 0 even if
there is a TOS set on incoming traffic... that was what I tried in my first
test program.

David.

> cheers,
>
> lincoln.
>
> At 03:00 PM 7/03/2001 +1100, David Luyer wrote:
>
> >I've scrolled through various code in net/ipv4, and I can't see how to query
> >the TOS of an incoming TCP stream (or at the least, the TOS of the SYN which
> >initiated the connection).
> >
> >Someone has sent in a feature request for squid which would require this,
> >presumably so they can set the TOS in their routers and have the squid caches
> >honour the TOS to select performance (via delay pools, multiple parents,
> >different outgoing IP or similar). However I can't see how to get the TOS for
> >a TCP socket out of the kernel short of having an open raw socket watching for
> >SYNs and looking at the TOS on them.
> >
> >Any pointers?
> >
> >David.
--
David Luyer Phone: +61 3 9674 7525
Engineering Projects Manager P A C I F I C Fax: +61 3 9699 8693
Pacific Internet (Australia) I N T E R N E T Mobile: +61 4 1111 2983
http://www.pacific.net.au/ NASDAQ: PCNTF


2001-03-07 20:02:13

by Alexey Kuznetsov

[permalink] [raw]
Subject: Re: Incoming TCP TOS: A simple question, I would have thought...

Hello!

> I've scrolled through various code in net/ipv4, and I can't see how to query
> the TOS of an incoming TCP stream (or at the least, the TOS of the SYN which
> initiated the connection).

No way. Formally it is IP_RECVTOS, followed by IP_PKTOPTIONS.
But getting TOS via IP_PKTOPTIONS is not implemented, only ttl.

Alexey