Files

3.4 KiB

add_v6_net Command

Name

add_v6_net

Synopsis

add_v6_net ${card} ${vlan} ${group} [{no_ula|isp=abc|no_isp}...] [<IPv6 /64 prefix>]...

Description

Adds an internal network segment with the specified vlan on the specified card. The created vlan-adaptor is put into the specified group. It is setup for only IPv6.

If ${vlan} is 0, then no tagged VLAN interfaces will be created; however, the subnet address computations will still be performed as-if the vlan were created. This means that xy0 will use 00 for its subnet computations in IPv6. If you don't intend to use VLANs for subnets, just use VLAN ID 0 when declaring networks.

The IPv6 network will make $(( ${vlan}/10 + ${vlan}%10 )) into hex digits to be appended to the ISP's IPv6 prefix. This makes it compatible with the most common case of /56 for most ISPs. If no_ula is specified in the optional arguments, then a ULA for this network segment will not be created. Otherwise, the ${rc_router_network_name} variable will be hashed and an ISP-like prefix of /48 will be created to which the SLA for the specified network will be appended. The ${rc_router_ula_prefix_size} can be set to 56 to specify a ULA prefix length of 56. (No other lengths are supported at this time.)

The isp=... flag can be used to assign the specified subnet to be part of the IA_PD list for the specified ISP. The no_isp flag can be used to skip provisioning the specified network with any ISP's DHCPv6 IA_PD request.

Any desired explicit /64 static prefixes can be configured on this network segment, after all other options. The router will provision itself as ...::1 on those prefixes.

Internally, this will call add_vlan, passing it ${card} and ${vlan}.

Subnet Calculation

(It is strongly recommended that the 10s digit and 1000s digit of the VLAN ID be kept as 0, as those digits are reserved for future improvements. While this limits the system to 100 vlans, it provides 1:1 visual alignment between IPv6 and VLAN ID. Each can be visually compared to the other.)

VLAN IPv6 suffix (hex) Example IPv6
0 0 2001:db8:abcd:ef00::/64
7 7 2001:db8:abcd:ef07::/64
101 11 2001:db8:abcd:ef11::/64
205 25 2001:db8:abcd:ef25::/64
900 90 2001:db8:abcd:ef90::/64

Options

  • no_ula - Do not create a Unique Local Address for this network.
  • isp=${NAME} - Attach this network to a specified ISP's configuration
  • no_isp - This network should not be associated with any ISP (declines to add network to DHCPv6 PD, among other things).

Examples

Basic home LAN

add_v6_net abc2 100 main

Guest network with no ULA

add_v6_net xy2 102 guest no_ula

IoT network with no ULA and no ISP prefix delegation

add_v6_net xy2 103 iot no_ula no_isp

Management network on a different ISP PD

add_v6_net xy2 402 mgmt isp=fios_1

Servers network with no ULA and no ISP prefix delegation and a dedicated static prefix

add_v6_net xy2 402 hosting no_ula no_isp 2001:db8:1ab:42::

(This form is useful if you have your own /48 or similar for your self-hosted services, and that prefix gets routed to you over tunnels.)

See Also