What is happening at time code 12.252659?
There are various systems used to name network interfaces. https://wiki.debian.org/NetworkInterfaceNames has a bunch of details, but to summarise.
The kernel names network interfaces based on the order in which their drivers register the network interfaces. The problem with this is that the order in which this happens can change. This became more of a problem as boot processes became less linear, and busses became more hotpluggable.
Userland software, usually udev, can later come along and rename the network interfaces. Hopefully to something more stable and predictable than what the kernel uses. However there are scenarios where such soloutions cause more problems than they solve.
Debian for years used a system known as "PERSISTENT NAMES" to take the names assigned by the kernel and stabalise them based on MAC addresses. There were a couple of issues with this scheme however.
- The kernel names and the renamed names overlapped with each other. This meant that sometimes extra renames were needed, e.g. if eth0 and eth1 needed to be swapped then the system would have to perform three renames. This process could suffer from race conditions.
- If a system was cloned, even to identical hardware, then the network interface names would change. Similarly if a network interface was replaced, even with an identical replacement, it's name would change.
- udev upstream wasn't really supportive of the hacks required to support overlapping "kernel" and "udev assigned" names.
Later, another scheme known as "Predictable network names" was introduced. Afaict this scheme was driven by RedHat but has now been adopted by all major linux distros. There are five schemes used to name devices. In descending order of priority.
- A special sceheme that only seems to be used for dell "idrac" related devices.
- A Scheme for "onboard" devices. Only possible if the system provides sufficient metadata about how it's PCI bus layout maps to it's physical layout and does not seem to be supported on the Pi.
- A scheme based on PCIe "slot numbers", again not supported on all systems.
- A scheme based on the "bus location" of a device, this assumes a system with a PCI bus at the top level, and potentially USB buses connected via the PCI bus. It also assumes that PCI device numbering is stable, which isn't always the case.
- A scheme based on the MAC address of the device.
This system works really well for big-brand PCs and servers, but it doesn't work so great on more obscure hardware. udev doesn't seem to have any information to tell is that the SMC usb hub with Ethernet is on-board and there is no PCI bus either. So "predictable net names" ends up falling back to the
As has been mentioned in the other answer you can turn on and off the "predictable net names" functionality in raspi-config.
You can also add custom rules. This can be quite useful, the SMSC USB hub with Ethernet chips seem quite rare outside of embedded linux boards, so it's quite likely that if you have for-example the onboard Ethernet and an external adapter that they will be using different chipsets.