s6-netdev/router.sh
2023-09-03 10:47:28 +00:00

111 lines
3.1 KiB
Bash
Executable File

#!/bin/sh
. "$(dirname -- "$0")/netdev.sh"
# Physical
new_if_phys "phys0"
new_if_phys "phys1"
IFACE="phys2"
new_if_phys "phys2"
new_if_vlan "$IFACE-42"
new_if_vlan "$IFACE-66"
new_if_phys "phys3"
# Virtual
new_if_phys "vnet0"
new_if_phys "vnet1"
new_if_phys "vnet2"
new_if_phys "vnet3"
new_if_phys "vnet4"
new_if_phys "vnet5"
# VRFs
IFACE="vrf-dn42"
new_if_vrf "$IFACE" 20
route_v6_vrf_default_unreach "$IFACE"
new_if_slave "$IFACE" "br-dn42"
new_if_slave "$IFACE" "famfo"
new_if_slave "$IFACE" "mark22k"
new_if_slave "$IFACE" "highdef"
new_if_slave "$IFACE" "kioubit"
new_if_slave "$IFACE" "lare"
new_if_slave "$IFACE" "vnet5"
IFACE="vrf-v6"
new_if_vrf "$IFACE" 10
route_v6_vrf_default_if "$IFACE" "intersix"
route_v6_vrf_sink_unreach "$IFACE" "2a04:5b81:2060::/48"
new_if_slave "$IFACE" "intersix"
new_if_slave "$IFACE" "b00b"
new_if_slave "$IFACE" "f33d"
new_if_slave "$IFACE" "d00d"
# Bridges
IFACE="home"
new_if_bridge "$IFACE"
bridge_property 'stp_state' "$IFACE"
bridge_property 'mcast_router' "$IFACE"
bridge_property 'mcast_snooping' "$IFACE" '0' '' # TODO: Remove such entries when bridges play well with multicasting
bridge_property 'mcast_querier' "$IFACE"
bridge_property 'mcast_mld_version' "$IFACE" '2' ''
new_forward "$IFACE"
new_if_slave "$IFACE" "vnet1"
new_if_slave "$IFACE" "phys3"
new_if_slave "$IFACE" "phys2"
IFACE="br-dn42"
new_if_bridge "$IFACE"
new_if_slave "$IFACE" "phys2-42"
IFACE="f33d"
new_if_bridge "$IFACE"
bridge_property 'stp_state' "$IFACE"
bridge_property 'mcast_router' "$IFACE"
bridge_property 'mcast_snooping' "$IFACE" '0' ''
bridge_property 'mcast_querier' "$IFACE"
bridge_property 'mcast_mld_version' "$IFACE" '2' ''
if_lladdress "$IFACE" '02:00:00:00:f3:3d'
addr_v6_static_if "$IFACE" "2a04:5b81:2060:f33d::1/64"
new_if_slave "$IFACE" "vnet2"
IFACE="b00b"
new_if_bridge "$IFACE"
bridge_property 'stp_state' "$IFACE"
bridge_property 'mcast_router' "$IFACE"
bridge_property 'mcast_snooping' "$IFACE" '0' ''
bridge_property 'mcast_querier' "$IFACE"
bridge_property 'mcast_stats_enabled' "$IFACE"
bridge_property 'mcast_mld_version' "$IFACE" '2' ''
if_lladdress "$IFACE" '02:00:00:00:b0:0b'
addr_v6_static_if "$IFACE" "2a04:5b81:2060:b00b::1/64"
new_if_slave "$IFACE" "vnet0"
new_if_slave "$IFACE" "vnet4"
new_if_slave "$IFACE" "phys2-66"
IFACE="d00d"
new_if_bridge "$IFACE"
bridge_property 'stp_state' "$IFACE"
bridge_property 'mcast_router' "$IFACE"
bridge_property 'mcast_snooping' "$IFACE" '0' ''
bridge_property 'mcast_querier' "$IFACE"
bridge_property 'mcast_mld_version' "$IFACE" '2' ''
if_lladdress "$IFACE" '02:00:00:00:d0:0d'
addr_v6_static_if "$IFACE" "2a04:5b81:2060:d00d::1/64"
new_if_slave "$IFACE" "vnet3"
# Wireguard
new_if_wg "famfo"
addr_v6_static_if "famfo" "fe80::1422:1/64"
new_if_wg "kioubit"
addr_v6_static_if "kioubit" "fe80::2/64"
new_if_wg "highdef"
addr_v6_static_if "highdef" "fe80::2/64"
new_if_wg "mark22k"
addr_v6_static_if "mark22k" "fe80::4546/64"
new_if_wg "lare"
addr_v6_static_if "lare" "fe80::2/64"
new_if_wg "intersix"
addr_v6_static_if "intersix" "fe80::2/64"
addr_v6_static_if "intersix" "2a04:5b80:ffff:ff0b::2/64"