daemon: Skip devices without hw address during device detection
daemon: Skip devices without hw address during device detection

We need NodePort and direct routing devices to have a MAC address. If
they don't, init.sh fails with the following error:

    level=warning msg="+ for NATIVE_DEV in ${NATIVE_DEVS//;/ }" subsys=datapath-loader
    level=warning msg="++ cat /sys/class/net/lo/ifindex" subsys=datapath-loader
    level=warning msg="+ IDX=1" subsys=datapath-loader
    level=warning msg="++ ip link show lo" subsys=datapath-loader
    level=warning msg="++ grep ether" subsys=datapath-loader
    level=warning msg="++ awk '{print $2}'" subsys=datapath-loader
    level=warning msg="+ MAC=" subsys=datapath-loader
    level=error msg="Error while initializing daemon" error="exit status 1" subsys=daemon
    level=fatal msg="Error while creating daemon" error="exit status 1" subsys=daemon

Thus, we need to skip auto-detected devices that don't have a MAC
address. This commit implements that and was tested by injecting a
loopback interface with an IP address in the code, in the dev. VM:

    loAddr, err := netlink.ParseAddr("192.168.33.11/32")
    if err == nil {
        loAddr.LinkIndex = 1
        addrs = append(addrs, *loAddr)
    }

Fixes: #12228
Fixes: #12304
Fixes: 6730d0f ("daemon: Extend BPF NodePort device auto-detection")
Signed-off-by: Paul Chaignon <a027184a55211cd23e3f3094f1fdc728df5e0500@cilium.io>

michi-covalent/cilium,tklauser/cilium,tgraf/cilium,tklauser/cilium,cilium/cilium,tgraf/cilium,tklauser/cilium,tgraf/cilium,cilium/cilium,michi-covalent/cilium,michi-covalent/cilium,tgraf/cilium,michi-covalent/cilium,tgraf/cilium,michi-covalent/cilium,cilium-team/cilium,cilium/cilium,cilium/cilium,tgraf/cilium,tklauser/cilium,cilium-team/cilium,cilium/cilium,tklauser/cilium