From 957ceb727d006981143448e600923f1cdf892f1ebf33c81cd0b7e57deab9da73 Mon Sep 17 00:00:00 2001 From: ADAM David Alan Martin Date: Thu, 3 Sep 2026 00:18:15 -0400 Subject: [PATCH] Fix v4 net selection bug. --- rc.subr | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/rc.subr b/rc.subr index 5e71582..7798315 100755 --- a/rc.subr +++ b/rc.subr @@ -107,14 +107,19 @@ compute_net() compute_v4_net() { - _card=$(echo ${_iface} | sed -e's/\.[0-9]*//') - eval _net=\${v4_net_${_card}} + _card=${1} + _vlan=${2} + _echo "_net=\${v4_net_${_card}}" + eval "_net=\${v4_net_${_card}}" + _echo "In v4 net computation for ${_card} with found net <${_net}> to add with <${_vlan}>" if [ -z "${_net}" ] then _net=${v4_net} fi _prefix=${_net} - _subnet=$2 + _base=$((${_vlan}%10)) + _high=$(( ( ( ${_vlan} / 100 ) % 10 ) * 10 )) + _subnet=$(( ${_high} + ${_base} )) echo "${_prefix}.${_subnet}.1/24" } @@ -467,6 +472,7 @@ add_v4_net() _compute_nets $* _card_and_vlan="${_card}_${_vlan}" _card_dot_vlan="${_card}.${_vlan}" + _echo "In v4 net for ${_card_and_vlan} with ${_card_dot_vlan}" if [ ${_vlan} -ne 0 ] then add_vlan $_card $_vlan @@ -480,7 +486,7 @@ add_v4_net() then _class_group="group ${_class}" fi - eval ifconfig_${_card_and_vlan}=\"$(compute_v4_net $_card $_subnet) group internal ${_class_group}\" + eval ifconfig_${_card_and_vlan}=\"$(compute_v4_net ${_card} ${_vlan}) group internal ${_class_group}\" eval dhcpd_ifaces=\"${dhcpd_ifaces} ${_card_dot_vlan}\" }