Skip to content

athierry1/aquantia-mac-generator

 
 

Repository files navigation

The 10GB Aquantia NICs on the Qualcomm SA8540p Development Boards (QDrive3) come up with the same hardware MAC address of 00:17:b6:00:00:00. We have multiple development boards in the Red Hat lab and this will not work for us since we can't have the same MAC address show up on the same LAN multiple times.

This RPM package uses systemd-networkd to rewrite the 00:17:b6:00:00:00 MAC address into one that's based on the systemd machine-id. A systemd-networkd link file /etc/systemd/network/10-aquantia-10gb.link is created with contents similar to the following:

[Match]
PermanentMACAddress=00:17:b6:00:00:00
    
[Link]
MACAddress=00:17:b6:50:72:49

systemd-networkd expects this file to be static, and does not have the ability to dynamically inject a new MAC address. This RPM provides a script that'll dynamically create a MAC address within the Aquantia OUI. This script is automatically executed as a post install scriptlet after the RPM is installed. It's also ran during bootup before the networking is started. This will ensure that each board keeps the same MAC address that's unique across the fleet.

Note that this RPM is just a workaround until we find a solution from Qualcomm about how to program a MAC address into our boards.

The following patch was posted upstream in order to have the kernel automatically assign a random MAC address when 00:17:b6:00:00:00 was encountered in the Aquantia NIC driver: net: atlantic: fix check for invalid ethernet addresses. This patch was rejected upstream since technically that is a valid MAC address. The fix for this does not belong in the kernel.

Building

Type make rpm to build and the generated RPM will be in ~/rpmbuild/RPMS/noarch/.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 57.1%
  • Makefile 42.9%