Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2024-02-07 Thread Daniel Gröber
noowner 1041858
thanks

I've decided to focus on upstreaming a kernel based SIIT/NAT64 solution
instead of packaging tundra.

Initial packaging work is here if anyone wants to continue this anyhow:
https://salsa.debian.org/dxld/tundra-nat64

Upstream issue asking for tagging release

  https://github.com/vitlabuda/tundra-nat64/issues/1

Patches:

  https://github.com/vitlabuda/tundra-nat64/pull/2 - adding a Makefile
  https://github.com/vitlabuda/tundra-nat64/pull/4 - hardening

--Daniel


signature.asc
Description: PGP signature


Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2023-07-24 Thread Daniel Gröber
Hi Andrej,

On Mon, Jul 24, 2023 at 07:38:13PM +0200, Andrej Shadura wrote:
> On Mon, 24 Jul 2023, at 16:16, Daniel Gröber wrote:
> > tundra-nat64 is a new userspace implementation of SIIT, NAT64 and
> > [CLAT]. It's multithreaded as opposed to tayga so my hope is the
> > performance will be much better.
> >
> > I plan on maintaining tuntra-nat64 myself but I do need a sponsor :)
> 
> As the maintainer of tayga, I’ll be happy to sponsor tundra too :)

My cup runneth over on this ITP. You're just a smidge too late, I think me
and Paul got this. First come first sponsored I guess? :)

Thanks for the offer nonetheless,
--Daniel

PS: You can expect a crunchy new Tayga PMTU/fragmentation bug within the
fortnight if I don't forget :P



Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2023-07-24 Thread Daniel Gröber
Hi Paul,

good to know there's other people in Debian that care about IPv6 :)

On Mon, Jul 24, 2023 at 10:26:03AM -0400, Paul Tagliamonte wrote:
> As a current jool user, I'm very interested in this project. I'll have
> to try this out.

I haven't actually tried it yet myself, I tend to package first -- test and
use later :D

So let me know if you do would love to hear a report.

> > Hence we need more alternatives for these services in Debian.
> > 
> > tundra-nat64 is a new userspace implementation of SIIT, NAT64 and
> > [CLAT]. It's multithreaded as opposed to tayga so my hope is the
> > performance will be much better.
> > 
> > I plan on maintaining tuntra-nat64 myself but I do need a sponsor :)
> 
> Why the heck not, I'm happy to review and sponsor; IPv6 adoption is
> critical, and giving a hand to someone working to maintain current
> tooling to help with the adoption is doing good work. Hit me up off-list
> and we'll work out a workflow and all that.

Excellent. I'll hit you up with a (gbp) package as soon as I get around to
it. Doesn't look very involved at first glance.

FYI: I have another ITP pending for VPP (fdio-vpp) -- a very, very, very
fast userspace packet processor (DPDK based) which also has SIIT/NAT64
support, but not fully featured last I checked.

Might be interesting to you too. I just never got around to actually
deploying VPP in my test network since my use-case for 10/40G routing/NAT64
dissapated so I never finsihed the package. It's about to come back though
so stay tuned :)

Thanks,
--Daniel



Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2023-07-24 Thread Andrej Shadura
Hi,

On Mon, 24 Jul 2023, at 16:16, Daniel Gröber wrote:
> tundra-nat64 is a new userspace implementation of SIIT, NAT64 and
> [CLAT]. It's multithreaded as opposed to tayga so my hope is the
> performance will be much better.
>
> I plan on maintaining tuntra-nat64 myself but I do need a sponsor :)

As the maintainer of tayga, I’ll be happy to sponsor tundra too :)

-- 
Cheers,
  Andrej



Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2023-07-24 Thread Paul Tagliamonte
On Mon, Jul 24, 2023 at 04:16:52PM +0200, Daniel Gröber wrote:
> Stateless IP/ICMP translation (SIIT), Stateful NAT64 and [CLAT]
> are important mechnisms to pave the way to an IPv6-only future. I've
> found the tools we currently have in Debian to provide and use these
> services, Tayga and Jool, lacking in various respects.

As a current jool user, I'm very interested in this project. I'll have
to try this out.

> Tayga has major performance problems due to being single-threaded and
> comes nowhere near to even measily 100Mbit forwarding on modern
> hardware but it currently is the only viable way to implement [CLAT]
> on Debian.
> 
> [CLAT]: Is the client-side of a 464XLAT setup. This is used to support
> applications using IPv4 literals on top of an IPv6-only access network.
> 
> Jool being an out-of-tree kernel module has to employ various kernel
> hacks to get it's job done that lead to all kinds of jankyness. It's
> reasonably fast though, so it's more suited for deployment as a
> network service. Unfortunately the upstream project is in "maintanance
> only" mode so my concern is it may get abandoned at some point.

Same :)

> Hence we need more alternatives for these services in Debian.
> 
> tundra-nat64 is a new userspace implementation of SIIT, NAT64 and
> [CLAT]. It's multithreaded as opposed to tayga so my hope is the
> performance will be much better.
> 
> I plan on maintaining tuntra-nat64 myself but I do need a sponsor :)

Why the heck not, I'm happy to review and sponsor; IPv6 adoption is
critical, and giving a hand to someone working to maintain current
tooling to help with the adoption is doing good work. Hit me up off-list
and we'll work out a workflow and all that.

  paultag

-- 
  ⢀⣴⠾⠻⢶⣦⠀   Paul Tagliamonte 
  ⣾⠁⢠⠒⠀⣿⡁  https://people.debian.org/~paultag | https://pault.ag/
  ⢿⡄⠘⠷⠚⠋Debian, the universal operating system.
  ⠈⠳⣄⠀⠀  4096R / FEF2 EB20 16E6 A856 B98C  E820 2DCD 6B5D E858 ADF3



Bug#1041858: ITP: tundra-nat64 -- A minimal, user-space, stateless NAT64, CLAT and SIIT implementation for Linux

2023-07-24 Thread Daniel Gröber
Package: wnpp
Severity: wishlist
Owner: Daniel Gröber 
X-Debbugs-Cc: debian-de...@lists.debian.org, d...@darkboxed.org

Hi,

* Package name: tundra-nat64
  Upstream Contact: Vt Labuda
* URL : https://github.com/vitlabuda/tundra-nat64
* License : BSD3
  Programming Lang: C
  Description : A minimal, user-space, stateless NAT64, CLAT and SIIT 
implementation for Linux

Stateless IP/ICMP translation (SIIT), Stateful NAT64 and [CLAT]
are important mechnisms to pave the way to an IPv6-only future. I've
found the tools we currently have in Debian to provide and use these
services, Tayga and Jool, lacking in various respects.

Tayga has major performance problems due to being single-threaded and
comes nowhere near to even measily 100Mbit forwarding on modern
hardware but it currently is the only viable way to implement [CLAT]
on Debian.

[CLAT]: Is the client-side of a 464XLAT setup. This is used to support
applications using IPv4 literals on top of an IPv6-only access network.

Jool being an out-of-tree kernel module has to employ various kernel
hacks to get it's job done that lead to all kinds of jankyness. It's
reasonably fast though, so it's more suited for deployment as a
network service. Unfortunately the upstream project is in "maintanance
only" mode so my concern is it may get abandoned at some point.

Hence we need more alternatives for these services in Debian.

tundra-nat64 is a new userspace implementation of SIIT, NAT64 and
[CLAT]. It's multithreaded as opposed to tayga so my hope is the
performance will be much better.

I plan on maintaining tuntra-nat64 myself but I do need a sponsor :)

Thanks,
--Daniel