Re: [ovs-dev] [patch_v6 0/5] Userspace Datapath: Add ALG support.

2017-08-03 Thread Darrell Ball


-Original Message-
From:  on behalf of Ben Pfaff 
Date: Thursday, August 3, 2017 at 9:58 AM
To: Darrell Ball 
Cc: "d...@openvswitch.org" 
Subject: Re: [ovs-dev] [patch_v6 0/5] Userspace Datapath: Add ALG support.

On Sat, Jul 15, 2017 at 12:49:51PM -0700, Darrell Ball wrote:
> ALG infra is added with support for FTP and TFTP.
> Both V4 and V6 are supported.  Also, NAT is supported.

Hi Darrell, would you mind doing a quick rebase and repost to
incorporate the changes you mention for a clean Windows build?  It would
help me out.


sure Ben; let me do that now then.

Thanks Darrell



Thanks,

Ben.
___
dev mailing list
d...@openvswitch.org

https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=IXlLUGsj8Q-IsAclgTAOInZZ6w5LXqSvSqzFXo5GGvY&s=vm4eIF4RmjpRUgjVDlhxnDtX_Muc7D5srUcBc7ZM08c&e=
 


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [patch_v6 0/5] Userspace Datapath: Add ALG support.

2017-08-03 Thread Ben Pfaff
On Sat, Jul 15, 2017 at 12:49:51PM -0700, Darrell Ball wrote:
> ALG infra is added with support for FTP and TFTP.
> Both V4 and V6 are supported.  Also, NAT is supported.

Hi Darrell, would you mind doing a quick rebase and repost to
incorporate the changes you mention for a clean Windows build?  It would
help me out.

Thanks,

Ben.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [patch_v6 0/5] Userspace Datapath: Add ALG support.

2017-07-17 Thread Darrell Ball


On 7/16/17, 11:25 PM, "Ilya Maximets"  wrote:

> ALG infra is added with support for FTP and TFTP.
> Both V4 and V6 are supported.  Also, NAT is supported.
> 
> Three passive ftp system tests are added to complete testing
> coverage of ftp for the userspace datapath, as the existing
> coverage of passive ftp was limited to one part of one test
> for V4 only.
> Another system test is added covering tftp with NAT which
> was not previously exercised.
> 
> v5->v6: Re-instated include inadvertently removed.
> Improve 2 of the new system tests in terms of
> potential races.
> 
> v4->v5: Address Ben's code review comments.
> First 3 patches were committed.
> 
> v3->v4: Fix tftp with NAT.
> Add a system test covering tftp with NAT.
> 
> v2->v3: Fix v4 passive ftp with NAT.
> Fix V6 passive ftp; parse check was broken.
> Add 3 tests covering v4/v6 passive ftp to
> complete ALG coverage in the system tests.
> 
> Code review caught a memory leak of the alg
> string such as "ftp" that could occurs during
> nat tuple exhaustion. This is a pathological
> user error case whose fix was tested by
> instrumentated simulation.
> Code review also pointed out that a connection
> context copy was unclear; this was moved to the
> caller where all allocation and error cleanup is
> done.
> Added several lock annotations that were missing 
> from the original conntrack code and nat code.
> Other review comments were fixed.
> 
> v1->v2:
> Mostly the addition of V6 FTP and TFTP support.
> 
> Removed define for unused FTP server port 20.
> 
> Add overflow checks for port numbers.
> 
> Instead of bypassing FTP bounce exploit with
> auto-correct, explicitly flag packet as invalid.
> 
> Seq number overflow and underflow checks added.
> 
> Darrell Ball (5):
>   Userspace Datapath: Add ALG infra and FTP.
>   Userspace Datapath: Add TFTP support.
>   System tests: Enable ALGs for userspace.
>   System tests: Add 4 new ftp and tftp tests.
>   NEWS: Announce userspace datapath ALG support.

Hi Darrell,

This is not a full review. I just wanted to ask you to rename the patches
and stop using 'Userspace Datapath' or 'System tests' as a module name for
changes localized to only one particular module.

I commented on this already.
The ‘area’ field is fiexible; ‘Area’ does not have to be a file name, although 
it can be.
This is confirmed by the submitting-patches.rst document and related discussion 
with
those who developed the guidelines. 
I am using Userspace Datapath to be consistent with the Linux kernel, which is
using ‘Datapath’ for all datapath changes, including conntrack and also 
Windows, which is using
‘Datapath-Windows’, for all datapath changes, including Conntrack.

On the other hand, I consider conntrack to be not the best choice, although 
others are free to use it.
The reason is ‘conntrack’ is ambiguous; there is a kernel file with the exact 
same name,
conntrack.c and a windows file named Conntrack.c.

