Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a simple router for home users (D-Link DIR-300) with embedded Linux (kernel 2.6.21) and a bunch of networking tools. Inspecting the internals of of this system through telnet, I've got this output (slightly modified and stripped; lo and ifbN skipped) for the ifconfig -a command:

br0       Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          inet addr:  Bcast:  Mask:
          RX bytes:94887799 (90.4 MiB)  TX bytes:1042490563 (994.1 MiB)

br8       Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:974053699 (928.9 MiB)  TX bytes:0 (0.0 B)

eth2      Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          collisions:0 txqueuelen:1000
          RX bytes:2150801235 (2.0 GiB)  TX bytes:2142220936 (1.9 GiB)

eth2.1    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:17544 (17.1 KiB)  TX bytes:994732248 (948.6 MiB)

eth2.2    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:0 (0.0 B)  TX bytes:72669 (70.9 KiB)

eth2.3    Link encap:Ethernet  HWaddr CB:B2:55:9C:4D:2E
          RX bytes:96947373 (92.4 MiB)  TX bytes:1045811045 (997.3 MiB)

eth2.4    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          RX bytes:0 (0.0 B)  TX bytes:72669 (70.9 KiB)

eth2.5    Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2F
          inet addr:ex.te.rn.al  Bcast:ex.te.rn.255  Mask:
          RX bytes:2024079220 (1.8 GiB)  TX bytes:99321148 (94.7 MiB)

eth2.5.35 Link encap:Ethernet  HWaddr CB:B2:32:9C:4D:2E
          ... PROMISC ...
          RX bytes:984221760 (938.6 MiB)  TX bytes:22318 (21.7 KiB)

Physically there are 5 ethernet sockets, but as it could be seen from the above info there are 2 hardware NICs (CB:B2:32:9C:4D:2E and CB:B2:32:9C:4D:2F) and this appears logically: LAN and WAN. Maybe I'm wrong even with this, but eth2.5 seems to be the only normal case (its own IP/MAC). Other 8 generates difficulties understanding what's going on there: all 8 records have the same MAC (CB:B2:32:9C:4D:2E), only br0 has an assigned IP, eth2 seems to be special with txqueuelen:1000 and an interrupt (others don't have interrupts, even eth2.5), eth2.2 and eth2.4 are identical with the same amount of TX bytes and they don't recieve bytes, br8 is just receiving bytes.

So, how does this networking magic work? many different device names, same MAC, different properties
What are the relations between NICs, MAC addresses, device names?

share|improve this question
It is possible to asign several IPs to one physical interface (if you look, there are several eths with the same MAC address). The br are presumably bridges. – vonbrand Feb 26 '13 at 0:59
@vonbrand: Just br0 and eth2.5 have IPs, other records display none. And how is several IPs to one physical interface related to this (it seems out of context this statement)? – ArtM Feb 26 '13 at 12:39
Are there VLANs configured for any of the interfaces? Try grep VID /proc/net/vlan/* to see if that's the case, and what VLAN IDs are in use. – Alexios Mar 31 '13 at 10:41

According to Network bridge vs. NIC teaming?:

Bridging is usually used when you wish to combine two network connections, but not necessarily have them doing the same task (an example is if you want a VM to appear as a real machine on your network). You can bridge the VM's software NIC (if it has one) with a physical card giving it direct access to then LAN (rather than doing NAT)

It does make the computer see them as 1, but they'll only have one connection to the LAN/Internet.

To know that the interfaces used to create bridge use bridge-utils in linux. for example brctl show br0, then it will show the interfaces used to create bridge br0 and the hardware address(MAC address) of br0 is the MAC address of first interface that is used to create bridge br0. So here the first interface that you will see after running brctl show is eth2. After seeing your ifconfig result it seems like there is a bridge between interface eth2 to other interfaces like eth1, eth3, eth4,and eth5 named as eth2.1 and so on. You are seeing MAC address for eth2.5 is different because of during bridge creation eth5 is taken as first interface.

share|improve this answer
Yes, your notes about bridges add some clarity to the picture. eth2.5 is different because it represents a totally different NIC (like a simple one on an average computer) and it doesn't belong to any bridge. brctl show displays 2 bridges: br0/8000.cbb2329c4d2e/no STP/eth2.2+eth2.3+eth2.4 and br8/8000.cbb2329c4d2e/no STP/eth2.5.35+eth2.1. It still remains unclear what is eth2 (not eth2.2) and eth2.5.35 and why the math for bytes is inconsistent – ArtM Feb 26 '13 at 12:35
The byte counts also depend on when each interface was added to the bridge. I wouldn't trust them for what you're trying to do, unless you have a very carefully controlled environment and know the timeline of events. – Alexios Mar 31 '13 at 10:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.