I have a raspberry-pi (border router gateway) ordered from silicon labs. It has a USB which implements thread-protocol. The usb is connected to the raspberry-pi. When I do ifconfig on the terminal, I get this output for the tun0 interface.
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet6 addr: fe80::222:a300:11:60e2/64 Scope:Link inet6 addr: fd01::3b25:d835:9e0d:3109/64 Scope:Global inet6 addr: fe91::222:a300:11:60e2/64 Scope:Link inet6 addr: aaaa::1508:3a81:da7c:ec0b/64 Scope:Global inet6 addr: fe90::222:a300:11:60e2/64 Scope:Link UP DEBUG POINTOPOINT RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:736 (736.0 B)What does this output mean? Specifically I want to understand the output for HWaddr....
21 Answer
When you see HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 in the output of ifconfig tun0 it simply means that this is a virtual interface. Since this isn't an actual piece of hardware it doesn't have a hardware address.
Even for a virtual interface it is possible to make up a hardware address. However that is usually only needed for virtual Ethernet interfaces. For a tun device it is generally not needed, which is why it is left as all zeros.