CentOS 7 Interface Naming

Mar 2017

From CentOS 7 onwards the way the interfaces are named has changed. Gone are the traditional eth0, eth1 etc. This is slightly annoying for those of use that are used to it.
An interface name is now comprised of an identifier followed by a value for the interface.

<sxh [txt][; options for SyntaxHighlighter]> Two character prefixes based on the type of interface: * en – ethernet * sl – serial line IP (slip) * wl – wlan * ww – wwan * ib – Infiniband

Type of names: * b<number> – BCMA bus core number * ccw<name> – CCW bus group name * o<index> – on-board device index number * s<slot>[f<function>][d<dev_port>] – hotplug slot index number * x<MAC> – MAC address * [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]

- PCI geographical location

* [P<domain>]p<bus>s<slot>[f<function>][u<port>][..]1[i<interface>] </sxh>
Here is an example of a CentOS 7.2 installation, that is using multiple interfaces.

ens513f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
ens513f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
ens513f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
ens513f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
enp4s0f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000

So enp4s0f0 is what we would recognise normally as eth0.
en is Ethernet. The letters p/s are the index (I have seen other letters for this) and the value enp4s0f0 etc is the interface number (again, its in a crappy order that doesn't necessarily follow the hardware port numbering).
In this above example, the server has two onboard interfaces (what we shall refer to as eth0 and eth1) and a PCI board that has four interfaces. This is why two of the interfaces have the letter p and four have the letter s. Where this letter comes from I have not yet worked out.