In Ubuntu 16+, for a network interface “ens192”, where does the “192” come from?
up vote
0
down vote
favorite
We have dozens of virtual machines in several data centers around the world. When upgrading an Ubuntu VM from 14 to 16 (as a step toward upgrading them to Ubuntu 18), the network interface names change. I am aware of this, and I know why they change, so that is not my question. My question is where does the number (the 33 in ens33, the 192 in ens192, etc.) come from? I have read many StackExchange questions and answers about what to do to get the server working: that is not the problem. What I want to know is how to predict what the ens### will be before the server is upgraded to Ubuntu 16. I have looked at lshw and lspci, and I can't see any reason why these numbers are chosen.
Please: where does the 192 (or 33, or anything else) come from?
networking interface
add a comment |
up vote
0
down vote
favorite
We have dozens of virtual machines in several data centers around the world. When upgrading an Ubuntu VM from 14 to 16 (as a step toward upgrading them to Ubuntu 18), the network interface names change. I am aware of this, and I know why they change, so that is not my question. My question is where does the number (the 33 in ens33, the 192 in ens192, etc.) come from? I have read many StackExchange questions and answers about what to do to get the server working: that is not the problem. What I want to know is how to predict what the ens### will be before the server is upgraded to Ubuntu 16. I have looked at lshw and lspci, and I can't see any reason why these numbers are chosen.
Please: where does the 192 (or 33, or anything else) come from?
networking interface
1
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameternet.ifnames=0
which keeps the old names... eth0, etc.
– heynnema
Dec 2 at 3:00
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
We have dozens of virtual machines in several data centers around the world. When upgrading an Ubuntu VM from 14 to 16 (as a step toward upgrading them to Ubuntu 18), the network interface names change. I am aware of this, and I know why they change, so that is not my question. My question is where does the number (the 33 in ens33, the 192 in ens192, etc.) come from? I have read many StackExchange questions and answers about what to do to get the server working: that is not the problem. What I want to know is how to predict what the ens### will be before the server is upgraded to Ubuntu 16. I have looked at lshw and lspci, and I can't see any reason why these numbers are chosen.
Please: where does the 192 (or 33, or anything else) come from?
networking interface
We have dozens of virtual machines in several data centers around the world. When upgrading an Ubuntu VM from 14 to 16 (as a step toward upgrading them to Ubuntu 18), the network interface names change. I am aware of this, and I know why they change, so that is not my question. My question is where does the number (the 33 in ens33, the 192 in ens192, etc.) come from? I have read many StackExchange questions and answers about what to do to get the server working: that is not the problem. What I want to know is how to predict what the ens### will be before the server is upgraded to Ubuntu 16. I have looked at lshw and lspci, and I can't see any reason why these numbers are chosen.
Please: where does the 192 (or 33, or anything else) come from?
networking interface
networking interface
asked Dec 1 at 20:49
user3158465
1
1
1
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameternet.ifnames=0
which keeps the old names... eth0, etc.
– heynnema
Dec 2 at 3:00
add a comment |
1
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameternet.ifnames=0
which keeps the old names... eth0, etc.
– heynnema
Dec 2 at 3:00
1
1
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameter
net.ifnames=0
which keeps the old names... eth0, etc.– heynnema
Dec 2 at 3:00
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameter
net.ifnames=0
which keeps the old names... eth0, etc.– heynnema
Dec 2 at 3:00
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
While I don't know why they are the ensXX
format, if you want to disable them to have consistent naming across servers and get the legacy ethX
, you'll want to set the net.ifnames=0 biosdevname=0
kernel boot arguments in GRUB or your bootloader in general.
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
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',
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%2faskubuntu.com%2fquestions%2f1097747%2fin-ubuntu-16-for-a-network-interface-ens192-where-does-the-192-come-from%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
up vote
0
down vote
While I don't know why they are the ensXX
format, if you want to disable them to have consistent naming across servers and get the legacy ethX
, you'll want to set the net.ifnames=0 biosdevname=0
kernel boot arguments in GRUB or your bootloader in general.
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
add a comment |
up vote
0
down vote
While I don't know why they are the ensXX
format, if you want to disable them to have consistent naming across servers and get the legacy ethX
, you'll want to set the net.ifnames=0 biosdevname=0
kernel boot arguments in GRUB or your bootloader in general.
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
add a comment |
up vote
0
down vote
up vote
0
down vote
While I don't know why they are the ensXX
format, if you want to disable them to have consistent naming across servers and get the legacy ethX
, you'll want to set the net.ifnames=0 biosdevname=0
kernel boot arguments in GRUB or your bootloader in general.
While I don't know why they are the ensXX
format, if you want to disable them to have consistent naming across servers and get the legacy ethX
, you'll want to set the net.ifnames=0 biosdevname=0
kernel boot arguments in GRUB or your bootloader in general.
answered Dec 1 at 21:08
JavaProphet
1285
1285
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
add a comment |
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
I know how to do that, and I appreciate the information. However, my questions is: How would I know what that ### (or ##) is going to be before the system removes eth0 and creates ens###?
– user3158465
Dec 2 at 1:07
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
@user3158465 From my experience, it seems to allocate them incrementally, and never reassigns them to another NIC (perhaps based on MAC address). In that, it provides consistency of configuration across swapped NICs, but not the same configuration for all NICs. This is just a guess though.
– JavaProphet
Dec 2 at 5:15
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- 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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2faskubuntu.com%2fquestions%2f1097747%2fin-ubuntu-16-for-a-network-interface-ens192-where-does-the-192-come-from%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
1
The format is <device name><slot #><port #>. It was a dumb idea to standardize network names. For example ens01p01 means the ethernet network port on slot #1 port #1.
– heynnema
Dec 1 at 21:32
In oyr environment, they are always in the form ens### (or ens##). How would I know what that ### (or ##) is going to be before the system removed eth0 and creates ens192?
– user3158465
Dec 2 at 1:06
I don't think you can. There might be similarities when using similar motherboards with similar ports. I can't say for sure. You can always add the kernel parameter
net.ifnames=0
which keeps the old names... eth0, etc.– heynnema
Dec 2 at 3:00