[Swan-dev] extract MAC address from "ip -o link sow dev eth0" - awk

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Fri Sep 20 21:41:15 UTC 2019

On Fri, Sep 20, 2019 at 11:08:39AM +0200, Antony Antony wrote:
> There is an annoying issue when running inside docker/namespace.  The proxy 
> arp function in _updown.netkey would fails. It has been bugging me for 
> years!
> Now I tracked it down to two lines in _updown.netkey.in
> Here my first attempt to replace it using "ip link " command.  
> programs/_updown.netkey/_updown.netkey.in
> -           if [ -r /sys/class/net/${iface}/address ]; then
> -               macaddr=$(cat /sys/class/net/${iface}/address)
> +           if ip -o link show dev ${iface}; then
> +               macaddr=$(ip -o link show dev ${iface} | awk '$2 != "${iface}:" {print $(NF-4)}')

Looking at docker containers here, eth0 is in /sys/class/net/ in
the container and appears to have the correct mac address showing.
Matches what ip command shows.  Not sure why yours would not have it.

Len Sorensen

More information about the Swan-dev mailing list