From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40069.outbound.protection.outlook.com [40.107.4.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 290723B260 for ; Tue, 27 Sep 2016 23:33:37 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=darbyshire-bryant.me.uk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=rORCJrxusIuQm+XsTjLwRkj5DfDUtRniQEOuF8HJQj4=; b=lwoRUA8yj/yhEXnJbb2e9FLYez9CbzsJZV3b+jRFErHg32q6A7SlwgE64MhJ3p0CHmTzAaolXj6mYEclPeWFg59v+RsryA2RWi8mrlHy+7eToOeX5AkBAsGvhd6iWr1xMZlmSHpw6N0BqxCj1UyAC8ebl0M/ZdQqrQ9GbVkzzfc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from [10.102.24.2] (109.159.227.69) by AMSPR07MB114.eurprd07.prod.outlook.com (10.242.81.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.639.5; Wed, 28 Sep 2016 03:33:35 +0000 To: Jonathan Morton References: <3a99770e-6350-471f-72b6-b209d7d77d75@darbyshire-bryant.me.uk> <8425FD26-5C1F-42B5-9087-01D81E1ED7F5@gmail.com> <3c28ec73-36e7-dfed-fad8-1a694d4ceeca@darbyshire-bryant.me.uk> <8555AC94-885C-41C1-BE12-40C3C3E96810@gmail.com> CC: From: Kevin Darbyshire-Bryant Message-ID: Date: Wed, 28 Sep 2016 04:33:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <8555AC94-885C-41C1-BE12-40C3C3E96810@gmail.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [109.159.227.69] X-ClientProxiedBy: HE1PR06CA0048.eurprd06.prod.outlook.com (10.164.28.144) To AMSPR07MB114.eurprd07.prod.outlook.com (10.242.81.142) X-MS-Office365-Filtering-Correlation-Id: 4190292a-b575-438b-8380-08d3e7503aa1 X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB114; 2:QTUSG5A7roEQIFAdLuCmN7mBk/0ljB2gOt5FaIgTJaYhp36qDIZzs33+cg23Y6vLlOYzkAJgMLwpmlBBdiDTrweZpBmS4ABY9rgm18Og+oVSPOhhoOeLtm2KB7N72Vgzyx7uQVhEIuOMzU9ytg+x6mTxIbGc045kei2veNXjGOEHsgB+1v+Z2j4fRe5FDZUs; 3:II5o7nfk4Vcu3kOYUOVNJ/ZQCX9F+pg+bnu+XH4TpBrHoC+K5Psei2vEPuvs1J6uEuTiTv8AtM5ELNFXMmMTTcmKgPILUI+98c1jZ5e7ARFVUhwqsT98w3FJ/9Xf39ku; 25:rGgF/PUImCm9/+EC3JX4MuHNOXzBaIISFhbjtMgyqaa10Oeq00dRCWUGc/OrIOdYK/3fl+5R5ITqvokaPQJl/JMqSDUHw6LZu3QzJlYcHFqh9n9xl8L2dTimrSTI85wxWR8h6uyfAN1XlW96DjY05EXbNV551PYvV3cXB5CfM68sHTKY+EAWjISVfqLMKqQ6lbfrP3IdXvzGUFmUpLUvpU+/K126PEiHO9xWdUELSAOq4/kt7xTPglqQsTA4C0OFDC2WsOtgwblpMVLEjZGDSoTYOXEJqmO8LvZnH6NOGHASv/yekZFSLDqZvSeoKHjhHmnOH4zPLNtMgKNm1gZIBNn1uQAdRsvACL3S/w5XuOzu1j2M32eULsGxjFJCQEtgDCmqgLp36iEpDyIy8Pgu5/N6JM3B3wTpcGUXUMfWPtQ= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AMSPR07MB114; X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB114; 31:zEFoAzcLGb3kf9T+4guqTr1joHc00ZZUmEF0S8BVuHZdL9ZUTEjIKrSa+gydzfGKC0dVwfIxAZgppjDWJSEOMY7I1kLJ14Y0AWIpCj/Nv2zPidIzkyoKZa7i+vQ50UHj+tI8MNsL87iHWMnIG9F82bRgw5qzOvhfKCvr+AZEo4pb0WCXI3rQuOqm6b/3oSbA4Z7xtAOKgsg2JLTZjMg7cjpa2OM3ndMbnphtc95D7dQ=; 4:vxbSeD8kGh8zjE7XRTS7kwU2TQigL5HdFlK4GItte5HhKrhG7EmpdA6npfOVhO1KkaGoJtATcyBQ1+QZYzEQ3lVw1L81aoD8CgCRxzIPWfb/mUDdjoHIKavVnRyTs0/MbksU7Llt9vw6vnM3gJMGVhN6eXHz/6OKZKnXqYpiOzpBLFo8lh/idgiQ3pHAbtXnWxE/64+uzVhGgHByRzzhH/40uqpMPR63M0SqQwHqZHy1cchAl5123YSDH5OOge1ktfuTOQmw7eUwhUlolkG6K1BPRoY4QvTXYrqroOC+mZuFlNCUXrd6IIsiOLnH5eeRhJpgwGQho5d9tLQ9I0SfjxOuOHii3iDyY+x/gAKrQLYKs6e2oAoGOrTJuS/mO5cy2n6qIz0ZK0qy8qZQF1qDs4axK61GZ5elXHWaxj+9dWo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6043046)(6042046); SRVR:AMSPR07MB114; BCL:0; PCL:0; RULEID:; SRVR:AMSPR07MB114; X-Forefront-PRVS: 0079056367 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(24454002)(189002)(199003)(31696002)(31686004)(106356001)(105586002)(68736007)(189998001)(19580405001)(19580395003)(4326007)(3846002)(2906002)(6116002)(83506001)(1411001)(47776003)(92566002)(586003)(66066001)(65806001)(65956001)(76176999)(54356999)(5660300001)(65826007)(2870700001)(110136003)(93886004)(50986999)(42186005)(64126003)(86362001)(36756003)(33646002)(101416001)(81156014)(4001350100001)(7736002)(97736004)(81166006)(7846002)(305945005)(77096005)(8676002)(2950100002)(23676002)(42882006)(6916009)(74482002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR07MB114; H:[10.102.24.2]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUIxMTQ7MjM6TmovUllBRjlLbUxZWW5JM3Y2SndtaEREZ0R2?= =?utf-8?B?aldhUDB5U0hTUnZrcjNxVkhXRWJuOFhMc3dZQzIyYTlRczR3dFlmd3dXeW5q?= =?utf-8?B?LzhvMlNta014bWg5QkR0WnRsWm1HclB4cFFHbFhJMi9tOVZvdHFlWkpTQ3Nk?= =?utf-8?B?a3hvUFBtK01RYks3RHlzeTZPM3BIUnNQUmtNZWRWYTBCRGU5VDM4MUFTVjBO?= =?utf-8?B?ZkVvVEV1V2tKUDVHeUtQdEp6Q2dmbm83Y0ZkR2x3cFExR0ErdUJpSnByTlJl?= =?utf-8?B?bHdrbnloTnNrcWNnS1NIMUQ4K1pIaGxIaVpDcmdnRkczc09sK0wrb09USldJ?= =?utf-8?B?T3crWHRld2hlMDBHaDZ3bVcrYTVDcVUwNmlVY1VOVEEvRlptQnVWY3BxcjlR?= =?utf-8?B?UTJ1TEU4bUc2eUw3RWtrNmxxWUJ2L3ZRbDZvV3IwbGllMitwZVNuQ3h5TkFL?= =?utf-8?B?Q1pCVS9RcFB2d0xTc1AwWmZKamtSVlVKanhESVFkZ1YvM0owc1M0NVJ3UnEz?= =?utf-8?B?bVgwZ0x0YzFqM3lJc01FbWJaL0k4TlZFeit3UlFCT2Z5STN5R1o0TEhlalIx?= =?utf-8?B?QmJuQVV1YnBWenhFL3FncXoyR3lUTUI1NnhRWjc4UC9wazQ1RWhmN1cxa2F3?= =?utf-8?B?YmJacmEzd0IrMm93aUtwKzljeHZ4Y1ZkVVBycXFvK0VpVGhaWVUvcVdUWHlQ?= =?utf-8?B?cHkzU0ZyaEFCaWFVK2NwU1NGL2FBV1NMN1R6TXA0RUVZbXFQZ3ZRQkp5OVdD?= =?utf-8?B?eUZPUnRBKzJjc2RMaVlET1gvTzdUd2I2QVdtMmE3K2E3TzFZTkRxMG9oVS8z?= =?utf-8?B?MURTNFB5NVh3ZmNGUGFyZklvZXJtTkhKMTJxSEVoUXRoS3p4c1ZWbUZaMnlt?= =?utf-8?B?MVFYVUp0bHp1akpQck1nZjBlOFJLd1k5Vm5OdEl6MCtzSkNGMGFzeTFDZjA1?= =?utf-8?B?aFMvcWdXM3hzNVdkRTY0L01HalAwSy9tdmlKV2pGK0xHbTBEN0xTKzBOalFu?= =?utf-8?B?VTE0QVY3WUN5UUFwU0hDWEVyanlwdHdiRlIzRkkvZlM5WFI1VE9mMmRhMm43?= =?utf-8?B?aUVsNEh5alNGZU4rbEk1WVBpbVFRbFZ6N3dXQm1oRFVQY082UUxPQTIxT1hO?= =?utf-8?B?NTJJbXZxRDJ4YjFwUmduM0xNK3ZvZEJFY1BoNXJDbXB2WTRYdmNucUNndWxp?= =?utf-8?B?d1B1VFFXZUdEY1EyTmhFV3JOZmMzYWpLS092cjNzc3ZydGhUMjlGMW51UXpY?= =?utf-8?B?UXluczBqYktxV2RqZHY1bUNzMzErNk15MFdFbmp0b0FteGw1elBraFBFeUhC?= =?utf-8?B?eGlJbmh5YnhIR1pWNitJOHFLWmsyVlpNSE85NjFXTHlWRGJ4VFVZR0lmbnhB?= =?utf-8?B?d1IvZzc0TWdPTm5wdXBXOE94V2JoSmlUdktyei8vNmFNam9oOUswTUVIb2R0?= =?utf-8?B?WmxUUS9xd0ZuREV0K2pGM1FLNmNSZFBGUFo1bnNxOExLbVpYN09vdmRHdkRH?= =?utf-8?B?UUNmdmZXQlBNUzJoN2Z0QWRjVGFKYVpEQzVJNS9uUjAxaWo2ekJQUnNqYytG?= =?utf-8?B?QXUyR0hockVJSFpnYXB5bk5FTktMWHBTWmRlNXFONEZLVGNsYXRTbktSOEVJ?= =?utf-8?B?MlUwMmtIQk1Ib2s5NktlaFdJaFJKV2NhV1ZkTlE4U3Q5TkViRlpPSVJKa3pt?= =?utf-8?B?T1AwY1NqUHllNW9RTnNZV0lzYWE5bXU4c2VlY2NSNEkwODBEQjBtT2xJU2tq?= =?utf-8?B?RVl4cExnNmRFdGRyUDVTb2VadW96TzJDYW9uRFVQQ1NKd0NKNDM0U2JOU1FM?= =?utf-8?B?QTZlVkdNVVVHQzUrS3dJTWMvUHdaeXhVZG52eTN5Q0hRcE41RWRIV1BnT2py?= =?utf-8?Q?YBIRq6Kb+0=3D?= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB114; 6:UN8mHErYuPW4mqDpN9i4Z3rDGv5CXxgsjpNWDY77r+EqVEZ9PMnf6Pj0AkVEyegk6vKzxBSu1TcuW6AxOGE2J/iKHNVcifQTWLej0kg6GUPFLluqJcBkpw2oUgHWl9ZozFIYnuJz+rap17WfmJuyMk1qjo1tbrz1XzNliNetqUhe4srcLJWmAgtc90dfXpiS3J5b2PIAR4nlzbsesdngqNOeLXbwWQx5wS64Ii6BXOyza2H9g4ulR/s+Af9frpCIlwudHcmidgkPBeZWhXT5Q8zKqfPXoIKcoKVOhDK+tiJQnAw6vw/XhzaUV9OjnoAR; 5:fPkT+XAS8vORO2eqYVFrBipNDmGsxz+pot01JiE+TqtmVt4X2db4AKbdHVICKv/+Hj2tx0tdmo2H0ZULwyfZDf/V4h2XT7qXmkxqNWR5gN1dhhEekz8Tx5mqyJ7hVK2RJfMGjv+C8KNC48jDrzuzOg==; 24:uzkcK7UAXX3RWAJccjo9X8Q5GnKHe1OffklpwwCgaxAJJ+U9ngJ4LUucgRt/f1wwp0jpV6CQxzV4kaeoVea2QnMJR2R5f+A8fIVUuQGW6jk=; 7:8B2uoyylEft5+Q+FOmkT24pRTTjwZXoHx9+ElGJqNKGD5P/Poq+dRiUlfo2YHjlXC5pmQnHKYOronUGJ7tqKHja/A3uXRZnj1nP9pmUHdUKPKy1hwah1UK3CllbmK8k8+8zbVLYAOoOEMGek/j26YRlp+48j0SYN8KxwNaTzu0n5cp08axl3JHJ2HA8CtBG5f1hgoSL9UU10eImJMZnLe6Mf80RnS+tJqjZw3dj6I1zpynBE3GWXGn/8ftiu9/x7h0WJzDXFmu1EOhKXSCXAR1MGqlcA8hw4y//lBm7HF2jrvpDA4cg/Ncg8nPwApx/4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2016 03:33:35.3635 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB114 Subject: Re: [Cake] de-natting & host fairness X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 03:33:37 -0000 On 28/09/16 04:06, Jonathan Morton wrote: > >> On 28 Sep, 2016, at 05:56, Kevin Darbyshire-Bryant >> wrote: >> >> Does this need to be another variable/parameter or could it be the >> next bit along in the flow type? > > I’ve already pushed it to the ‘cobalt’ branch, so you can see how > I’ve done it and start testing. I’ve verified that it compiles, no > more than that so far. > > For configuration, there is a separate flag parameter passed. > Internally, I’ve used another bit of the existing flow_mode field > (but not the next one along). The latter is also how the > configuration is read back out again to tc. > > Overall, the patch ended up much smaller than the original. Switch > statements in C are actually quite verbose. Looks good and as you say much smaller without the switch stuff and IPv6. As a further bikeshed..... Is it worth doing: if (reverse) { all the src/dst swaps if ports do port src/dst swaps nf_ct_put } else { all the dst/src swaps if ports do port dst/src swaps } Code gets duplicated...or possibly not depending on the compiler, but those ternaries are if/else in disguise...and we do a few of them, so if we did one at the cost of some duplicate code...... > > - Jonathan Morton >