#!/bin/bash

v4_vars="\
    new_domain_name_servers\
    new_domain_search\
    new_domain_name\
    new_broadcast_address\
    old_broadcast_address\
    new_subnet_mask\
    old_subnet_mask\
    alias_subnet_mask\
    new_interface_mtu\
    IF_METRIC\
    alias_ip_address\
    old_host_name\
    new_host_name\
    old_ip_address\
    alias_ip_address\
    new_ip_address\
    new_routers\
    metric_arg\
    new_expiry \
    old_routers" 

v6_vars="\
    old_ip6_prefix\
    new_ip6_prefix\
    old_ip6_address\
    new_ip6_address\
    new_ip6_prefixlen\
    old_ip6_prefixlen\
    new_dhcp6_name_servers\
    old_dhcp6_name_servers\
    new_dhcp6_domain_search\
    old_dhcp6_domain_search"

dump_var() {
    local var_name=$1
    local cmd="echo $var_name:[\$$var_name]" 
    eval $cmd
}

dump_vars() {
    local text="$1"
    echo "Dumping $1:"
    local list="$2"
    for var_name in $list
    do
        dump_var $var_name
    done
}

dump_var "reason"
dump_var "interface"

case "$reason" in
    PREINIT|\
    MEDIUM|\
    ARPCHECK|\
    ARPSEND|\
    BOUND|\
    RENEW|\
    REBIND|\
    REBOOT|\
    EXPIRE|\
    FAIL|\
    RELEASE|\
    STOP|\
    TIMEOUT)
        dump_vars "v4 vars" "$v4_vars"
        ;;

    PREINIT6|\
    BOUND6|\
    RENEW6|\
    REBIND6|\
    DEPREF6|\
    EXPIRE6|\
    RELEASE6|\
    STOP6)
        dump_vars "v6 vars" "$v6_vars"
        ;;
    *)
        echo "bad reason!"
esac

