* ip_conntrack fails to track Windows Vista TCP connection
@ 2010-06-14 15:25 Fischer, Anna
2010-06-14 16:15 ` Patrick McHardy
0 siblings, 1 reply; 11+ messages in thread
From: Fischer, Anna @ 2010-06-14 15:25 UTC (permalink / raw)
To: netfilter-devel@vger.kernel.org
I am trying to track (and NAT) a TCP connection to a Windows Vista machine using ip_conntrack. However, Vista uses the Nagle algorithm combined with the TCP Delayed ACK mechanism which does not ACK every single packet, and it seems as if the connection tracking module has problems with this. Basically it fails to recognize Delayed ACK packets, and as these are not picked up by the connection tracking module, my NAT function does not work and so packets are not delivered properly because they are not rewritten by ip_nat. I am certain that the problem is the Vista TCP stack and its mechanisms as when I configure my Windows Vista machine with Nagle = off and TCPNODelay = 1, then actually connection tracking works fine. Also, all connections with Linux machines are tracked properly.
Is this a known issue?
Thanks,
Anna
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 15:25 ip_conntrack fails to track Windows Vista TCP connection Fischer, Anna
@ 2010-06-14 16:15 ` Patrick McHardy
2010-06-14 16:34 ` Jan Engelhardt
0 siblings, 1 reply; 11+ messages in thread
From: Patrick McHardy @ 2010-06-14 16:15 UTC (permalink / raw)
To: Fischer, Anna; +Cc: netfilter-devel@vger.kernel.org
Fischer, Anna wrote:
> I am trying to track (and NAT) a TCP connection to a Windows Vista machine using ip_conntrack. However, Vista uses the Nagle algorithm combined with the TCP Delayed ACK mechanism which does not ACK every single packet, and it seems as if the connection tracking module has problems with this. Basically it fails to recognize Delayed ACK packets, and as these are not picked up by the connection tracking module, my NAT function does not work and so packets are not delivered properly because they are not rewritten by ip_nat. I am certain that the problem is the Vista TCP stack and its mechanisms as when I configure my Windows Vista machine with Nagle = off and TCPNODelay = 1, then actually connection tracking works fine. Also, all connections with Linux machines are tracked properly.
>
> Is this a known issue?
You're mentioning ip_conntrack, which is obsoleted for multiple
years now. Which kernel version are you using?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 16:15 ` Patrick McHardy
@ 2010-06-14 16:34 ` Jan Engelhardt
2010-06-14 17:34 ` Fischer, Anna
0 siblings, 1 reply; 11+ messages in thread
From: Jan Engelhardt @ 2010-06-14 16:34 UTC (permalink / raw)
To: Patrick McHardy; +Cc: Fischer, Anna, netfilter-devel@vger.kernel.org
On Monday 2010-06-14 18:15, Patrick McHardy wrote:
> Fischer, Anna wrote:
>> I am trying to track (and NAT) a TCP connection to a Windows Vista machine
>> using ip_conntrack. However, Vista uses the Nagle algorithm combined with the
>> TCP Delayed ACK mechanism which does not ACK every single packet, and it seems
>> as if the connection tracking module has problems with this. Basically it
>> fails to recognize Delayed ACK packets, and as these are not picked up by the
>> connection tracking module, my NAT function does not work and so packets are
>> not delivered properly because they are not rewritten by ip_nat. I am certain
>> that the problem is the Vista TCP stack and its mechanisms as when I configure
>> my Windows Vista machine with Nagle = off and TCPNODelay = 1, then actually
>> connection tracking works fine. Also, all connections with Linux machines are
>> tracked properly.
>>
>> Is this a known issue?
>
> You're mentioning ip_conntrack, which is obsoleted for multiple
> years now. Which kernel version are you using?
By definition of ip_conntrack, that must be older than 2.6.20.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 16:34 ` Jan Engelhardt
@ 2010-06-14 17:34 ` Fischer, Anna
2010-06-14 17:43 ` Jan Engelhardt
2010-06-15 2:23 ` Patrick McHardy
0 siblings, 2 replies; 11+ messages in thread
From: Fischer, Anna @ 2010-06-14 17:34 UTC (permalink / raw)
To: Jan Engelhardt, Patrick McHardy; +Cc: netfilter-devel@vger.kernel.org
> Subject: Re: ip_conntrack fails to track Windows Vista TCP connection
>
> On Monday 2010-06-14 18:15, Patrick McHardy wrote:
>
> > Fischer, Anna wrote:
> >> I am trying to track (and NAT) a TCP connection to a Windows Vista
> machine
> >> using ip_conntrack. However, Vista uses the Nagle algorithm combined
> with the
> >> TCP Delayed ACK mechanism which does not ACK every single packet, and
> it seems
> >> as if the connection tracking module has problems with this.
> Basically it
> >> fails to recognize Delayed ACK packets, and as these are not picked
> up by the
> >> connection tracking module, my NAT function does not work and so
> packets are
> >> not delivered properly because they are not rewritten by ip_nat. I am
> certain
> >> that the problem is the Vista TCP stack and its mechanisms as when I
> configure
> >> my Windows Vista machine with Nagle = off and TCPNODelay = 1, then
> actually
> >> connection tracking works fine. Also, all connections with Linux
> machines are
> >> tracked properly.
> >>
> >> Is this a known issue?
> >
> > You're mentioning ip_conntrack, which is obsoleted for multiple
> > years now. Which kernel version are you using?
>
> By definition of ip_conntrack, that must be older than 2.6.20.
Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is obsolete, can you let me know if you are aware of such a problem ever having caused any issues? I just want to get a feeling if I am at least roughly on the right track while figuring out what the problem is.
Thanks,
Anna
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 17:34 ` Fischer, Anna
@ 2010-06-14 17:43 ` Jan Engelhardt
2010-06-14 18:09 ` Fischer, Anna
2010-06-15 2:23 ` Patrick McHardy
1 sibling, 1 reply; 11+ messages in thread
From: Jan Engelhardt @ 2010-06-14 17:43 UTC (permalink / raw)
To: Fischer, Anna; +Cc: Patrick McHardy, netfilter-devel@vger.kernel.org
On Monday 2010-06-14 19:34, Fischer, Anna wrote:
>>>> [something about Vista and TCP Delayed ACK]
>>>>
>>>> Is this a known issue?
>>>
>>> You're mentioning ip_conntrack, which is obsoleted for multiple
>>> years now. Which kernel version are you using?
>>
>> By definition of ip_conntrack, that must be older than 2.6.20.
>
>Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is obsolete, can you let me know if you are aware of such a problem ever having caused any issues? I just want to get a feeling if I am at least roughly on the right track while figuring out what the problem is.
The 2.6.18 has a known problem with DSACK even when both
endpoints are Linux.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 17:43 ` Jan Engelhardt
@ 2010-06-14 18:09 ` Fischer, Anna
2010-06-14 20:07 ` Narendra Choyal
0 siblings, 1 reply; 11+ messages in thread
From: Fischer, Anna @ 2010-06-14 18:09 UTC (permalink / raw)
To: Jan Engelhardt; +Cc: Patrick McHardy, netfilter-devel@vger.kernel.org
> Subject: RE: ip_conntrack fails to track Windows Vista TCP connection
>
>
> On Monday 2010-06-14 19:34, Fischer, Anna wrote:
>
> >>>> [something about Vista and TCP Delayed ACK]
> >>>>
> >>>> Is this a known issue?
> >>>
> >>> You're mentioning ip_conntrack, which is obsoleted for multiple
> >>> years now. Which kernel version are you using?
> >>
> >> By definition of ip_conntrack, that must be older than 2.6.20.
> >
> >Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is
> obsolete, can you let me know if you are aware of such a problem ever
> having caused any issues? I just want to get a feeling if I am at least
> roughly on the right track while figuring out what the problem is.
>
> The 2.6.18 has a known problem with DSACK even when both
> endpoints are Linux.
My problem is really very specific to connection tracking and so the problem (bug?) is probably in the ip_conntrack_tcp module. TCP communication actually works fine, also connection tracking on (slow, non-bulk data) TCP traffic works. However, it fails with high throughput connections coming from newer Windows (Vista / 7) machines. If I switch those to TCP_NODELAY then it all works again.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 18:09 ` Fischer, Anna
@ 2010-06-14 20:07 ` Narendra Choyal
0 siblings, 0 replies; 11+ messages in thread
From: Narendra Choyal @ 2010-06-14 20:07 UTC (permalink / raw)
To: Fischer, Anna
Cc: Jan Engelhardt, Patrick McHardy, netfilter-devel@vger.kernel.org
How can we make following changes as --
Nagle = off and TCPNODelay = 1
On Mon, Jun 14, 2010 at 11:39 PM, Fischer, Anna <anna.fischer@hp.com> wrote:
>> Subject: RE: ip_conntrack fails to track Windows Vista TCP connection
>>
>>
>> On Monday 2010-06-14 19:34, Fischer, Anna wrote:
>>
>> >>>> [something about Vista and TCP Delayed ACK]
>> >>>>
>> >>>> Is this a known issue?
>> >>>
>> >>> You're mentioning ip_conntrack, which is obsoleted for multiple
>> >>> years now. Which kernel version are you using?
>> >>
>> >> By definition of ip_conntrack, that must be older than 2.6.20.
>> >
>> >Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is
>> obsolete, can you let me know if you are aware of such a problem ever
>> having caused any issues? I just want to get a feeling if I am at least
>> roughly on the right track while figuring out what the problem is.
>>
>> The 2.6.18 has a known problem with DSACK even when both
>> endpoints are Linux.
>
> My problem is really very specific to connection tracking and so the problem (bug?) is probably in the ip_conntrack_tcp module. TCP communication actually works fine, also connection tracking on (slow, non-bulk data) TCP traffic works. However, it fails with high throughput connections coming from newer Windows (Vista / 7) machines. If I switch those to TCP_NODELAY then it all works again.
> --
> To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-14 17:34 ` Fischer, Anna
2010-06-14 17:43 ` Jan Engelhardt
@ 2010-06-15 2:23 ` Patrick McHardy
2010-06-15 16:15 ` Fischer, Anna
1 sibling, 1 reply; 11+ messages in thread
From: Patrick McHardy @ 2010-06-15 2:23 UTC (permalink / raw)
To: Fischer, Anna; +Cc: Jan Engelhardt, netfilter-devel@vger.kernel.org
Fischer, Anna wrote:
>>> You're mentioning ip_conntrack, which is obsoleted for multiple
>>> years now. Which kernel version are you using?
>>>
>> By definition of ip_conntrack, that must be older than 2.6.20.
>>
>
> Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is obsolete, can you let me know if you are aware of such a problem ever having caused any issues? I just want to get a feeling if I am at least roughly on the right track while figuring out what the problem is.
>
We've had a couple of problems related to related to
acknowledgement numbers in TCP conntrack, I'd suggest
you check the nf_conntrack_proto_tcp.c changelogs,
basically everything in there should also apply to
the old version.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: ip_conntrack fails to track Windows Vista TCP connection
2010-06-15 2:23 ` Patrick McHardy
@ 2010-06-15 16:15 ` Fischer, Anna
2010-06-15 16:20 ` Patrick McHardy
0 siblings, 1 reply; 11+ messages in thread
From: Fischer, Anna @ 2010-06-15 16:15 UTC (permalink / raw)
To: Patrick McHardy; +Cc: Jan Engelhardt, netfilter-devel@vger.kernel.org
> Subject: Re: ip_conntrack fails to track Windows Vista TCP connection
>
> Fischer, Anna wrote:
> >>> You're mentioning ip_conntrack, which is obsoleted for multiple
> >>> years now. Which kernel version are you using?
> >>>
> >> By definition of ip_conntrack, that must be older than 2.6.20.
> >>
> >
> > Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is
> obsolete, can you let me know if you are aware of such a problem ever
> having caused any issues? I just want to get a feeling if I am at least
> roughly on the right track while figuring out what the problem is.
> >
>
> We've had a couple of problems related to related to
> acknowledgement numbers in TCP conntrack, I'd suggest
> you check the nf_conntrack_proto_tcp.c changelogs,
> basically everything in there should also apply to
> the old version.
Thanks for your advice. Why would the problem be in nf_conntrack_proto_tcp and not in ip_conntrack_proto_tcp?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-15 16:15 ` Fischer, Anna
@ 2010-06-15 16:20 ` Patrick McHardy
2010-06-15 16:20 ` Patrick McHardy
0 siblings, 1 reply; 11+ messages in thread
From: Patrick McHardy @ 2010-06-15 16:20 UTC (permalink / raw)
To: Fischer, Anna; +Cc: Jan Engelhardt, netfilter-devel@vger.kernel.org
Fischer, Anna wrote:
>> Subject: Re: ip_conntrack fails to track Windows Vista TCP connection
>>
>> Fischer, Anna wrote:
>>
>>>>> You're mentioning ip_conntrack, which is obsoleted for multiple
>>>>> years now. Which kernel version are you using?
>>>>>
>>>>>
>>>> By definition of ip_conntrack, that must be older than 2.6.20.
>>>>
>>>>
>>> Yes, this is a 2.6.18 Xen kernel that I am using. Even if it is
>>>
>> obsolete, can you let me know if you are aware of such a problem ever
>> having caused any issues? I just want to get a feeling if I am at least
>> roughly on the right track while figuring out what the problem is.
>>
>> We've had a couple of problems related to related to
>> acknowledgement numbers in TCP conntrack, I'd suggest
>> you check the nf_conntrack_proto_tcp.c changelogs,
>> basically everything in there should also apply to
>> the old version.
>>
>
> Thanks for your advice. Why would the problem be in nf_conntrack_proto_tcp and not in ip_conntrack_proto_tcp?
>
Its not of course, but nf_conntrack_proto_tcp is derived from
ip_conntrack_proto_tcp,
all the bugfixes also apply to ip_conntrack_proto_tcp.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ip_conntrack fails to track Windows Vista TCP connection
2010-06-15 16:20 ` Patrick McHardy
@ 2010-06-15 16:20 ` Patrick McHardy
0 siblings, 0 replies; 11+ messages in thread
From: Patrick McHardy @ 2010-06-15 16:20 UTC (permalink / raw)
To: Fischer, Anna; +Cc: Jan Engelhardt, netfilter-devel@vger.kernel.org
Patrick McHardy wrote:
> Fischer, Anna wrote:
>>>
>>> We've had a couple of problems related to related to
>>> acknowledgement numbers in TCP conntrack, I'd suggest
>>> you check the nf_conntrack_proto_tcp.c changelogs,
>>> basically everything in there should also apply to
>>> the old version.
>>>
>>
>> Thanks for your advice. Why would the problem be in
>> nf_conntrack_proto_tcp and not in ip_conntrack_proto_tcp?
>>
>
> Its not of course, but nf_conntrack_proto_tcp is derived from
> ip_conntrack_proto_tcp,
> all the bugfixes also apply to ip_conntrack_proto_tcp.
By which I mean all the bugfixes contained in the current kernel.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2010-06-15 16:20 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-14 15:25 ip_conntrack fails to track Windows Vista TCP connection Fischer, Anna
2010-06-14 16:15 ` Patrick McHardy
2010-06-14 16:34 ` Jan Engelhardt
2010-06-14 17:34 ` Fischer, Anna
2010-06-14 17:43 ` Jan Engelhardt
2010-06-14 18:09 ` Fischer, Anna
2010-06-14 20:07 ` Narendra Choyal
2010-06-15 2:23 ` Patrick McHardy
2010-06-15 16:15 ` Fischer, Anna
2010-06-15 16:20 ` Patrick McHardy
2010-06-15 16:20 ` Patrick McHardy
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).