#!/bin/sh

PATH="/usr/lib/alterator-net-common:$PATH"

iftabfile="/etc/iftab"

read_businfo()
{
    /usr/sbin/ethtool -i  "$1" 2>/dev/null|
	sed -nr 's,^bus-info:[[:space:]]([^[:space:]]+),\1,p'
}

iflist|
    while read name mac;do	    
	[ "00:00:00:00:00:00" = "$mac" ] && continue # avoid wrong mac addresses from broken drivers (like rt61)

	if [ -s "$iftabfile" ];	then
	    sed -r \
		-e "/^$name[[:space:]]/ d" \
		-e "/[[:space:]]mac[[:space:]]+$mac([[:space:]]|\$)/ d" \
	        -i "$iftabfile"

	    businfo=$(read_businfo "$name")
	    [ -z "$businfo" ] || 
		sed -r \
		    -e "/[[:space:]]businfo[[:space:]]+$businfo([[:space:]]|\$)/ d" \
	    	    -i "$iftabfile"
	fi

	printf "%s\tmac %s\n" "$name" "$mac" >>"$iftabfile"
    done