I already raised this issue for 'dpdk' prefix previously here:

https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DJuly_335139.html&d=DwICaQ&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=k-1rcsJmn7U9n0rvB0yCMWjS3FiNfG52fiCwj3VQF3E&s=p2L3sQwNXBllmKqJ44iynpfpAsQEGsexTJ_N6-GhuE4&e=
 

I mentioned to Sugesh that module naming is flexible and he is free to choose a 
reasonable name for individual patches per submitting-patches.rst

So, about current patch-set:
The first two patches are localized to lib/conntrack* files and should
have 'conntrack' prefix as a module name. 3rd and 4th patches should have
'system-userspace-macros' and 'system-traffic' module names respectively.

Same answer as above.
The ‘Area’ name in the past for these test files has used ‘Tests’, 
‘System-Tests’,
‘System-Macros’ and ‘System-Traffic’ and some others.
I prefer ‘System-Tests’ as ‘Tests’ is too general IMO and ‘System-Tests’ 
correctly identifies an
‘Area of the code’ with a common infra and theme, spread out over a few files.
However, I cannot enforce the ‘System-Tests’ area name.

Such names will be more accurate and conformed to existing commits and
contribution guide.

Best regards, Ilya Maximets.

> 
>  NEWS |1 +
>  include/sparse/netinet/in.h  |1 +
>  lib/conntrack-private.h  |   35 +-
>  lib/conntrack.c  | 1088 
+++---
>  lib/conntrack.h  |   10 +-
>  

Re: [ovs-dev] [patch_v6 0/5] Userspace Datapath: Add ALG support.

2017-07-16 Thread Ilya Maximets
> ALG infra is added with support for FTP and TFTP.
> Both V4 and V6 are supported.  Also, NAT is supported.
> 
> Three passive ftp system tests are added to complete testing
> coverage of ftp for the userspace datapath, as the existing
> coverage of passive ftp was limited to one part of one test
> for V4 only.
> Another system test is added covering tftp with NAT which
> was not previously exercised.
> 
> v5->v6: Re-instated include inadvertently removed.
> Improve 2 of the new system tests in terms of
> potential races.
> 
> v4->v5: Address Ben's code review comments.
> First 3 patches were committed.
> 
> v3->v4: Fix tftp with NAT.
> Add a system test covering tftp with NAT.
> 
> v2->v3: Fix v4 passive ftp with NAT.
> Fix V6 passive ftp; parse check was broken.
> Add 3 tests covering v4/v6 passive ftp to
> complete ALG coverage in the system tests.
> 
> Code review caught a memory leak of the alg
> string such as "ftp" that could occurs during
> nat tuple exhaustion. This is a pathological
> user error case whose fix was tested by
> instrumentated simulation.
> Code review also pointed out that a connection
> context copy was unclear; this was moved to the
> caller where all allocation and error cleanup is
> done.
> Added several lock annotations that were missing 
> from the original conntrack code and nat code.
> Other review comments were fixed.
> 
> v1->v2:
> Mostly the addition of V6 FTP and TFTP support.
> 
> Removed define for unused FTP server port 20.
> 
> Add overflow checks for port numbers.
> 
> Instead of bypassing FTP bounce exploit with
> auto-correct, explicitly flag packet as invalid.
> 
> Seq number overflow and underflow checks added.
> 
> Darrell Ball (5):
>   Userspace Datapath: Add ALG infra and FTP.
>   Userspace Datapath: Add TFTP support.
>   System tests: Enable ALGs for userspace.
>   System tests: Add 4 new ftp and tftp tests.
>   NEWS: Announce userspace datapath ALG support.

Hi Darrell,

This is not a full review. I just wanted to ask you to rename the patches
and stop using 'Userspace Datapath' or 'System tests' as a module name for
changes localized to only one particular module.

I already raised this issue for 'dpdk' prefix previously here:
https://mail.openvswitch.org/pipermail/ovs-dev/2017-July/335139.html

So, about current patch-set:
The first two patches are localized to lib/conntrack* files and should
have 'conntrack' prefix as a module name. 3rd and 4th patches should have
'system-userspace-macros' and 'system-traffic' module names respectively.
Such names will be more accurate and conformed to existing commits and
contribution guide.

Best regards, Ilya Maximets.

> 
>  NEWS |1 +
>  include/sparse/netinet/in.h  |1 +
>  lib/conntrack-private.h  |   35 +-
>  lib/conntrack.c  | 1088 
> +++---
>  lib/conntrack.h  |   10 +-
>  tests/system-traffic.at  |  242 +
>  tests/system-userspace-macros.at |7 +-
>  7 files changed, 1306 insertions(+), 78 deletions(-)

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev