Description

This article provides information about the logic in allocating a MAC address into an 802.1ad bundle.

Symptoms

How is a MAC address allocated into an 802.1ad bundle?

Solution

When a user creates multiple 802.1ad bundle interfaces, the software will allocate each MAC address from the midplane's mac-address pool in accordance with following rule:

MAC address pool

user@router> show chassis mac-addresses
MAC address information:
Public base address 00:05:85:68:18:00
Public count 2032
Private base address 00:05:85:68:1f:f0
Private count 16

MAC address allocation rule

  1. Allocates MAC addresses from the private pool for the first 16 interfaces.
  2. For the remaining interfaces, allocates MAC addresses from the public pool. 
  3. In case of public address allocation, the software sets the second-least-significant bit of the most significant byte of the address to distinguish it from private addresses.

Example - Creating 17 AE interfaces

Interface 1 through 16 MAC addresses are taken from the private pool:

user@router> show interfaces ae0 extensive | match address
Current address: 00:05:85:68:1f:f0, Hardware address: 00:05:85:68:1f:f0

user@router> show interfaces ae15 extensive | match address
Current address: 00:05:85:68:1f:ff, Hardware address: 00:05:85:68:1f:ff

Interface 17 MAC addresses are taken from the public pool:

lab@router> show interfaces ae16 extensive | grep address
Current address: 02:05:85:68:19:39, Hardware address: 02:05:85:68:19:39

A little bit confusing here is that the "locally administered bit" is set on the first octet, as explained in the above rule. In binary, from b'00000000 to b'00000010, hence the first octet changed from 00 to 02.

Related Information