Thank you for all your help.

The de-nat with dual-flow isolation works great.  I tested it simultaneously with two separate virtual machines, one running a Flent 50 flows download test and the other running a Flent 8 flows download test.  Throughput was even between the machines, and the latency was great.

Noah Causin


On 9/27/2016 11:28 AM, Kevin Darbyshire-Bryant wrote:
LEDE already has a patch included in the basefiles 'iproute2' package to make tc cake aware.  If you replace package/network/utils/iproute2/patches/950-add-cake-to-tc.patch (which is unaware of the nat options) with the attached nat option aware version then recompile, you should find you've a 'natted cake' capable version of the iproute utilities without adding extra packages, feeds etc.

I've not yet got around to adding a 'de-nat ipv6' option, so assuming you've built my latest version of cake, it can be configured to de-nat ipv4 but not ipv6.

Similarly I've not updated the LEDE stuff as I'd rather like some code review/testing done before it gets pushed out....and I get shouted at lots :-)

Kevin


On 27/09/16 15:52, Noah Causin wrote:
Thank you for helping me get cake to compile on LEDE.

The issue I have now is getting tc-adv to compile.

I use this MakeFile:
https://github.com/antoinedeschenes/openwrt-sqm/tree/master/net/tc-adv

I use these commands to compile it:

make package/feeds/sqm/tc-adv/clean -j 1 V=s
make package/feeds/sqm/tc-adv/prepare
USE_SOURCE_DIR=/home/n0man/Desktop/denat/ -j 1 V=s
make package/feeds/sqm/tc-adv/compile -j 1 V=s

These are the errors I get:

*namespace.c: In function 'bind_etc':**
**namespace.c:18:22: error: 'MAXPATHLEN' undeclared (first use in this
function)**
**  char etc_netns_path[MAXPATHLEN];**
**                      ^**
**namespace.c:18:22: note: each undeclared identifier is reported only
once for each function it appears in**
**namespace.c:20:7: warning: unused variable 'etc_name'
[-Wunused-variable]**
**  char etc_name[MAXPATHLEN];**
**       ^**
**namespace.c:19:7: warning: unused variable 'netns_name'
[-Wunused-variable]**
**  char netns_name[MAXPATHLEN];**
**       ^**
**namespace.c:18:7: warning: unused variable 'etc_netns_path'
[-Wunused-variable]**
**  char etc_netns_path[MAXPATHLEN];**
**       ^**
**namespace.c: In function 'netns_switch':**
**namespace.c:46:16: error: 'MAXPATHLEN' undeclared (first use in this
function)**
**  char net_path[MAXPATHLEN];**
**                ^**
**namespace.c:46:7: warning: unused variable 'net_path'
[-Wunused-variable]**
**  char net_path[MAXPATHLEN];**
**       ^**
**namespace.c: In function 'netns_get_fd':**
**namespace.c:90:15: error: 'MAXPATHLEN' undeclared (first use in this
function)**
**  char pathbuf[MAXPATHLEN];**
**               ^**
**namespace.c:90:7: warning: unused variable 'pathbuf' [-Wunused-variable]**
**  char pathbuf[MAXPATHLEN];**
**       ^**
**<builtin>: recipe for target 'namespace.o' failed**
**make[4]: *** [namespace.o] Error 1**
**make[4]: Leaving directory '/home/n0man/Desktop/denat/lib'*

Any help would be appreciated.

Thank you,

Noah Causin

On 9/26/2016 10:32 PM, Kevin Darbyshire-Bryant wrote:
Easy fix.  See the added DEPENDS line in the attached patch for the
package Makefile :-)

I'm guessing you've updated the git checkout hash to point at a
suitable place.

Cheers,

Kevin



On 27/09/16 02:52, Noah Causin wrote:
I've been trying to compile this on LEDE, but I get this error:

Package kmod-sched-cake is missing dependencies for the following
libraries:
nf_conntrack.ko




_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake



_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake



_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake