How to determine “Predictable Name” of network interfaceHow does Windows decide which DNS Server to use when resolving names?how can i control where pci devices are mounted?Second ip address on same interface CentOS 6.3Using Network Interface With Multiple IP AddressesSpecifying which network interface to useIdentification of physical network interface in linuxWhy is my eth0 called eno16777736?disabling predictable network interface names in xubuntu 15.10systemd: when during boot are network interface devices createdpredictable network interface names in systemd
Crime rates in a post-scarcity economy
Why are thrust reversers not used down to taxi speeds?
As a small race with a heavy weapon, does enlage remove the disadvantage?
And now you see it II (the B side)
When was it publicly revealed that a KH-11 spy satellite took pictures of the first Shuttle flight?
why it is 2>&1 and not 2>>&1 to append to a log file
My perfect evil overlord plan... or is it?
How do I minimise waste on a flight?
Gift for mentor after his thesis defense?
Can radiation block all wireless communications?
mini sub panel?
How would an instant or sorcery with an effect that targets work with Feather?
My Sixteen Friendly Students
Creating Stored Procedure in local db that references tables in linked server
get unsigned long long addition carry
What computer port is this?
Why doesn't Dany protect her dragons better?
Sed operations are not working or might i am doing it wrong?
Light Switch Neutrals: Bundle all together?
Are there vaccine ingredients which may not be disclosed ("hidden", "trade secret", or similar)?
How can it be that ssh somename works, while nslookup somename does not?
Illegal assignment from Id to List
What will Doctor Strange protect now?
Why did Missandei say this?
How to determine “Predictable Name” of network interface
How does Windows decide which DNS Server to use when resolving names?how can i control where pci devices are mounted?Second ip address on same interface CentOS 6.3Using Network Interface With Multiple IP AddressesSpecifying which network interface to useIdentification of physical network interface in linuxWhy is my eth0 called eno16777736?disabling predictable network interface names in xubuntu 15.10systemd: when during boot are network interface devices createdpredictable network interface names in systemd
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I am setting up a new server and installed Ubuntu Bionic, which uses Predictable Network Interface Names.
The installer is running on a rescue system, which still uses old interface names like eth0
, eth1
, but the newly installed system has configured the first network card as enp8s0
.
Using lshw
, the bus info for this card is:
bus info: pci@0000:08:00.0
I would like to set up the other network interfaces without booting into the newly installed system yet, but don't know how to determine the predictable network interface names for the other cards.
Using lshw
, I found another network card, which is currently disabled:
bus info: pci@0000:41:00.0
Is it possible to determine the predictable network interface name from this? Would it be something like enp41s0
?
I have searched for a while and could not find any tool which would simply list all the devices together with their predictable names.
Edit: Why do I not want to boot the new system to find out? Because this would add an extra step to the setup process. Using the old interface naming, I could run a script to set up the server from the rescue system provided by the hosting company and it was ready for use. Now I would have to set up the server minus the additional network config first. Then I have to set up networking manually once the new system has booted, just to know the names of the interfaces.
ubuntu networking systemd udev
add a comment |
I am setting up a new server and installed Ubuntu Bionic, which uses Predictable Network Interface Names.
The installer is running on a rescue system, which still uses old interface names like eth0
, eth1
, but the newly installed system has configured the first network card as enp8s0
.
Using lshw
, the bus info for this card is:
bus info: pci@0000:08:00.0
I would like to set up the other network interfaces without booting into the newly installed system yet, but don't know how to determine the predictable network interface names for the other cards.
Using lshw
, I found another network card, which is currently disabled:
bus info: pci@0000:41:00.0
Is it possible to determine the predictable network interface name from this? Would it be something like enp41s0
?
I have searched for a while and could not find any tool which would simply list all the devices together with their predictable names.
Edit: Why do I not want to boot the new system to find out? Because this would add an extra step to the setup process. Using the old interface naming, I could run a script to set up the server from the rescue system provided by the hosting company and it was ready for use. Now I would have to set up the server minus the additional network config first. Then I have to set up networking manually once the new system has booted, just to know the names of the interfaces.
ubuntu networking systemd udev
Why not enable it and find out?
– Reinderien
May 4 at 16:52
It doesn't say0000:00:41.0
!
– Michael Hampton♦
May 4 at 17:40
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
@Reinderien I did eventually boot it to find out: that interface came up asenp65s0
. I still wish I could see how this name was determined.
– pymkin
2 days ago
add a comment |
I am setting up a new server and installed Ubuntu Bionic, which uses Predictable Network Interface Names.
The installer is running on a rescue system, which still uses old interface names like eth0
, eth1
, but the newly installed system has configured the first network card as enp8s0
.
Using lshw
, the bus info for this card is:
bus info: pci@0000:08:00.0
I would like to set up the other network interfaces without booting into the newly installed system yet, but don't know how to determine the predictable network interface names for the other cards.
Using lshw
, I found another network card, which is currently disabled:
bus info: pci@0000:41:00.0
Is it possible to determine the predictable network interface name from this? Would it be something like enp41s0
?
I have searched for a while and could not find any tool which would simply list all the devices together with their predictable names.
Edit: Why do I not want to boot the new system to find out? Because this would add an extra step to the setup process. Using the old interface naming, I could run a script to set up the server from the rescue system provided by the hosting company and it was ready for use. Now I would have to set up the server minus the additional network config first. Then I have to set up networking manually once the new system has booted, just to know the names of the interfaces.
ubuntu networking systemd udev
I am setting up a new server and installed Ubuntu Bionic, which uses Predictable Network Interface Names.
The installer is running on a rescue system, which still uses old interface names like eth0
, eth1
, but the newly installed system has configured the first network card as enp8s0
.
Using lshw
, the bus info for this card is:
bus info: pci@0000:08:00.0
I would like to set up the other network interfaces without booting into the newly installed system yet, but don't know how to determine the predictable network interface names for the other cards.
Using lshw
, I found another network card, which is currently disabled:
bus info: pci@0000:41:00.0
Is it possible to determine the predictable network interface name from this? Would it be something like enp41s0
?
I have searched for a while and could not find any tool which would simply list all the devices together with their predictable names.
Edit: Why do I not want to boot the new system to find out? Because this would add an extra step to the setup process. Using the old interface naming, I could run a script to set up the server from the rescue system provided by the hosting company and it was ready for use. Now I would have to set up the server minus the additional network config first. Then I have to set up networking manually once the new system has booted, just to know the names of the interfaces.
ubuntu networking systemd udev
ubuntu networking systemd udev
edited 2 days ago
pymkin
asked May 4 at 14:58
pymkinpymkin
1457
1457
Why not enable it and find out?
– Reinderien
May 4 at 16:52
It doesn't say0000:00:41.0
!
– Michael Hampton♦
May 4 at 17:40
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
@Reinderien I did eventually boot it to find out: that interface came up asenp65s0
. I still wish I could see how this name was determined.
– pymkin
2 days ago
add a comment |
Why not enable it and find out?
– Reinderien
May 4 at 16:52
It doesn't say0000:00:41.0
!
– Michael Hampton♦
May 4 at 17:40
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
@Reinderien I did eventually boot it to find out: that interface came up asenp65s0
. I still wish I could see how this name was determined.
– pymkin
2 days ago
Why not enable it and find out?
– Reinderien
May 4 at 16:52
Why not enable it and find out?
– Reinderien
May 4 at 16:52
It doesn't say
0000:00:41.0
!– Michael Hampton♦
May 4 at 17:40
It doesn't say
0000:00:41.0
!– Michael Hampton♦
May 4 at 17:40
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
@Reinderien I did eventually boot it to find out: that interface came up as
enp65s0
. I still wish I could see how this name was determined.– pymkin
2 days ago
@Reinderien I did eventually boot it to find out: that interface came up as
enp65s0
. I still wish I could see how this name was determined.– pymkin
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
Details of the naming scheme are in the source code: udev/udev-builtin-net_id.c. Some common schemes are PCI physical, PCI hotplug, and onboard. Your enp interface suggests physical.
Stripping out exotic and irrelevant bits from the comments leaves these rules:
* Two character prefixes based on the type of interface:
* en — Ethernet
*
* Type of names:
* [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
* — PCI geographical location
*
* All multi-function PCI devices will carry the [f<function>] number in the
* device name, including the function 0 device.
*
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
That PCI bus name is formatted as domain:bus:slot.function.
Assuming it is not a multifunction device, pci@0000:41:00.0
appears as enp65s0
, since hex 41 converts to decimal 65.
Thanks for the explanation. Funnily, the device turned up asenp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.
– pymkin
2 days ago
1
@pymkin The PCI bus and other numbers shown inlspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.
– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
2 days ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965873%2fhow-to-determine-predictable-name-of-network-interface%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Details of the naming scheme are in the source code: udev/udev-builtin-net_id.c. Some common schemes are PCI physical, PCI hotplug, and onboard. Your enp interface suggests physical.
Stripping out exotic and irrelevant bits from the comments leaves these rules:
* Two character prefixes based on the type of interface:
* en — Ethernet
*
* Type of names:
* [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
* — PCI geographical location
*
* All multi-function PCI devices will carry the [f<function>] number in the
* device name, including the function 0 device.
*
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
That PCI bus name is formatted as domain:bus:slot.function.
Assuming it is not a multifunction device, pci@0000:41:00.0
appears as enp65s0
, since hex 41 converts to decimal 65.
Thanks for the explanation. Funnily, the device turned up asenp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.
– pymkin
2 days ago
1
@pymkin The PCI bus and other numbers shown inlspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.
– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
2 days ago
add a comment |
Details of the naming scheme are in the source code: udev/udev-builtin-net_id.c. Some common schemes are PCI physical, PCI hotplug, and onboard. Your enp interface suggests physical.
Stripping out exotic and irrelevant bits from the comments leaves these rules:
* Two character prefixes based on the type of interface:
* en — Ethernet
*
* Type of names:
* [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
* — PCI geographical location
*
* All multi-function PCI devices will carry the [f<function>] number in the
* device name, including the function 0 device.
*
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
That PCI bus name is formatted as domain:bus:slot.function.
Assuming it is not a multifunction device, pci@0000:41:00.0
appears as enp65s0
, since hex 41 converts to decimal 65.
Thanks for the explanation. Funnily, the device turned up asenp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.
– pymkin
2 days ago
1
@pymkin The PCI bus and other numbers shown inlspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.
– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
2 days ago
add a comment |
Details of the naming scheme are in the source code: udev/udev-builtin-net_id.c. Some common schemes are PCI physical, PCI hotplug, and onboard. Your enp interface suggests physical.
Stripping out exotic and irrelevant bits from the comments leaves these rules:
* Two character prefixes based on the type of interface:
* en — Ethernet
*
* Type of names:
* [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
* — PCI geographical location
*
* All multi-function PCI devices will carry the [f<function>] number in the
* device name, including the function 0 device.
*
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
That PCI bus name is formatted as domain:bus:slot.function.
Assuming it is not a multifunction device, pci@0000:41:00.0
appears as enp65s0
, since hex 41 converts to decimal 65.
Details of the naming scheme are in the source code: udev/udev-builtin-net_id.c. Some common schemes are PCI physical, PCI hotplug, and onboard. Your enp interface suggests physical.
Stripping out exotic and irrelevant bits from the comments leaves these rules:
* Two character prefixes based on the type of interface:
* en — Ethernet
*
* Type of names:
* [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
* — PCI geographical location
*
* All multi-function PCI devices will carry the [f<function>] number in the
* device name, including the function 0 device.
*
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
That PCI bus name is formatted as domain:bus:slot.function.
Assuming it is not a multifunction device, pci@0000:41:00.0
appears as enp65s0
, since hex 41 converts to decimal 65.
edited 2 days ago
pymkin
1457
1457
answered May 4 at 19:28
John MahowaldJohn Mahowald
9,7241713
9,7241713
Thanks for the explanation. Funnily, the device turned up asenp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.
– pymkin
2 days ago
1
@pymkin The PCI bus and other numbers shown inlspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.
– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
2 days ago
add a comment |
Thanks for the explanation. Funnily, the device turned up asenp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.
– pymkin
2 days ago
1
@pymkin The PCI bus and other numbers shown inlspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.
– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
2 days ago
Thanks for the explanation. Funnily, the device turned up as
enp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.– pymkin
2 days ago
Thanks for the explanation. Funnily, the device turned up as
enp65s0
after booting into the new OS. I was looking for a tool that could tell me these names without having to boot the new system, it slows down the server setup.– pymkin
2 days ago
1
1
@pymkin The PCI bus and other numbers shown in
lspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.– Michael Hampton♦
2 days ago
@pymkin The PCI bus and other numbers shown in
lspci
etc. are in hex; the numbers used in the interface name are in decimal. So you have to convert from hex to decimal.– Michael Hampton♦
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. So
pci@0000:41:00.0
becomes enp65s0
– pymkin
2 days ago
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. So
pci@0000:41:00.0
becomes enp65s0
– pymkin
2 days ago
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965873%2fhow-to-determine-predictable-name-of-network-interface%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why not enable it and find out?
– Reinderien
May 4 at 16:52
It doesn't say
0000:00:41.0
!– Michael Hampton♦
May 4 at 17:40
freedesktop.org/wiki/Software/systemd/…
– ivanivan
May 4 at 19:34
@Reinderien I did eventually boot it to find out: that interface came up as
enp65s0
. I still wish I could see how this name was determined.– pymkin
2 days ago