Default vlan support.
This commit is contained in:
@@ -133,8 +133,8 @@ _compute_nets()
|
||||
shift 1
|
||||
|
||||
_base=$((${_vlan}%10))
|
||||
_net=$((${_vlan}/100))
|
||||
_subnet=${_net}${_base}
|
||||
_net=$(( ( ( ${_vlan} / 100 ) % 10 ) * 10 ))
|
||||
_subnet=$(( ${_net} + ${_base} ))
|
||||
_extra_address=""
|
||||
|
||||
if [ -z "${1}" ]
|
||||
@@ -203,10 +203,7 @@ add_vlan()
|
||||
|
||||
add_rtadv()
|
||||
{
|
||||
_card=$1
|
||||
_vlan=$2
|
||||
|
||||
_subcard="${_card}.${_vlan}"
|
||||
_subcard="$1"
|
||||
|
||||
_echo "XXX ${rtadvd_interfaces} XXX"
|
||||
_echo "QQQ ${rtadvd_interfaces} QQQ" | grep ${_subcard}
|
||||
@@ -462,15 +459,23 @@ _emit_dhcpv4()
|
||||
add_v4_net()
|
||||
{
|
||||
_compute_nets $*
|
||||
add_vlan $_card $_vlan
|
||||
_card_and_vlan="${_card}_${_vlan}"
|
||||
_card_dot_vlan="${_card}.${_vlan}"
|
||||
if [ ${_vlan} -ne 0 ]
|
||||
then
|
||||
add_vlan $_card $_vlan
|
||||
else
|
||||
_card_and_vlan="${_card}"
|
||||
_card_dot_vlan="${_card}"
|
||||
fi
|
||||
|
||||
_class_group=""
|
||||
if [ ! -z "${_class}" ]
|
||||
then
|
||||
_class_group="group ${_class}"
|
||||
fi
|
||||
eval ifconfig_${_card}_${_vlan}=\"$(compute_v4_net $_card $_subnet) group internal ${_class_group}\"
|
||||
eval dhcpd_ifaces=\"${dhcpd_ifaces} ${_card}.${_vlan}\"
|
||||
eval ifconfig_${_card_and_vlan}=\"$(compute_v4_net $_card $_subnet) group internal ${_class_group}\"
|
||||
eval dhcpd_ifaces=\"${dhcpd_ifaces} ${_card_dot_vlan}\"
|
||||
}
|
||||
|
||||
_add_v6_prefixes()
|
||||
@@ -480,7 +485,7 @@ _add_v6_prefixes()
|
||||
|
||||
while [ -n "${1}" ]
|
||||
do
|
||||
eval ifconfig_${_card}_${_vlan}_alias${_next_alias}=\"inet6 $1/64\"
|
||||
eval ifconfig_${_card_and_vlan}_alias${_next_alias}=\"inet6 $1/64\"
|
||||
shift 1
|
||||
_next_alias=`expr $_next_alias + 1`
|
||||
done
|
||||
@@ -490,8 +495,16 @@ add_v6_net()
|
||||
{
|
||||
_isp=""
|
||||
_compute_nets $*
|
||||
add_vlan $_card $_vlan
|
||||
add_rtadv $_card $_vlan
|
||||
_card_and_vlan="${_card}_${_vlan}"
|
||||
_card_dot_vlan="${_card}.${_vlan}"
|
||||
if [ ${_vlan} -ne 0 ]
|
||||
then
|
||||
add_vlan $_card $_vlan
|
||||
else
|
||||
_card_and_vlan="${_card}"
|
||||
_card_dot_vlan="${_card}"
|
||||
fi
|
||||
add_rtadv ${_card_dot_vlan}
|
||||
|
||||
_compute_ula_prefix
|
||||
|
||||
@@ -501,22 +514,27 @@ add_v6_net()
|
||||
_class_group="group ${_class}"
|
||||
fi
|
||||
|
||||
eval ifconfig_${_card}_${_vlan}_ipv6=\"inet6 fe80::1/64 group internal ${_class_group}\"
|
||||
eval ifconfig_${_card_and_vlan}_ipv6=\"inet6 fe80::1/64 group internal ${_class_group}\"
|
||||
|
||||
_next_alias=0
|
||||
|
||||
if [ "${_subnet}" = "0" ]
|
||||
then
|
||||
_subnet="00"
|
||||
fi
|
||||
|
||||
if [ "${_priv}" = "YES" ]
|
||||
then
|
||||
eval ifconfig_${_card}_${_vlan}_alias${_next_alias}=\"inet6 $(compute_v6_net ${secret_ip6_net} ${_subnet})/64\"
|
||||
eval ifconfig_${_card_and_vlan}_alias${_next_alias}=\"inet6 $(compute_v6_net ${secret_ip6_net} ${_subnet})/64\"
|
||||
_next_alias=1 # UGLY HACK!!! Does BASH increment work in BSD's sh?
|
||||
fi
|
||||
|
||||
if [ -n "${_isp}" ]
|
||||
then
|
||||
_add_dhcpv6 ${_card}.${_vlan} ${_isp}
|
||||
_add_dhcpv6 ${_card_dot_vlan} ${_isp}
|
||||
else
|
||||
_echo "Adding ${_card}.${_vlan} to default (which is ${default_isp} at this time)"
|
||||
_add_dhcpv6 ${_card}.${_vlan} default
|
||||
_echo "Adding ${_card_dot_vlan} to default (which is ${default_isp} at this time)"
|
||||
_add_dhcpv6 ${_card_dot_vlan} default
|
||||
fi
|
||||
|
||||
_add_v6_prefixes ${_next_alias} ${_extra_address}
|
||||
|
||||
Reference in New Issue
Block a user