mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-10 01:17:44 +03:00
udev: net-config - allow interface names to be set from the hwdb
This commit is contained in:
parent
dd8875f939
commit
e51660ae56
@ -2463,6 +2463,7 @@ dist_udevhwdb_DATA = \
|
||||
hwdb/20-bluetooth-vendor-product.hwdb \
|
||||
hwdb/20-acpi-vendor.hwdb \
|
||||
hwdb/20-OUI.hwdb \
|
||||
hwdb/20-net-ifname.hwdb \
|
||||
hwdb/60-keyboard.hwdb
|
||||
|
||||
udevconfdir = $(sysconfdir)/udev
|
||||
|
5
hwdb/20-net-ifname.hwdb
Normal file
5
hwdb/20-net-ifname.hwdb
Normal file
@ -0,0 +1,5 @@
|
||||
# This file is part of systemd.
|
||||
|
||||
# Dell iDRAC Virtual USB NIC
|
||||
usb:v413CpA102*
|
||||
ID_NET_NAME_FROM_DATABASE=irdac
|
@ -883,6 +883,15 @@
|
||||
<literal>NAME</literal>. The available policies are:
|
||||
</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><literal>database</literal></term>
|
||||
<listitem>
|
||||
<para>The name is set based on entries in the Hardware
|
||||
Database with the key
|
||||
<literal>ID_NET_NAME_FROM_DATABASE</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>onboard</literal></term>
|
||||
<listitem>
|
||||
|
@ -1,3 +1,3 @@
|
||||
[Link]
|
||||
NamePolicy=onboard slot path
|
||||
NamePolicy=database onboard slot path
|
||||
MACAddressPolicy=persistent
|
||||
|
@ -383,6 +383,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
|
||||
|
||||
for (policy = config->name_policy; !new_name && *policy != _NAMEPOLICY_INVALID; policy++) {
|
||||
switch (*policy) {
|
||||
case NAMEPOLICY_DATABASE:
|
||||
new_name = udev_device_get_property_value(device, "ID_NET_NAME_FROM_DATABASE");
|
||||
break;
|
||||
case NAMEPOLICY_ONBOARD:
|
||||
new_name = udev_device_get_property_value(device, "ID_NET_NAME_ONBOARD");
|
||||
break;
|
||||
@ -447,6 +450,7 @@ DEFINE_STRING_TABLE_LOOKUP(mac_policy, MACPolicy);
|
||||
DEFINE_CONFIG_PARSE_ENUM(config_parse_mac_policy, mac_policy, MACPolicy, "Failed to parse MAC address policy");
|
||||
|
||||
static const char* const name_policy_table[] = {
|
||||
[NAMEPOLICY_DATABASE] = "database",
|
||||
[NAMEPOLICY_ONBOARD] = "onboard",
|
||||
[NAMEPOLICY_SLOT] = "slot",
|
||||
[NAMEPOLICY_PATH] = "path",
|
||||
|
@ -38,6 +38,7 @@ typedef enum MACPolicy {
|
||||
} MACPolicy;
|
||||
|
||||
typedef enum NamePolicy {
|
||||
NAMEPOLICY_DATABASE,
|
||||
NAMEPOLICY_ONBOARD,
|
||||
NAMEPOLICY_SLOT,
|
||||
NAMEPOLICY_PATH,
|
||||
|
Loading…
Reference in New Issue
Block a user