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
Aligning group plot titles horizontally
Geometric inspiration behind Hal(irutan)'s Wolf(ram Language Logo)
Will there be more tax deductions if I put the house completely under my name, versus doing a joint ownership?
Wireless headphones interfere with Wi-Fi signal on laptop
Break long word (not long text!) in longtable cell
Why did the soldiers of the North disobey Jon?
Developers demotivated due to working on same project for more than 2 years
Can anyone give me examples of the relative-determinative 'which'?
Why is Drogon so much better in battle than Rhaegal and Viserion?
Was the dragon prowess intentionally downplayed in S08E04?
Will consteval functions allow template parameters dependent on function arguments?
Why would someone open a Netflix account using my Gmail address?
Meaning of "legitimate" in Carl Jung's quote "Neurosis is always a substitute for legitimate suffering."
Given 0s on Assignments with suspected and dismissed cheating?
Were any toxic metals used in the International Space Station?
Does the Rogue's Reliable Talent feature work for thieves' tools, since the rogue is proficient in them?
What do the "optional" resistor and capacitor do in this circuit?
Why when I add jam to my tea it stops producing thin "membrane" on top?
Why did Varys remove his rings?
Is there any deeper thematic meaning to the white horse that Arya finds in The Bells (S08E05)?
Understanding Deutch's Algorithm
Why are lawsuits between the President and Congress not automatically sent to the Supreme Court
Did any "washouts" of the Mercury program eventually become astronauts?
Were any of the books mentioned in this scene from the movie Hackers real?
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
May 5 at 5:13
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 May 5 at 5:27
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
May 5 at 5:13
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
May 5 at 5:13
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
May 5 at 5:13
@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
May 5 at 5:13
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
May 5 at 5:13
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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
May 5 at 5:36
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
May 5 at 5:13
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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
May 5 at 5:36
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
May 5 at 5:13
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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
May 5 at 5:36
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 May 5 at 8:51
pymkin
1457
1457
answered May 4 at 19:28
John MahowaldJohn Mahowald
9,9841714
9,9841714
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
May 5 at 5:13
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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
May 5 at 5:36
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
May 5 at 5:13
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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. Sopci@0000:41:00.0
becomesenp65s0
– pymkin
May 5 at 5:36
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
May 5 at 5:13
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
May 5 at 5:13
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♦
May 5 at 5:31
@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♦
May 5 at 5:31
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. So
pci@0000:41:00.0
becomes enp65s0
– pymkin
May 5 at 5:36
@MichaelHampton that explains it, thanks! HEX 41 -> DEC 65. So
pci@0000:41:00.0
becomes enp65s0
– pymkin
May 5 at 5:36
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
May 5 at 5:13