examples: remove gaiconf
The gaiconf script is a workaround for something now handled in distros as part of libc. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
14fd32d3c6
commit
86c0bf5982
134
examples/gaiconf
134
examples/gaiconf
|
|
@ -1,134 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# Setup address label from /etc/gai.conf
|
|
||||||
#
|
|
||||||
# Written by YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>, 2010.
|
|
||||||
#
|
|
||||||
|
|
||||||
IP=ip
|
|
||||||
DEFAULT_GAICONF=/etc/gai.conf
|
|
||||||
verbose=
|
|
||||||
debug=
|
|
||||||
|
|
||||||
function run ()
|
|
||||||
{
|
|
||||||
if [ x"$verbose" != x"" ]; then
|
|
||||||
echo "$@"
|
|
||||||
fi
|
|
||||||
if [ x"$debug" = x"" ]; then
|
|
||||||
"$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function do_load_config ()
|
|
||||||
{
|
|
||||||
file=$1; shift
|
|
||||||
flush=1
|
|
||||||
cat $file | while read command prefix label; do
|
|
||||||
if [ x"$command" = x"#label" ]; then
|
|
||||||
if [ ${flush} = 1 ]; then
|
|
||||||
run ${IP} -6 addrlabel flush
|
|
||||||
flush=0
|
|
||||||
fi
|
|
||||||
run ${IP} -6 addrlabel add prefix $prefix label $label
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function do_list_config ()
|
|
||||||
{
|
|
||||||
${IP} -6 addrlabel list | while read p pfx l lbl; do
|
|
||||||
echo label ${pfx} ${lbl}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function help ()
|
|
||||||
{
|
|
||||||
echo "Usage: $0 [-v] {--list | --config [ ${DEFAULT_GAICONF} ] | --default}"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
TEMP=`getopt -o c::dlv -l config::,default,list,verbose -n gaiconf -- "$@"`
|
|
||||||
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
echo "Terminating..." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
TEMPFILE=`mktemp`
|
|
||||||
|
|
||||||
eval set -- "$TEMP"
|
|
||||||
|
|
||||||
while true ; do
|
|
||||||
case "$1" in
|
|
||||||
-c|--config)
|
|
||||||
if [ x"$cmd" != x"" ]; then
|
|
||||||
help
|
|
||||||
fi
|
|
||||||
case "$2" in
|
|
||||||
"") gai_conf="${DEFAULT_GAICONF}"
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
*) gai_conf="$2"
|
|
||||||
shift 2
|
|
||||||
esac
|
|
||||||
cmd=config
|
|
||||||
;;
|
|
||||||
-d|--default)
|
|
||||||
if [ x"$cmd" != x"" ]; then
|
|
||||||
help
|
|
||||||
fi
|
|
||||||
gai_conf=${TEMPFILE}
|
|
||||||
cmd=config
|
|
||||||
;;
|
|
||||||
-l|--list)
|
|
||||||
if [ x"$cmd" != x"" ]; then
|
|
||||||
help
|
|
||||||
fi
|
|
||||||
cmd=list
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-v)
|
|
||||||
verbose=1
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift;
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Internal error!" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
case "$cmd" in
|
|
||||||
config)
|
|
||||||
if [ x"$gai_conf" = x"${TEMPFILE}" ]; then
|
|
||||||
sed -e 's/^[[:space:]]*//' <<END_OF_DEFAULT >${TEMPFILE}
|
|
||||||
label ::1/128 0
|
|
||||||
label ::/0 1
|
|
||||||
label 2002::/16 2
|
|
||||||
label ::/96 3
|
|
||||||
label ::ffff:0:0/96 4
|
|
||||||
label fec0::/10 5
|
|
||||||
label fc00::/7 6
|
|
||||||
label 2001:0::/32 7
|
|
||||||
END_OF_DEFAULT
|
|
||||||
fi
|
|
||||||
do_load_config "$gai_conf"
|
|
||||||
;;
|
|
||||||
list)
|
|
||||||
do_list_config
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
help
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
rm -f "${TEMPFILE}"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue