logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

joold - Userspace Session Synchronization (SS) daemon for NAT64 Jool.

Author

       NIC Mexico & ITESM

Description

       This command is deprecated, and it's now implemented as a wrapper for joolsessionproxy.  See jool(8).

Examples

       IPv6 version:

            $ # All Jool instances should have the basic configuration.
            $ jool --file same-config-as-everyone-else.json
            $
            $ # Configure the SS interface
            $ ip addr add 2001:db8:ff08::4/96 dev eth0
            $ ip link set eth0 up
            $
            $ # joold
            $ cat ipv6-netsocket.json
              {
                 "multicast address": "ff08::db8:64:64",
                 "multicast port": "6464",
                 "in interface": "eth0",
                 "out interface": "eth0",
                 "ttl": 3
              }
            $
            $ cat modsocket.json
              { "instance": "default" }
            $
            $ joold ipv6-netsocket.json modsocket.json 45678 &

       IPv4 version:

            $ # All Jool instances should have the basic configuration.
            $ jool --file same-config-as-everyone-else.json
            $
            $ # Configure the SS interface
            $ ip addr add 192.0.2.1/24 dev eth0
            $ ip link set eth0 up
            $
            $ # joold
            $ cat ipv4-netsocket.json
              {
                 "multicast address": "233.252.0.64",
                 "multicast port": "6464",
                 "in interface": "192.0.2.1",
                 "out interface": "192.0.2.1",
                 "ttl": 3
              }
            $
            $ cat modsocket.json
              { "instance": "default" }
            $
            $ joold ipv4-netsocket.json modsocket.json 45678 &

       Request stats:

            $ echo "" | nc -u 127.0.0.1 45678
            KERNEL_SENT_PKTS,4
            KERNEL_SENT_BYTES,208
            NET_RCVD_PKTS,0
            NET_RCVD_BYTES,0
            NET_SENT_PKTS,4
            NET_SENT_BYTES,208

Exit Status

       Zero on success, non-zero on failure.

Known Bugs

       1. Maybe the daemon should be able to automatically enable SS on the kernel module.

       To  be perfectly honest, the main reason why fixing this isn't in the radar is because joold is giving me
       the impression that nobody is using it.

Name

       joold - Userspace Session Synchronization (SS) daemon for NAT64 Jool.

Network Socket Configuration

       The file is a JSON-formatted collection of keyvalues.

       multicast address=<IPv6-or-IPv4-address>
              IP Address the SS traffic will be sent to and listened from.
              Mandatory; has no default.

       multicast port=<port-or-service-name>
              TCP port where the SS traffic will be sent to and listened from.
              Mandatory; has no default.

       in interface=<String>
              If multicast address is IPv4, this should be one addresses from the interface where the SS traffic
              is expected to be received. If multicast address is IPv6, this should be the name of the interface
              (eg. "eth0").
              Optional. Defaults to be automatically assigned by the kernel.
              It  is  strongly  recommended  that  you  define this value to ensure the SS traffic does not leak
              through other interfaces.

       out interface=<String>
              If multicast address is IPv4, this should be one addresses from the interface where the  multicast
              traffic  is  expected  to  be  sent.  If multicast address is IPv6, this should be the name of the
              interface (eg. "eth0").
              Optional. Defaults to be automatically assigned by the kernel.
              It is strongly recommended that you define this value to ensure  the  SS  traffic  does  not  leak
              through other interfaces.

       ttl=<INT>
              Time-to-live of packets sent out by this socket.

Options

       NETSOCKET
              Path to JSON file containing the network socket's configuration.
              Defaults to "netsocket.json".

       MODSOCKET
              Path to JSON file containing the Netlink socket's configuration.
              Defaults to "modsocket.json".

       PORT   If present, starts an UDP server bound to port PORT, where the daemon serves stat counters.

Reporting Bugs

       https://github.com/NICMx/Jool/issues

See Also

       https://nicmx.github.io/Jool/en/session-synchronization.html
       https://nicmx.github.io/Jool/en/usr-flags-session.html

v4.1.14                                            2025-04-14                                           joold(8)

Syntax

       joold [NETSOCKET] [MODSOCKET] [PORT]

See Also