I have a bare metal with 22 interfaces, labelled from 0-22 on the device. Now when I am on the CLI and do an ifconfig -a I get the interfaces with a different set of names starting enpsXX.

Now how can I map, which physical interface corresponds to the name displayed ?


The old eth0, ethX naming scheme has been replaced in systemd systems with "predictable network interface names". The good news is they still allow you to control which devices are named what, just like you used to be able to do by driver, generic device type (wireless vs not), MAC address etc when using udev-rules.


| improve this answer | |
  • Yes, I have seen that page. It gives the criteria but does not provide any actual way to find out – john May 18 '17 at 15:22
  • The article on that page mentions checking the source - for how it determines the name to use. Based on the name you posted, this is the relevant section of that one doc - "Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)". And in the comments in the source - "p<bus>s<slot>" - so you have a wired ethernet (en) on bus id pX device sX . Source comments are at github.com/systemd/systemd/blob/master/src/udev/… – ivanivan May 18 '17 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.