Desired behaviour of "ifconfig -alias"
Brooks Davis
brooks at FreeBSD.ORG
Mon Feb 12 18:41:04 UTC 2007
On Mon, Feb 12, 2007 at 07:23:33PM +0100, Oliver Fromme wrote:
> Brooks Davis wrote:
> > Oliver Fromme wrote:
> > > Brooks Davis wrote:
> > > > ipv4_addrs_<interface> is a much better replacement IMO. It's easy to
> > > > use and doesn't required the hackish pseudo array traversal used by
> > > > ifconfig_iface_aliasX.
> > >
> > > That might work for simple cases, but how do you specify
> > > other parameters beside the IPs if you need to?
> >
> > What do you need to set? It's sets IP and netmask. It doesn't handle
> > broadcast, but I'd be pretty suprised if that's needed often.
>
> True, not often, but sometimes. I had cases like that in
> certain environments with bridged networks and arp proxies.
>
> I'm fine with your proposed syntax, as long as all the
> existing ifconfig possibilities continue to be possible,
> i.e. no regression.
FWIW, it's HEAD and 6.1. We've actually got the aliases syntax labled
as deprecated in the manpage. We might want to add a feature to set the
broadcast address.
> > is needed? Axing ifconfig_iface_aliasX is not needed, but reducing the
> > visiability of the interface in the documentation is probably in order
> > particularly since it's quite fragile since you have to renumber whenever
> > you remove an entry.
>
> Yup, I agree, that's a PITA. That could be solved in the
> shell code, though, by not enumerating until a number
> doesn't exist, but instead looking at the set of all
> shell variables that have been set, similar to this:
>
> set | grep "^ifconfig_${IFACE}_alias" | cut -f1 -d= | ...
Unfortuanly grep in in /usr/bin so can't be used. You could do it
with sh variable mangling and case though. Something like:
{ while read _var; do
_var=${_var%%=*}
case $_var in
ifconfig_${IFACE}_alias*)
<...>
;;
esac
done } < `set`
-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20070212/170811b7/attachment-0001.pgp
More information about the freebsd-stable
mailing list