I suspect the issue might be somewhere in your udev configuration. You can get the evaluated udev rules by running 'udevadm test <device path>'
So running 'udevadm test /sys/class/net/ens6f2' and 'udevadm test /sys/class/ net/eth0' and comparing outputs should tell you/everyone else whats different for those devices and why they use different naming schemes. The old ethX names depend on the order of initialization and is therefore unstable. The new format (e.g. ens6f2) depends on pci device numbers and is stable. Cheers, Valentin