NICMx / Jool

SIIT and NAT64 for Linux
GNU General Public License v2.0
331 stars 66 forks source link

Displaying pools and stats is blank in 4.1.7 #378

Closed rbalik closed 1 year ago

rbalik commented 2 years ago

Hello, we're running into an issue with Jool 4.1.7.

stats display and pool display commands don't seem to show anything even though jool is configured and working.

sm-user@ip-10-254-0-75:/var/log$ sudo jool stats display --all
ssm-user@ip-10-254-0-75:/var/log$ sudo jool pool display
+------------+-------+--------------------+-----------------+-------------+
|       Mark | Proto |     Max iterations |         Address |       Ports |
+------------+-------+--------------------+-----------------+-------------+
+------------+-------+--------------------+-----------------+-------------+
[    9.890200] Jool: Core Jool v4.1.7.0 module inserted.
[    9.896270] NAT64 Jool v4.1.7.0 module inserted.

This is on Ubuntu 20.04. Installed from the .deb package

rbalik commented 2 years ago

FYI We fixed it by building userland code from source but keeping the same kernel module from the .deb so this might be an issue with the package build

ydahhrk commented 2 years ago

Hmm. Can agree with stats --all. Sometimes it prints me everything, sometimes it prints me a fraction of the stats, and other times it prints me nothing. Weird.

But was your pool4 really populated? Jool can work perfectly fine when it's not.

rbalik commented 2 years ago

Yeah actually the pool4 was our mistake. We didn't read all the instructions there :) Stats definitely has something weird with the .deb though. When we build from source it always works fine.

cooperlees commented 2 years ago

I just updated from Ubuntu 20.04 (where stats were rock solid) to 22.04 and I've also got this stats printing issue. I wrap the CLI with some python to export it to prometheus here

root@home2:/home/cooper# jool stats display --all

^ I sometimes get stats and sometimes don't.

I don't think my jool is working tho as I think my ISP is converting the 64:ff9b::/96 addresses:

mtr 64:ff9b::8.8.8.8
 Host                                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 2600:6c4e:2200:71:ae1f:6bff:fe6f:d97                   0.0%    16  100.0  64.4   3.8 100.0  24.0
 2. (waiting for reply)
 3. (waiting for reply)
 4. (waiting for reply)
 5. (waiting for reply)
 6. (waiting for reply)
 7. (waiting for reply)
 8. (waiting for reply)
 9. 64:ff9b::6caa:ed3b                                     6.7%    16   19.6  20.6  18.8  25.6   2.0
10. 64:ff9b::8efb:433f                                     6.7%    16   21.8  21.8  18.8  27.2   2.8
11. dns.google                                             7.1%    15   18.3 120.9  18.3 178.6  68.9
ydahhrk commented 1 year ago

4.1.9 released; closing.

cooperlees commented 1 year ago

Many thanks - Should Ubuntu packages eventually upgrade or do I need to request it somewhere?

cooper@home1:~$ sudo apt upgrade jool-dkms jool-tools
...
jool-dkms is already the newest version (4.1.7-1).
jool-tools is already the newest version (4.1.7-1).
ydahhrk commented 1 year ago

Ubuntu 22.04 is not going to upgrade. At least not automatically. I think we'll have to wait until 24.04 or so.

It's explained here: https://wiki.ubuntu.com/StableReleaseUpdates

For reference, this is what happens:

  1. I upload the package.
  2. My sponsor approves it. (It usually takes a very short while, but it can be anything.) The package enters the unstable "distribution" (also known as "repository," it seems.)
  3. After about ten days without issues, the package automatically enters the testing "distribution/repository."
  4. Once some new Debian comes out (apparently), the package enters the stable "distribution/repository." This is the point at which you can download it normally.

(Current Debian view)

I don't know where Ubuntu forks its packages, but presumably, it's also from Debian's testing. Looking at their history, they are certainly aware of 4.1.8, but 22.04 (Jammy Jellyfish) has no plans of upgrading further than 4.1.7.

You can theoretically switch to testing by tweaking your apt sources (doc), but I don't know if doing this from Ubuntu is safe, and you'll also expose yourself to all the other (possibly buggy) testing packages unless you make explicit exceptions or something.

But at that point, you might prefer to simply install the standalone packages instead. (shrug)

cooperlees commented 1 year ago

Thanks for explaining - I went ahead and installed the downloadable .deb files on ubuntu 22.04. My jool-exporter does seems to get data every run now :D Thanks!