chiark / gitweb /
.network/.netdev/.link: allow to match on architecture
[elogind.git] / src / udev / net / link-config-gperf.gperf
index b38dbe80bdaebc1f20c5898a7dadbf1eecd63548..277ceb538620595206958dd6d6921f46aff89128 100644 (file)
@@ -1,7 +1,9 @@
 %{
 #include <stddef.h>
 #include "conf-parser.h"
+#include "net-util.h"
 #include "link-config.h"
+#include "ethtool-util.h"
 %}
 struct ConfigPerfItem;
 %null_strings
@@ -14,15 +16,21 @@ struct ConfigPerfItem;
 %struct-type
 %includes
 %%
-Match.MACAddress,                   config_parse_string,        0, offsetof(link_config, match_mac)
-Match.Path,                         config_parse_string,        0, offsetof(link_config, match_path)
-Match.Driver,                       config_parse_string,        0, offsetof(link_config, match_driver)
-Match.Type,                         config_parse_string,        0, offsetof(link_config, match_type)
-Link.Description,                   config_parse_string,        0, offsetof(link_config, description)
-Link.MACAddress,                    config_parse_string,        0, offsetof(link_config, mac)
-Link.NamePolicy,                    config_parse_strv,          0, offsetof(link_config, name_policy)
-Link.Name,                          config_parse_string,        0, offsetof(link_config, name)
-Link.MTU,                           config_parse_unsigned,      0, offsetof(link_config, mtu)
-Link.SpeedMBytes,                   config_parse_unsigned,      0, offsetof(link_config, speed)
-Link.Duplex,                        config_parse_string,        0, offsetof(link_config, duplex)
-Link.WakeOnLan,                     config_parse_string,        0, offsetof(link_config, wol)
+Match.MACAddress,          config_parse_hwaddr,        0,                             offsetof(link_config, match_mac)
+Match.Path,                config_parse_string,        0,                             offsetof(link_config, match_path)
+Match.Driver,              config_parse_string,        0,                             offsetof(link_config, match_driver)
+Match.Type,                config_parse_string,        0,                             offsetof(link_config, match_type)
+Match.Host,                config_parse_net_condition, CONDITION_HOST,                offsetof(link_config, match_host)
+Match.Virtualization,      config_parse_net_condition, CONDITION_VIRTUALIZATION,      offsetof(link_config, match_virt)
+Match.KernelCommandLine,   config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(link_config, match_kernel)
+Match.Architecture,        config_parse_net_condition, CONDITION_ARCHITECTURE,        offsetof(link_config, match_arch)
+Link.Description,          config_parse_string,        0,                             offsetof(link_config, description)
+Link.MACAddressPolicy,     config_parse_mac_policy,    0,                             offsetof(link_config, mac_policy)
+Link.MACAddress,           config_parse_hwaddr,        0,                             offsetof(link_config, mac)
+Link.NamePolicy,           config_parse_name_policy,   0,                             offsetof(link_config, name_policy)
+Link.Name,                 config_parse_ifname,        0,                             offsetof(link_config, name)
+Link.Alias,                config_parse_ifalias,       0,                             offsetof(link_config, alias)
+Link.MTU,                  config_parse_unsigned,      0,                             offsetof(link_config, mtu)
+Link.SpeedMBytes,          config_parse_unsigned,      0,                             offsetof(link_config, speed)
+Link.Duplex,               config_parse_duplex,        0,                             offsetof(link_config, duplex)
+Link.WakeOnLan,            config_parse_wol,           0,                             offsetof(link_config, wol)