jool_siit(8)

NAME
jool_siit - Interact with SIIT Jool (the kernel module).

DESCRIPTION
Sends commands and requests to SIIT Jool.
SIIT Jool is a kernel module you load into a Linux kernel. It implements RFC 6145.

AVAILABILITY
Linux is the only OS in which this program makes sense.
Kernels 3.2.0 and up.

SYNTAX
jool_siit --instance (
    [--add]
    | --remove
)

jool_siit --pool6 (
    [--display] [--csv]
    | --count
| --add <IPv6-prefix> [--force]
| --remove <IPv6-prefix>
| --flush
)

jool_siit --blacklist (
    [--display] [--csv]
    | --count
| --add <IPv4-prefix>
| --remove <IPv4-prefix>
    | --flush
)

jool_siit --pool6791 (
    [--display] [--csv]
    | --count
| --add <IPv4-prefix>
| --remove <IPv4-prefix>
    | --flush
)

jool_siit --eamt (
    [--display] [--csv]
    | --count
| --add <IPv4-prefix> <IPv6-prefix> [--force]
| --remove <IPv4-prefix> <IPv6-prefix>
    | --flush
)

jool_siit [--global] (
    [--display] [--csv]
| [--update] FLAG_KEY=FLAG_VALUE
)

jool_siit [--file] (
    /path/to/json/file
)

OPTIONS

  Operations

--display
    Print the table as output.

--count
    Count and print the number of entries in the table.

--add
    Create a new row using the rest of the arguments.

--update
    Change a configuration value based on the rest of the arguments.

--remove
    Delete the row described by the rest of the arguments.

--flush
    Empty the table.

  Others

<IPv6-prefix>
    IPv6 prefix to add to or remove from Jool's IPv6 pool or EAM table.
    The format is IPV6_ADDRESS[/PREFIX_LENGTH].
    PREFIX_LENGTH defaults to 128.
    Exampĺe: 64:ff9b::/96

<IPv4-prefix>
    IPv4 addresses to add to or remove from the pool or EAM table.
    The format is IPV4_ADDRESS[/PREFIX_LENGTH].
    PREFIX_LENGTH defaults to 32.
    Exampĺe: 1.2.3.4/30 (Means 1.2.3.4, 1.2.3.5, 1.2.3.6 and 1.2.3.7)

--csv
    Output the table in Comma/Character-Separated Values (.csv) format.

  --global's FLAG_KEYs

--disable
    Pause translation of packets.

--enable
    Resume translation of packets.

--zeroize-traffic-class=BOOL
    Always set the IPv6 header's 'Traffic Class' field as zero?
    Otherwise copy from IPv4 header's 'TOS'.

--override-tos=BOOL
    Override the IPv4 header's 'TOS' field as --tos?
    Otherwise copy from IPv6 header's 'Traffic Class'.

--tos=INT
    Value to override TOS as (only when --override-tos is ON).

--mtu-plateaus=INT[,INT]*
    Set the list of plateaus for ICMPv4 Fragmentation Neededs with MTU unset.

--amend-udp-checksum-zero=BOOL
    Compute the UDP checksum of IPv4-UDP packets whose value is zero?
    Otherwise drop the packet.

--eam-hairpin-mode=NUM
    Defines how EAM+hairpinning is handled.
    (0 = Disabled; 1 = Simple; 2 = Intrinsic)

--randomize-rfc6791-addresses=BOOL
    Randomize selection of address from the RFC6791 pool?
    Otherwise choose the 'Hop Limit'th address.

--rfc6791v6-prefix=(ADDR6/NUM|null)
    IPv6 prefix to generate RFC6791v6 addresses from.
    Use null to clear.

EXAMPLES
Print the IPv6 pool:
    jool_siit --pool6 --display
Add prefix 2001:db8/96 to the IPv6 pool:
    jool_siit --pool6 --add 2001:db8::/96
Remove prefix 2001:db8/96 from the IPv6 pool:
    jool_siit --pool6 --remove 2001:db8::/96

Print the number of blacklisted addresses:
    jool_siit --blacklist --count
Blacklist prefix 192.0.2.0/24:
    jool_siit --blacklist --add 192.0.2.0/24
Allow translation of 192.0.2.0/24:
    jool_siit --blacklist --remove 192.0.2.0/24

Print the RFC 6791 pool:
    jool_siit --pool6791 --display
Translate unknown router addresses as anything from 192.0.2.0/24:
    jool_siit --pool6791 --add 192.0.2.0/24
Revert the previous command:
    jool_siit --pool6791 --remove 192.0.2.0/24

Print the Explicit Address Mappings Table (EAMT):
    jool_siit --eamt
Add an entry to the EAMT:
    jool_siit --eamt --add 2001:db8::/120 192.0.2.0/24
Remove an entry from the EAMT:
    jool_siit --eamt --remove 2001:db8::/120 192.0.2.0/24

Print the global configuration values:
    jool_siit
Update some global configuration value:
    jool_siit --zeroize-traffic-class ON

NOTES
TRUE, FALSE, 1, 0, YES, NO, ON and OFF are all valid booleans. You can mix case too.

EXIT STATUS
Zero on success, non-zero on failure.

AUTHOR
NIC Mexico & ITESM

REPORTING BUGS
Our issue tracker is https://github.com/NICMx/Jool/issues. If you want to mail us instead, use jool@nic.mx.

COPYRIGHT
Copyright 2016 NIC Mexico.
License: GPLv3+ (GNU GPL version 3 or later)
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
https://www.jool.mx
https://www.jool.mx/en/documentation.html