- Overview
- Product Documentation
- CML 2.8 Release Notes
- CML 2.8 Installation Guide
- CML 2.8 User Guide
- CML 2.8 Admin Guide
- CML Administrator's Guide
- Cisco Modeling Labs System Overview
- System Defaults
- Creating a New Node Definition
- Node Definition SMBIOS Parameters Specification
- Custom VM Images
- Clustering
- CML Admin Tools
- System Settings
- Networking
- Resources
Configuring the System MAC Address OUI¶
CML automatically allocates a MAC address to each interface that requires one. The allocation exists for all interfaces of a node from the time you start the node for the first time. The MAC address is released when you wipe the node.
All assigned MAC addresses use the same upper three bytes, called OUI. By default,
the OUI used is 52:54:00
, which is also used by the underlying Libvirt platform.
The lower three bytes of the MAC address are selected at random.
To avoid MAC address clashes, each allocated address must be unique, and CML
will enforce this constraint for all lab node interfaces.
However, when lab nodes are connected to L2 external networks, such uniqueness cannot be guaranteed, and there is some likelihood that a clash will occur. This is true in case multiple CML deployments are connected to the same L2 segments, but other virtualization platform hosts that use Libvirt may contribute in the same way.
The issue is compounded when connected lab nodes create virtual interfaces that use MAC addresses derived from the assigned MAC address by some bit manipulation. Potentially, the lowest 1-2 bytes of the derived addresses will be the same for the same node type, with only 1 remaining random byte from the original address.
To help mitigate such issues, you may set the OUI value of the CML server to another value. The OUI prefix must indicate that the generated MAC address is unicast, and it should also indicate that the address is locally administered.
Use an OUI in the form of XA:XX:XX, where X is any hex digit and A is one of [26AE]. It is probably sufficient just to change the value to 52:54:01 and so on. It is not recommended to use an OUI that is in use by real-world devices.
Some third-party lab node types may expect that the OUI is universally administered,
in which case you may use the second digit as one of [048C], e.g. 54:54:01
.
For further discussion on special cases and manual MAC assignment, see also Assigning MAC Address to an Interface.
The changed value will apply to any new MAC address assignments. Already deployed lab nodes will continue to use their original MAC addresses until they are wiped. We recommend that you wipe all lab nodes in the affected CML system prior to editing the OUI value so that the CML server uses the new value immediately and consistently across all nodes.
In Cluster environments, the OUI setting on compute hosts is ignored and is not involved in MAC address generation.
CML releases prior to 2.8.0 did not allow changing the OUI value and used a concept called MAC address block instead. The high part of the 4th byte of the generated MAC addresses was fixed to one of 8 values, defaulting to 0.
The MAC address block API has been removed in favor of configuring the OUI.
When upgrading, the MAC address block value will be automatically folded into
the OUI setting, i.e. block 4 will set OUI to 52:54:04
.
All deployed nodes will keep their MAC addresses without change. If you used the MAC address block feature in your deployments, you should at your convenience wipe and restart the lab nodes, just as if you changed the OUI yourself. There is a chance of an address clash if more than one CML instance used the default block.
Procedure
Log into the System Administration Cockpit as the system administrator account. See Logging into the System Administration Cockpit.
Click Terminal in the navigation bar on the left side of the page.
Edit the controller configuration file
sudo nano /etc/defaults/virl2
Find the line setting OUI=”52:54:00”; edit it to the desired value.
Save the file with Ctrl+X
and Y
.
Click CML2 in the navigation bar on the left side of the page.
Expand the Restart CML Services section.
Click the Restart Services button and confirm.