----- Original Message -----
> From: "Joe Stringer" <j...@ovn.org>
> To: "Lance Richardson" <lrich...@redhat.com>
> Cc: "ovs dev" <dev@openvswitch.org>
> Sent: Tuesday, May 31, 2016 8:29:44 PM
> Subject: Re: [ovs-dev] conntrack - FTP test case failure
> 
> On 31 May 2016 at 15:54, Lance Richardson <lrich...@redhat.com> wrote:
> > With a recent kernel (4.6-ish) and current OVS master, I'm seeing failures
> > in several system-traffic.at test cases under "make check-kernel".
> >
> > For the "conntrack - FTP" test failure, all seems to be well up to the
> > last test case, which is a passive FTP request with flows2.txt policy
> > installed.
> >
> > The test case is expecting the output of "ovs-appctl dpctl/dump-conntrack"
> > to include two entries matching:
> >
> > tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=TIME_WAIT)
> > tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=TIME_WAIT),helper=ftp
> >
> > But it is finding:
> >
> > tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=34148,dport=21),reply=(src=10.1.1.2,dst=10.1.1.1,sport=21,dport=34148),protoinfo=(state=TIME_WAIT),helper=ftp
> > tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=38742,dport=39537),reply=(src=10.1.1.2,dst=10.1.1.1,sport=39537,dport=38742),protoinfo=(state=TIME_WAIT),helper=ftp
> >
> > So the test case is expecting only one of the two entries to have
> > "helper=ftp" attached, but is finding that both have "helper=ftp".
> >
> > Should both the control and data connections have "helper=ftp"
> > in the passive FTP case? It seems plausible to me (based on very
> > limited experience with ovs+conntrack) that they should since both
> > are initiated on port 1 and the installed rules don't seem to care
> > about TCP ports:
> >
> > priority=1,action=drop
> > priority=10,arp,action=normal
> > priority=10,icmp,action=normal
> > priority=100,in_port=1,tcp,ct_state=-trk,action=ct(table=0)
> > priority=100,in_port=1,tcp,ct_state=+trk+new,action=ct(commit,alg=ftp),2
> > priority=100,in_port=1,tcp,ct_state=+trk+est,action=2
> > priority=100,in_port=2,tcp,ct_state=-trk,action=ct(table=0)
> > priority=100,in_port=2,tcp,ct_state=+trk+new+rel,action=ct(commit),1
> > priority=100,in_port=2,tcp,ct_state=+trk+est,action=1
> > priority=100,in_port=2,tcp,ct_state=+trk-new+rel,action=1
> 
> Hi Lance,
> 
> Can you tell me if you have commit 16ec3d4fbb96 ("openvswitch: Fix
> cached ct with helper.") in your Linux tree? This fixes a bug, which
> also causes this test to fail. The test actually looks for the buggy
> behaviour, and it should be updated.
> 

I do have 16ec3d4fbb96 (looking closer, my "4.6-ish" kernel is
actually a net-next kernel pulled on May 20).

> Strictly speaking the flow table as above should attach the "FTP" ALG
> to both the control and data connections for the FTP session, however
> due to the above bug this was not guaranteed to occur. When the data
> connection goes through the datapath and flows are already created,
> the initial ct() will create a conntrack entry, then the
> ct(commit,alg=ftp) would fail to attach the FTP alg, leading to one of
> the connections not reporting that it's attached.
> 
> We haven't backported this fix quite yet, but we should do that soon,
> and update the tests.
> 
> For reference, I'm trying a kernel with the above commit and I'm
> getting similar sorts of failures for the following tests:
> 
> conntrack - FTP
> conntrack - FTP with multiple expectations
> 

Yes, I'm seeing those fail as well.

Makes sense, thanks for the explanation!

Regards,

   Lance

> Cheers,
> Joe
> 
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to