# vim: set ft=sh:

run_hook () {
    local i net_mac bootif_mac bootif_dev
    # These variables will be parsed from /tmp/net-*.conf generated by ipconfig
    local DEVICE
    local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1
    local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH
    local filename
    # /tmp/net-*.conf

    if [[ -n "${ip}" ]]; then
        if [[ -n "${BOOTIF}" ]]; then
            bootif_mac=${BOOTIF#01-}
            bootif_mac=${bootif_mac//-/:}
            for i in /sys/class/net/*/address; do
                read net_mac < ${i}
                if [[ "${bootif_mac}" == "${net_mac}" ]]; then
                    bootif_dev=${i#/sys/class/net/}
                    bootif_dev=${bootif_dev%/address}
                    break
                fi
            done
            ip="${ip}::${bootif_dev}"
        fi

        # setup network and save some values
        ipconfig "ip=${ip}"

        . /tmp/net-*.conf

        pxeserver=${ROOTSERVER}

        # setup DNS resolver
        if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then
            echo "nameserver ${IPV4DNS0}" > /etc/resolv.conf
        fi
        if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then
            echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf
        fi
    fi
}