httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: Linux + TCP_CORK + IPv6 = Broken
Date Mon, 02 Dec 2002 19:48:53 GMT
Colm MacCarthaigh <colm.maccarthaigh@heanet.ie> writes:

> Linux (2.4.18 and 2.4.19, for me anyway) with apache versions
> 2.0.40 to 2.0.43 (that I've tested anyways) is broken with
> TCP_CORK and IPv6. Bizarrely v6 requests will work the first
> few times and then start failing, typically you just wont get
> a response from the server. Though strace shows that it did
> try to send one.
> 
> Anyway, disabling TCP_CORK fixes it and it works fine again,
> useful info for anyone running IPv6, because believe me, it
> took me all morning to figure out what the hell was going on.
> 
> Might be worth adding a --disable-tcp-cork option to ./configure
> for convienence :-)

If you have time, can you see if the existing "--disable-sendfile"
configure option gets rid of the bogosity too?  If you're running code
after 2.0.43, you can add "EnableSendfile Off" to your config for
"<Directory />" to get the same effect.  If we know if this does the
trick, at least we have a work-around that doesn't require patches to
Apache or APR.  Presumably --disable-ipv6 isn't a good work-around :)

Perhaps what is needed is

  --disable-ipv6-tcp-cork

to no-op the socket option for IPv6 traffic only, since disabling it
altogether is a performance problem for IPv4.

If we knew what Linux kernels were broken* then this could be handled
automatically at configure time, at least for those people not using
binary builds.

*assuming that it is Linux which is broken :)
-- 
Jeff Trawick | trawick@attglobal.net
Born in Roswell... married an alien...

Mime
View raw message