Merge pull request #29588 from keszybz/net-naming-scheme-255
Untangle the net-naming-scheme mess with SR-IOV-R "representor" information
This commit is contained in:
@@ -6,13 +6,6 @@
|
||||
#include "string-util.h"
|
||||
#include "string-table.h"
|
||||
|
||||
#ifdef _DEFAULT_NET_NAMING_SCHEME_TEST
|
||||
/* The primary purpose of this check is to verify that _DEFAULT_NET_NAMING_SCHEME_TEST
|
||||
* is a valid identifier. If an invalid name is given during configuration, this will
|
||||
* fail with a name error. */
|
||||
assert_cc(_DEFAULT_NET_NAMING_SCHEME_TEST >= 0);
|
||||
#endif
|
||||
|
||||
static const NamingScheme naming_schemes[] = {
|
||||
{ "v238", NAMING_V238 },
|
||||
{ "v239", NAMING_V239 },
|
||||
@@ -27,6 +20,7 @@ static const NamingScheme naming_schemes[] = {
|
||||
{ "v252", NAMING_V252 },
|
||||
{ "v253", NAMING_V253 },
|
||||
{ "v254", NAMING_V254 },
|
||||
{ "v255", NAMING_V255 },
|
||||
/* … add more schemes here, as the logic to name devices is updated … */
|
||||
|
||||
EXTRA_NET_NAMING_MAP
|
||||
@@ -87,23 +81,23 @@ const NamingScheme* naming_scheme(void) {
|
||||
}
|
||||
|
||||
static const char* const name_policy_table[_NAMEPOLICY_MAX] = {
|
||||
[NAMEPOLICY_KERNEL] = "kernel",
|
||||
[NAMEPOLICY_KEEP] = "keep",
|
||||
[NAMEPOLICY_KERNEL] = "kernel",
|
||||
[NAMEPOLICY_KEEP] = "keep",
|
||||
[NAMEPOLICY_DATABASE] = "database",
|
||||
[NAMEPOLICY_ONBOARD] = "onboard",
|
||||
[NAMEPOLICY_SLOT] = "slot",
|
||||
[NAMEPOLICY_PATH] = "path",
|
||||
[NAMEPOLICY_MAC] = "mac",
|
||||
[NAMEPOLICY_ONBOARD] = "onboard",
|
||||
[NAMEPOLICY_SLOT] = "slot",
|
||||
[NAMEPOLICY_PATH] = "path",
|
||||
[NAMEPOLICY_MAC] = "mac",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(name_policy, NamePolicy);
|
||||
|
||||
static const char* const alternative_names_policy_table[_NAMEPOLICY_MAX] = {
|
||||
[NAMEPOLICY_DATABASE] = "database",
|
||||
[NAMEPOLICY_ONBOARD] = "onboard",
|
||||
[NAMEPOLICY_SLOT] = "slot",
|
||||
[NAMEPOLICY_PATH] = "path",
|
||||
[NAMEPOLICY_MAC] = "mac",
|
||||
[NAMEPOLICY_ONBOARD] = "onboard",
|
||||
[NAMEPOLICY_SLOT] = "slot",
|
||||
[NAMEPOLICY_PATH] = "path",
|
||||
[NAMEPOLICY_MAC] = "mac",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(alternative_names_policy, NamePolicy);
|
||||
|
||||
@@ -54,7 +54,11 @@ typedef enum NamingSchemeFlags {
|
||||
NAMING_V251 = NAMING_V250 | NAMING_BRIDGE_MULTIFUNCTION_SLOT,
|
||||
NAMING_V252 = NAMING_V251 | NAMING_DEVICETREE_ALIASES,
|
||||
NAMING_V253 = NAMING_V252 | NAMING_USB_HOST,
|
||||
NAMING_V254 = NAMING_V253 | NAMING_SR_IOV_R,
|
||||
NAMING_V254 = NAMING_V253 | NAMING_SR_IOV_R, /* Despite the name, "v254" is NOT the default scheme
|
||||
* for systemd version 254. It was added in a follow-up
|
||||
* patch later. NAMING_SR_IOV_R is enabled by default in
|
||||
* systemd version 255, naming scheme "v255". */
|
||||
NAMING_V255 = NAMING_V254,
|
||||
|
||||
EXTRA_NET_NAMING_SCHEMES
|
||||
|
||||
|
||||
@@ -4,10 +4,19 @@
|
||||
#include "string-util.h"
|
||||
#include "tests.h"
|
||||
|
||||
#ifdef _DEFAULT_NET_NAMING_SCHEME
|
||||
/* The primary purpose of this check is to verify that _DEFAULT_NET_NAMING_SCHEME_TEST
|
||||
* is a valid identifier. If an invalid name is given during configuration, this will
|
||||
* fail with a name error. */
|
||||
assert_cc(_DEFAULT_NET_NAMING_SCHEME >= 0);
|
||||
#endif
|
||||
|
||||
TEST(default_net_naming_scheme) {
|
||||
const NamingScheme *n;
|
||||
assert_se(n = naming_scheme_from_name(DEFAULT_NET_NAMING_SCHEME));
|
||||
log_info("default → %s", n->name);
|
||||
|
||||
assert_se(naming_scheme_from_name(n->name) == n);
|
||||
}
|
||||
|
||||
TEST(naming_scheme_conversions) {
|
||||
|
||||
Reference in New Issue
Block a user