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;








4















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.










share|improve this question
























  • 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

















4















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.










share|improve this question
























  • 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













4












4








4








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.










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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 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

















  • 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
















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










1 Answer
1






active

oldest

votes


















5














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.






share|improve this answer

























  • 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





    @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











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
);



);













draft saved

draft discarded


















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









5














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.






share|improve this answer

























  • 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





    @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















5














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.






share|improve this answer

























  • 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





    @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













5












5








5







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.






share|improve this answer















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.







share|improve this answer














share|improve this answer



share|improve this answer








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 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





    @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

















  • 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





    @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
















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

















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?