# `rc.router` Configuration Variables ## `rc_router_ula_prefix_size` ### Description Used to control the size of IPv6 ULA prefixes. Can be either `48` or `56` ### Example ``` rc_router_ula_prefix_size="48" # Generate `/48` IPv6 ULAs rc_router_ula_prefix_size="56" # Generate `/56` IPv6 ULAs ``` *** ## `rc_router_network_name` ### Description A user-defined free-form string to provide sufficient "uniqueness" to generate ULA prefixes with sufficiently low probability of collision. The user defined string permits a user to remember the uniqueness "seed" without having to remember 40 or more random bits worth of hexidecimal digits. ### Example ``` rc_router_network_name="This is my really awesome network!" ``` #### Note The `${secret_ip6_net}` undocumented variable can be used in `rc.d` scripts to expand to the user generated ULA prefix. The name of this undocumented variable might change in the future. *** ## `v6_prefix_len` ### Description This variable should only be set in ISP hints files. It informs `rc.router` what IPv6 prefix size to request from that ISP. Users may provide their own hints files in `${rc_router_conf_dir}/hints` -- hints files which are in the user configuration directory will override the pre-packaged hints. ### Example ``` v6_prefix_len="63" # This ISP is pretty awful! v6_prefix_len="48" # This ISP is very generous. ``` *** ## `v4_net` ### Description This variable defines a `/16` of IPv4 space inside which internal IPv4 networks are constructed. In addition, `v4_net_${iface}` may be used to specify a `/16` prefix for all VLANs on a specific internal interface. ### Example ``` v4_net="192.168" # This is pretty typical # Use a `/16` to differentiate the VLANs created on different physical interfaces. v4_net_xy1="172.21" v4_net_xy2="172.22" ``` *** ## `rc_router_gen_dir` ### Description This variable defines a directory into which the configuration files for services will be generated. By default it is `${rc_router_conf_dir}/gen`. ### Example ``` rc_router_gen_dir="/tmp/rc-router-gen/" ``` *** ## `dhcpv4_pool_lo` ### Description This variable defines the lower bound of DHCPv4 pools for auto-generated `/24` networks constructed by [`add_v4_net`](add_v4_net.md) or [`add_net`](add_net.md). These pools can also be specified per-physical-interface (but not vlan) by using `dhcpv4_pool_lo_${iface}`. ### Example ``` dhcpv4_pool_lo="10" # For most networks, start the dynamic pool at 10. dhcpv4_pool_lo_xy0="200" # For networks on `xy0`, start the dynamic pool at 200. ``` *** ## `dhcpv4_pool_hi` ### Description This variable defines the upper bound of DHCPv4 pools for auto-generated `/24` networks constructed by [`add_v4_net`](add_v4_net.md) or [`add_net`](add_net.md). These pools can also be specified per-physical-interface (but not vlan) by using `dhcpv4_pool_hi_${iface}`. ### Example ``` dhcpv4_pool_hi="20" # For most networks, end the dynamic pool at 20. dhcpv4_pool_hi_xy0="240" # For networks on `xy0`, start the dynamic pool at 240. ``` *** ## `rtadvd_pltimedecr` ### Description Controls whether the `pltimedecr` flag is set on generated router advertisement configuration files for IPv6. Defaults to `NO`. ### Example ``` rtadvd_pltimedecr="YES" # Enable `pltimedecr` in generated `rtadvd.conf` files. ``` *** ## `rtadvd_vltimedecr` ### Description Controls whether the `vltimedecr` flag is set on generated router advertisement configuration files for IPv6. Defaults to `NO`. ### Example ``` rtadvd_vltimedecr="YES" # Enable `vltimedecr` in generated `rtadvd.conf` files. ``` *** ## `rtadvd_dns_search_list` ### Description Allows the user to specify a list of search domain suffices to be delivered to all IPv6 clients. ### Example ``` # Add the specified domains to the DNS search lists for `rtadvd`. rtadvd_dns_search_list="example.com local.example.com" ``` *** ## `rtadvd_pref64_prefix` ### Description Allows the user to specify a NAT64 prefix for all networks advertised by `rtadvd`. Note -- do not put the `/96` netmask suffix. This is useful for building IPv6-only and IPv6-mostly networks that have to be compatible with legacy IPv4 destinations. ### Example ``` # Add the specified domains to the DNS search lists for `rtadvd`. rtadvd_pref64_prefix="64:ff9b::" ``` *** ## `rtadvd_mininterval` ### Description Allows the user to specify the minimum router advertisement interval. ### Example ``` rtadvd_mininterval="300" # Advertise no more frequently than every 5 minutes. ``` *** ## `rtadvd_maxinterval` ### Description Allows the user to specify the maximum router advertisement interval. ### Example ``` rtadvd_maxinterval="1800" # Advertise less more frequently than every half hour. ``` *** ## `rtadvd_pltime` ### Description Allows the user to specify the preferred lifetime for prefixes advertised by this router. ### Example ``` rtadvd_pltime="300" # Advertise a preferred prefix lifetime of 5 minutes. ``` *** ## `rtadvd_vltime` ### Description Allows the user to specify the valid lifetime for prefixes advertised by this router. ### Example ``` rtadvd_vltime="900" # Advertise a valid prefix lifetime of 15 minutes. ``` *** ## `rtadvd_rltime` ### Description Allows the user to specify the valid lifetime for the routing destination advertised by this router. ### Example ``` rtadvd_rltime="900" # Advertise a router advertisement lifetime of 15 minutes. ```