John Hay <[email protected]> wrote in <[email protected]>:
jh> Hi Guys,
jh>
jh> freebsd-rc did not react, so I'm just checking on -net too.
jh>
jh> I found after upgrading that vlan handling broke. I tried the following:
jh>
jh> vlans_bce1="6"
jh> ipv4_addrs_bce1_6="inet 10.239.100.2/24"
jh> ifconfig_bce1_6_aliases="inet 10.239.100.2/24"
jh> ifconfig_bce1_6_alias0="inet 10.239.100.2/24"
jh>
jh> I traced it down to ifalias_af_common_handler being called with the
jh> mangled interfcace name _if and it then calls ifconfig with it. Here
jh> is my fix. Any reason not to commit it? My diff is against 10-stable,
jh> but head looks the same.
Can you try the attached patch? It seemed broken after list_vars()
was introduced. Replacing $_if with $1 also fixes it, but $_if
should be used for ifname as the other parts do.
jh> While looking through the code I saw that ltr is called with different
jh> styling. Is there a reason for it? Which is the prefered style?
jh>
jh> ltr ${_if} "${_punct}" '_' _if
jh> ltr "$_if" "$_punct" "_" _if
I do not think there is a reason.
I think there is no consensus about the style but I am using {} only
when boundary between the variable name and the subsequent characters
can be ambiguous.
-- Hiroki
Index: network.subr
===================================================================
--- network.subr (revision 267636)
+++ network.subr (working copy)
@@ -1077,7 +1077,7 @@
ifalias_af_common()
{
local _ret _if _af _action alias ifconfig_args _aliasn _c _tmpargs _iaf
- local _punct=".-/+"
+ local _vif _punct=".-/+"
_ret=1
_aliasn=
@@ -1086,11 +1086,11 @@
_action=$3
# Normalize $_if before using it in a pattern to list_vars()
- ltr "$_if" "$_punct" "_" _if
+ ltr "$_if" "$_punct" "_" _vif
# ifconfig_IF_aliasN which starts with $_af
- for alias in `list_vars ifconfig_${_if}_alias[0-9]\* |
- sort_lite -nk1.$((9+${#_if}+7))`
+ for alias in `list_vars ifconfig_${_vif}_alias[0-9]\* |
+ sort_lite -nk1.$((9+${#_vif}+7))`
do
eval ifconfig_args=\"\$$alias\"
_iaf=
@@ -1118,8 +1118,8 @@
# backward compatibility: ipv6_ifconfig_IF_aliasN.
case $_af in
inet6)
- for alias in `list_vars ipv6_ifconfig_${_if}_alias[0-9]\* |
- sort_lite -nk1.$((14+${#_if}+7))`
+ for alias in `list_vars ipv6_ifconfig_${_vif}_alias[0-9]\* |
+ sort_lite -nk1.$((14+${#_vif}+7))`
do
eval ifconfig_args=\"\$$alias\"
case ${_action}:"${ifconfig_args}" in
@@ -1129,7 +1129,7 @@
alias:*)
_aliasn="${_aliasn} inet6 ${ifconfig_args}"
warn "\$${alias} is obsolete. " \
- "Use ifconfig_$1_aliasN instead."
+ "Use ifconfig_${_vif}_aliasN instead."
;;
esac
done
pgpFShD20w3id.pgp
Description: PGP signature
