When updating the firmware on a 400g nic, the driver didn't understand the media type the NIC's firmware was reporting, and its media was reported as "unknown" by ifconfg. This broke LACP on this host, as lacp separates links by speed, and creates different aggregation groups based on speed. Since there was no media type reported, this link went into a different aggregation group as LACP could not determine its speed.
This change fixes a few bugs:
- Actually uses the baud rate reported by the interface as the speed (and falls back to use the baudrate associated with the media if the interface somehow doesn't support if_baudrate)
- Compresses the baud rates back down to 4 bits. Using things like IFM_400G_FR8 does not fit in 4 bits (its value is0x1811) . In fact, interfaces faster than 1Gb/s don't fit in 4 bits using the old scheme
- Emits a warning to the console once per boot if it encounters a NIC with an unsupported speed.