netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* querying TOS/DSCP at accept() time?
@ 2009-12-27 14:57 Jeremy Jackson
  2009-12-27 16:05 ` Jeremy Jackson
  0 siblings, 1 reply; 2+ messages in thread
From: Jeremy Jackson @ 2009-12-27 14:57 UTC (permalink / raw)
  To: netdev

I would like to allow clients connecting to webserver to choose TOS/DSCP
value they want in reply packets, based on TOS setting received by
webserver in initial SYN-SYN/ACK-ACK exchange.  Linux samples the TOS
byte of the ACK that moves the state to CONNECTED, presumably to use for
later ECN processing, but I cannot find a way to get this from
userspace.

net/ipv4/tcp_ipv4.c:1645
    TCP_SKB_CB(skb)->flags   = iph->tos;


Am I missing something in getsockopt(TCP_INFO perhaps?) or accept(), or
is this currently not possible?



-- 
Jeremy Jackson
Coplanar Networks
(519)489-4903
http://www.coplanar.net
jerj@coplanar.net


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: querying TOS/DSCP at accept() time?
  2009-12-27 14:57 querying TOS/DSCP at accept() time? Jeremy Jackson
@ 2009-12-27 16:05 ` Jeremy Jackson
  0 siblings, 0 replies; 2+ messages in thread
From: Jeremy Jackson @ 2009-12-27 16:05 UTC (permalink / raw)
  To: netdev

It seems this question was asked before in 2001:

http://www.squid-cache.org/mail-archive/squid-dev/200103/0035.html

http://lkml.indiana.edu/hypermail/linux/kernel/0103.0/1211.html

And apparently Squid developers made a kernel patch

http://zph.bratcheda.org/tos_marking_with_tos_preserving.htm
http://zph.bratcheda.org/

It seems like this is generally useful to a number of applications,
perhaps it should be included in mainstream kernel?

I see there's a structure member added, which will likely be frowned
upon, but perhaps it could be reworked to use the existing TOS byte
captured 

net/ipv4/tcp_ipv4.c:1645
     TCP_SKB_CB(skb)->flags   = iph->tos;

Cheers,

Jeremy

The kernel patch adds 
On Sun, 2009-12-27 at 09:57 -0500, Jeremy Jackson wrote:
> I would like to allow clients connecting to webserver to choose TOS/DSCP
> value they want in reply packets, based on TOS setting received by
> webserver in initial SYN-SYN/ACK-ACK exchange.  Linux samples the TOS
> byte of the ACK that moves the state to CONNECTED, presumably to use for
> later ECN processing, but I cannot find a way to get this from
> userspace.
> 
> net/ipv4/tcp_ipv4.c:1645
>     TCP_SKB_CB(skb)->flags   = iph->tos;
> 
> 
> Am I missing something in getsockopt(TCP_INFO perhaps?) or accept(), or
> is this currently not possible?
> 
> 
> 


-- 
Jeremy Jackson
Coplanar Networks
(519)489-4903
http://www.coplanar.net
jerj@coplanar.net


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-27 16:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-27 14:57 querying TOS/DSCP at accept() time? Jeremy Jackson
2009-12-27 16:05 ` Jeremy Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).