Re: [nft PATCH 2/2] expr: add jool expressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Looking at the code, the pool4db is pretty much an adaptation of what
> conntrack already does. So, why not to put the efforts in extending
> conntrack to support NAT64/NAT46 ?

Ok, please don't take this as an aggressively defensive gesture, but I
feel like this is an unfair question.

If I provide a ready and simple but effective means to bridge our
projects I feel like it befalls on you to justify why you wish to
commit to the far more troublesome course of action.

Merging the projects seems to me like several (if not many) months
worth of development and testing, little of which would be made in
benefit of our users. (No real functionality would be added, and some
functionality might be dropped--eg. atomic configuration, session
synchronization.)

I mean I get that you want to avoid some duplicate functionality, but
is this really a more important use of my time than, say, adding MAP-T
support? ([0])

> This way, the support of this natting is likely to be included in the
> kernel vanilla and just configure it with just one rule:
>
> sudo nft add rule inet table1 chain1 dnat 64 64:ff9b::/96

Ok, but I don't think an IP translator is *meant* to be configured in
a single line. Particularly in the case of NAT46. How do you populate
a large EAM table ([1]) on a line? If your translator instance is
defined entirely in a rule matched by IPv6 packets, how do you tell
the corresponding IPv4 rule to refer to the same instance?

It is my humble opinion that some level of separation between nftables
rules and translator instances is clean design.

> One more thing, it seems that jool only supports PREROUTING, is that right?

Yes, although this might presently only be because nobody has asked elsewhat.

I tried adding LOCAL_OUT support some years ago and forgot to write
down the problems that prevented me from succeeding. I can give it
another shot if this is important for you.

Cheers,
Alberto

[0] https://tools.ietf.org/html/rfc7599
[1] https://jool.mx/en/eamt.html

On Wed, Apr 8, 2020 at 2:22 PM Laura Garcia <nevola@xxxxxxxxx> wrote:
>
> On Tue, Apr 7, 2020 at 8:03 PM Alberto Leiva Popper <ydahhrk@xxxxxxxxx> wrote:
> >
> > Jool statements are used to send packets to the Jool kernel module,
> > which is an IP/ICMP translator: www.jool.mx
> >
> > Sample usage:
> >
> >         modprobe jool
> >         jool instance add "name" --iptables -6 64:ff9b::/96
> >         sudo nft add rule inet table1 chain1 jool nat64 "name"
> >
>
> Hi Alberto,
>
> Looking at the code, the pool4db is pretty much an adaptation of what
> conntrack already does. So, why not to put the efforts in extending
> conntrack to support NAT64/NAT46 ?
>
> This way, the support of this natting is likely to be included in the
> kernel vanilla and just configure it with just one rule:
>
> sudo nft add rule inet table1 chain1 dnat 64 64:ff9b::/96
>
> One more thing, it seems that jool only supports PREROUTING, is that right?
>
> Cheers.



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux