[Cake] de-natting & host fairness
chromatix99 at gmail.com
Tue Sep 27 19:08:04 EDT 2016
> On 26 Sep, 2016, at 06:20, Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> wrote:
> Another github user 'tegularius' presented some beautifully crafted code that did the lookups in a much neater way. Originally it too had an 'ingress' lookup problem. This was worked on and I hacked some conditional 'denat' options into cake & tc.
> For your 'delight' a denat cake https://github.com/kdarbyshirebryant/sch_cake/tree/natoptions along with a matching tc https://github.com/kdarbyshirebryant/tc-adv/tree/denat
As I’m now at the stage of trying to merge this, I’m going to make some executive design decisions:
- De-NAT IPv4 packets only. I think it’s safe to assume that IPv6 NAT will be rare, and in any case will typically preserve host distinctions. This eliminates switch blocks in favour of simple if blocks.
- Don’t bother with the distinction between src-NAT and dst-NAT lookups. The full lookup has to be done anyway and then masked off, the use-case for the limited functionality is nebulous, and all we’re doing is adding a lot of nasty conditional branches to the fast path.
This in turn reduces the configuration interface for the feature to a flag, which I’ll call “nat”.
- Jonathan Morton
More information about the Cake