Coverage Report

Created: 2026-08-08 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/build/src/udev/link-config-gperf.c
Line
Count
Source
1
/* ANSI-C code produced by gperf version 3.1 */
2
/* Command-line: /usr/bin/gperf --output-file src/udev/link-config-gperf.c ../../src/systemd/src/udev/net/link-config-gperf.gperf  */
3
/* Computed positions: -k'6,12,17-18,20,$' */
4
5
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28
/* The character set is not based on ISO-646.  */
29
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
30
#endif
31
32
#line 2 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
33
34
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
35
#if __GNUC__ >= 15
36
_Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"")
37
#endif
38
#include <stddef.h>
39
#include "condition.h"
40
#include "conf-parser.h"
41
#include "ethtool-util.h"
42
#include "link-config.h"
43
#include "net-condition.h"
44
#include "netif-sriov.h"
45
#include "socket-util.h"
46
#include <string.h>
47
48
#define TOTAL_KEYWORDS 129
49
133k
#define MIN_WORD_LENGTH 8
50
267k
#define MAX_WORD_LENGTH 41
51
#define MIN_HASH_VALUE 10
52
132k
#define MAX_HASH_VALUE 236
53
/* maximum key range = 227, duplicates = 0 */
54
55
#ifdef __GNUC__
56
__inline
57
#else
58
#ifdef __cplusplus
59
inline
60
#endif
61
#endif
62
static unsigned int
63
link_config_gperf_hash (register const char *str, register size_t len)
64
132k
{
65
132k
  static const unsigned char asso_values[] =
66
132k
    {
67
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
68
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
69
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
70
132k
      237, 237,   5, 237, 237, 237, 237, 237, 237, 237,
71
132k
      237, 237,  60, 237, 237,  60,   0,  25, 237, 237,
72
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
73
132k
      237, 237, 237, 237, 237,  15,   0,   5, 120,  55,
74
132k
       60,  30,   0,  25, 237, 237,  85, 120,   0,   5,
75
132k
       90,   0,   0,   0,   5,  45,  10,  40, 237, 237,
76
132k
      237, 237, 237, 237, 237, 237, 237,   5, 237,  10,
77
132k
       15,   5,   0,   5,  65,   0, 237,  30,  30,  85,
78
132k
       20,  25,   0,   5,   0,   5,   0,  50,  35,  70,
79
132k
       65,  15,   0, 237, 237, 237, 237, 237, 237, 237,
80
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
81
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
82
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
83
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
84
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
85
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
86
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
87
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
88
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
89
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
90
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
91
132k
      237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
92
132k
      237, 237, 237, 237, 237, 237
93
132k
    };
94
132k
  register unsigned int hval = len;
95
96
132k
  switch (hval)
97
132k
    {
98
20.0k
      default:
99
20.0k
        hval += asso_values[(unsigned char)str[19]];
100
      /*FALLTHROUGH*/
101
21.0k
      case 19:
102
27.1k
      case 18:
103
27.1k
        hval += asso_values[(unsigned char)str[17]];
104
      /*FALLTHROUGH*/
105
29.0k
      case 17:
106
29.0k
        hval += asso_values[(unsigned char)str[16]];
107
      /*FALLTHROUGH*/
108
36.4k
      case 16:
109
39.2k
      case 15:
110
45.5k
      case 14:
111
54.8k
      case 13:
112
120k
      case 12:
113
120k
        hval += asso_values[(unsigned char)str[11]];
114
      /*FALLTHROUGH*/
115
121k
      case 11:
116
127k
      case 10:
117
130k
      case 9:
118
132k
      case 8:
119
132k
      case 7:
120
132k
      case 6:
121
132k
        hval += asso_values[(unsigned char)str[5]];
122
132k
        break;
123
132k
    }
124
132k
  return hval + asso_values[(unsigned char)str[len - 1]];
125
132k
}
126
127
const struct ConfigPerfItem *
128
link_config_gperf_lookup (register const char *str, register size_t len)
129
133k
{
130
133k
  static const struct ConfigPerfItem wordlist[] =
131
133k
    {
132
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
133
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
134
133k
      {(char*)0}, {(char*)0},
135
133k
#line 35 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
136
133k
      {"Match.Host",                                config_parse_net_condition,            CONDITION_HOST,                offsetof(LinkConfig, conditions)},
137
133k
      {(char*)0},
138
133k
#line 31 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
139
133k
      {"Match.Driver",                              config_parse_match_strv,               0,                             offsetof(LinkConfig, match.driver)},
140
133k
      {(char*)0},
141
133k
#line 53 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
142
133k
      {"Link.Name",                                 config_parse_ifname,                   0,                             offsetof(LinkConfig, name)},
143
133k
#line 32 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
144
133k
      {"Match.Type",                                config_parse_match_strv,               0,                             offsetof(LinkConfig, match.iftype)},
145
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
146
133k
#line 95 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
147
133k
      {"Link.ReceiveFCS",                           config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_RXFCS])},
148
133k
      {(char*)0},
149
133k
#line 148 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
150
133k
      {"SR-IOV.Trust",                              config_parse_sr_iov_boolean,           0,                             offsetof(LinkConfig, sr_iov_by_section)},
151
133k
#line 76 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
152
133k
      {"Link.ScatterGather",                        config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_SG])},
153
133k
#line 42 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
154
133k
      {"Match.Firmware",                            config_parse_net_condition,            CONDITION_FIRMWARE,            offsetof(LinkConfig, conditions)},
155
133k
#line 33 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
156
133k
      {"Match.Kind",                                config_parse_match_strv,               0,                             offsetof(LinkConfig, match.kind)},
157
133k
#line 104 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
158
133k
      {"Link.RxMiniBufferSize",                     config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, ring.rx_mini)},
159
133k
      {(char*)0},
160
133k
#line 41 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
161
133k
      {"Match.Architecture",                        config_parse_net_condition,            CONDITION_ARCHITECTURE,        offsetof(LinkConfig, conditions)},
162
133k
#line 34 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
163
133k
      {"Match.Property",                            config_parse_match_property,           0,                             offsetof(LinkConfig, match.property)},
164
133k
#line 56 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
165
133k
      {"Link.Alias",                                config_parse_ifalias,                  0,                             offsetof(LinkConfig, alias)},
166
133k
#line 149 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
167
133k
      {"SR-IOV.LinkState",                          config_parse_sr_iov_link_state,        0,                             offsetof(LinkConfig, sr_iov_by_section)},
168
133k
#line 103 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
169
133k
      {"Link.RxBufferSize",                         config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, ring.rx)},
170
133k
      {(char*)0},
171
133k
#line 67 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
172
133k
      {"Link.Advertise",                            config_parse_advertise,                0,                             offsetof(LinkConfig, advertise)},
173
133k
#line 77 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
174
133k
      {"Link.ScatterGatherFragmentList",            config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_FRAGLIST])},
175
133k
#line 27 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
176
133k
      {"Match.MACAddress",                          config_parse_hw_addrs,                 0,                             offsetof(LinkConfig, match.hw_addr)},
177
133k
#line 106 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
178
133k
      {"Link.TxBufferSize",                         config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, ring.tx)},
179
133k
#line 58 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
180
133k
      {"Link.ReceiveQueues",                        config_parse_rx_tx_queues,             0,                             offsetof(LinkConfig, rxqueues)},
181
133k
      {(char*)0},
182
133k
#line 98 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
183
133k
      {"Link.RxChannels",                           config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, channels.rx)},
184
133k
#line 43 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
185
133k
      {"Match.MachineTag",                          config_parse_net_condition,            CONDITION_MACHINE_TAG,         offsetof(LinkConfig, conditions)},
186
133k
#line 129 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
187
133k
      {"Link.RxCoalesceHighSec",                    config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.rx_coalesce_usecs_high)},
188
133k
      {(char*)0}, {(char*)0},
189
133k
#line 99 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
190
133k
      {"Link.TxChannels",                           config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, channels.tx)},
191
133k
#line 114 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
192
133k
      {"Link.RxCoalesceIrqSec",                     config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.rx_coalesce_usecs_irq)},
193
133k
#line 131 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
194
133k
      {"Link.TxCoalesceHighSec",                    config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.tx_coalesce_usecs_high)},
195
133k
#line 112 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
196
133k
      {"Link.RxCoalesceSec",                        config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.rx_coalesce_usecs)},
197
133k
      {(char*)0},
198
133k
#line 96 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
199
133k
      {"Link.ReceiveAll",                           config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_RXALL])},
200
133k
#line 118 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
201
133k
      {"Link.TxCoalesceIrqSec",                     config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.tx_coalesce_usecs_irq)},
202
133k
#line 150 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
203
133k
      {"SR-IOV.MACAddress",                         config_parse_sr_iov_mac,               0,                             offsetof(LinkConfig, sr_iov_by_section)},
204
133k
#line 116 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
205
133k
      {"Link.TxCoalesceSec",                        config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.tx_coalesce_usecs)},
206
133k
      {(char*)0},
207
133k
#line 54 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
208
133k
      {"Link.AlternativeName",                      config_parse_ifnames,                  IFNAME_VALID_ALTERNATIVE,      offsetof(LinkConfig, alternative_names)},
209
133k
#line 138 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
210
133k
      {"Link.IRQAffinity",                          config_parse_cpu_set,                  0,                             offsetof(LinkConfig, irq_affinity_cpus)},
211
133k
#line 105 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
212
133k
      {"Link.RxJumboBufferSize",                    config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, ring.rx_jumbo)},
213
133k
#line 39 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
214
133k
      {"Match.Version",                             config_parse_net_condition,            CONDITION_VERSION,             offsetof(LinkConfig, conditions)},
215
133k
      {(char*)0},
216
133k
#line 52 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
217
133k
      {"Link.NamePolicy",                           config_parse_name_policy,              0,                             offsetof(LinkConfig, name_policy)},
218
133k
      {(char*)0}, {(char*)0},
219
133k
#line 143 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
220
133k
      {"SR-IOV.VLANId",                             config_parse_sr_iov_uint32,            0,                             offsetof(LinkConfig, sr_iov_by_section)},
221
133k
      {(char*)0},
222
133k
#line 36 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
223
133k
      {"Match.Virtualization",                      config_parse_net_condition,            CONDITION_VIRTUALIZATION,      offsetof(LinkConfig, conditions)},
224
133k
#line 40 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
225
133k
      {"Match.Credential",                          config_parse_net_condition,            CONDITION_CREDENTIAL,          offsetof(LinkConfig, conditions)},
226
133k
      {(char*)0},
227
133k
#line 64 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
228
133k
      {"Link.BitsPerSecond",                        config_parse_si_uint64,                0,                             offsetof(LinkConfig, speed)},
229
133k
      {(char*)0},
230
133k
#line 80 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
231
133k
      {"Link.TCPECNSegmentationOffload",            config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_TSO_ECN])},
232
133k
#line 92 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
233
133k
      {"Link.ReceiveVLANCTAGFilter",                config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_HW_VLAN_CTAG_FILTER])},
234
133k
#line 55 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
235
133k
      {"Link.AlternativeNamesPolicy",               config_parse_alternative_names_policy, 0,                             offsetof(LinkConfig, alternative_names_policy)},
236
133k
#line 135 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
237
133k
      {"Link.ReceivePacketSteeringCPUMask",         config_parse_rps_cpu_mask,             0,                             offsetof(LinkConfig, rps_cpu_mask)},
238
133k
#line 130 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
239
133k
      {"Link.RxMaxCoalescedHighFrames",             config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.rx_max_coalesced_frames_high)},
240
133k
#line 30 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
241
133k
      {"Match.Path",                                config_parse_match_strv,               0,                             offsetof(LinkConfig, match.path)},
242
133k
      {(char*)0},
243
133k
#line 94 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
244
133k
      {"Link.NTupleFilter",                         config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_NTUPLE])},
245
133k
#line 144 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
246
133k
      {"SR-IOV.QualityOfService",                   config_parse_sr_iov_uint32,            0,                             offsetof(LinkConfig, sr_iov_by_section)},
247
133k
#line 132 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
248
133k
      {"Link.TxMaxCoalescedHighFrames",             config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.tx_max_coalesced_frames_high)},
249
133k
#line 66 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
250
133k
      {"Link.AutoNegotiation",                      config_parse_tristate,                 0,                             offsetof(LinkConfig, autonegotiation)},
251
133k
#line 93 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
252
133k
      {"Link.TransmitVLANSTAGHardwareAcceleration", config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_HW_VLAN_STAG_TX])},
253
133k
#line 136 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
254
133k
      {"/* IRQ affinity settings */"},
255
133k
#line 82 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
256
133k
      {"Link.TCP6SegmentationOffload",              config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_TSO6])},
257
133k
#line 57 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
258
133k
      {"Link.TransmitQueues",                       config_parse_rx_tx_queues,             0,                             offsetof(LinkConfig, txqueues)},
259
133k
#line 28 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
260
133k
      {"Match.PermanentMACAddress",                 config_parse_hw_addrs,                 0,                             offsetof(LinkConfig, match.permanent_hw_addr)},
261
133k
#line 91 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
262
133k
      {"Link.TransmitVLANCTAGHardwareAcceleration", config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_HW_VLAN_CTAG_TX])},
263
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
264
133k
      {(char*)0}, {(char*)0},
265
133k
#line 48 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
266
133k
      {"Link.UnsetProperty",                        config_parse_udev_property_name,       0,                             offsetof(LinkConfig, unset_properties)},
267
133k
#line 38 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
268
133k
      {"Match.KernelVersion",                       config_parse_net_condition,            CONDITION_VERSION,             offsetof(LinkConfig, conditions)},
269
133k
#line 147 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
270
133k
      {"SR-IOV.QueryReceiveSideScaling",            config_parse_sr_iov_boolean,           0,                             offsetof(LinkConfig, sr_iov_by_section)},
271
133k
      {(char*)0}, {(char*)0},
272
133k
#line 115 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
273
133k
      {"Link.RxMaxCoalescedIrqFrames",              config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.rx_max_coalesced_frames_irq)},
274
133k
#line 68 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
275
133k
      {"Link.Port",                                 config_parse_port,                     0,                             offsetof(LinkConfig, port)},
276
133k
#line 133 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
277
133k
      {"Link.CoalescePacketRateSampleIntervalSec",  config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.rate_sample_interval)},
278
133k
#line 110 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
279
133k
      {"Link.AutoNegotiationFlowControl",           config_parse_tristate,                 0,                             offsetof(LinkConfig, autoneg_flow_control)},
280
133k
      {(char*)0},
281
133k
#line 119 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
282
133k
      {"Link.TxMaxCoalescedIrqFrames",              config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.tx_max_coalesced_frames_irq)},
283
133k
      {(char*)0},
284
133k
#line 90 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
285
133k
      {"Link.ReceiveVLANCTAGHardwareAcceleration",  config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_HW_VLAN_CTAG_RX])},
286
133k
#line 101 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
287
133k
      {"Link.CombinedChannels",                     config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, channels.combined)},
288
133k
      {(char*)0},
289
133k
#line 108 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
290
133k
      {"Link.RxFlowControl",                        config_parse_tristate,                 0,                             offsetof(LinkConfig, rx_flow_control)},
291
133k
#line 61 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
292
133k
      {"Link.GenericSegmentOffloadMaxBytes",        config_parse_iec_size,                 0,                             offsetof(LinkConfig, gso_max_size)},
293
133k
#line 87 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
294
133k
      {"Link.GenericReceiveOffloadList",            config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GRO_FRAGLIST])},
295
133k
      {(char*)0},
296
133k
#line 62 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
297
133k
      {"Link.GenericSegmentOffloadMaxSegments",     config_parse_uint32,                   0,                             offsetof(LinkConfig, gso_max_segments)},
298
133k
#line 109 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
299
133k
      {"Link.TxFlowControl",                        config_parse_tristate,                 0,                             offsetof(LinkConfig, tx_flow_control)},
300
133k
#line 45 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
301
133k
      {"/* udev property */"},
302
133k
#line 152 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
303
133k
      {"EnergyEfficientEthernet.Enable",            config_parse_tristate,                 0,                             offsetof(LinkConfig, eee_enabled)},
304
133k
#line 78 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
305
133k
      {"Link.GenericSegmentationOffload",           config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GSO])},
306
133k
#line 155 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
307
133k
      {"EnergyEfficientEthernet.LinkMode",          config_parse_advertise,                0,                             offsetof(LinkConfig, eee_advertise)},
308
133k
#line 46 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
309
133k
      {"Link.Property",                             config_parse_udev_property,            0,                             offsetof(LinkConfig, properties)},
310
133k
#line 86 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
311
133k
      {"Link.GenericReceiveOffloadHardware",        config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GRO_HW])},
312
133k
#line 139 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
313
133k
      {"Link.IRQAffinityNUMA",                      config_parse_irq_affinity_numa,        0,                             offsetof(LinkConfig, irq_affinity_numa)},
314
133k
#line 85 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
315
133k
      {"Link.GenericReceiveOffload",                config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GRO])},
316
133k
#line 73 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
317
133k
      {"/* ethtool features */"},
318
133k
#line 153 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
319
133k
      {"EnergyEfficientEthernet.TxLowPowerIdle",    config_parse_tristate,                 0,                             offsetof(LinkConfig, eee_tx_lpi_enabled)},
320
133k
#line 88 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
321
133k
      {"Link.GenericReceiveOffloadUDPForwarding",   config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GRO_UDP_FWD])},
322
133k
#line 107 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
323
133k
      {"/* ethtool pause parameters */"},
324
133k
#line 120 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
325
133k
      {"Link.StatisticsBlockCoalesceSec",           config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.stats_block_coalesce_usecs)},
326
133k
#line 141 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
327
133k
      {"Link.SR-IOVVirtualFunctions",               config_parse_sr_iov_num_vfs,           0,                             offsetof(LinkConfig, sr_iov_num_vfs)},
328
133k
#line 100 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
329
133k
      {"Link.OtherChannels",                        config_parse_ring_buffer_or_channel,   0,                             offsetof(LinkConfig, channels.other)},
330
133k
#line 102 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
331
133k
      {"/* ethtool ring parameters */"},
332
133k
#line 113 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
333
133k
      {"Link.RxMaxCoalescedFrames",                 config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.rx_max_coalesced_frames)},
334
133k
#line 154 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
335
133k
      {"EnergyEfficientEthernet.TxLowPowerIdleSec", config_parse_sec,                      0,                             offsetof(LinkConfig, eee_tx_lpi_timer_usec)},
336
133k
#line 142 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
337
133k
      {"SR-IOV.VirtualFunction",                    config_parse_sr_iov_uint32,            0,                             offsetof(LinkConfig, sr_iov_by_section)},
338
133k
#line 29 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
339
133k
      {"Match.OriginalName",                        config_parse_match_ifnames,            0,                             offsetof(LinkConfig, match.ifname)},
340
133k
      {(char*)0},
341
133k
#line 117 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
342
133k
      {"Link.TxMaxCoalescedFrames",                 config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.tx_max_coalesced_frames)},
343
133k
#line 124 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
344
133k
      {"Link.RxCoalesceLowSec",                     config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.rx_coalesce_usecs_low)},
345
133k
      {(char*)0},
346
133k
#line 75 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
347
133k
      {"Link.TransmitChecksumOffload",              config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_TXCSUM])},
348
133k
#line 89 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
349
133k
      {"Link.LargeReceiveOffload",                  config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_LRO])},
350
133k
#line 51 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
351
133k
      {"Link.MACAddress",                           config_parse_hw_addr,                  0,                             offsetof(LinkConfig, hw_addr)},
352
133k
#line 126 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
353
133k
      {"Link.TxCoalesceLowSec",                     config_parse_coalesce_sec,             0,                             offsetof(LinkConfig, coalesce.tx_coalesce_usecs_low)},
354
133k
#line 128 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
355
133k
      {"Link.CoalescePacketRateHigh",               config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.pkt_rate_high)},
356
133k
#line 60 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
357
133k
      {"Link.MTUBytes",                             config_parse_mtu,                      AF_UNSPEC,                     offsetof(LinkConfig, mtu)},
358
133k
      {(char*)0}, {(char*)0},
359
133k
#line 123 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
360
133k
      {"Link.CoalescePacketRateLow",                config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.pkt_rate_low)},
361
133k
      {(char*)0}, {(char*)0},
362
133k
#line 47 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
363
133k
      {"Link.ImportProperty",                       config_parse_udev_property_name,       0,                             offsetof(LinkConfig, import_properties)},
364
133k
#line 81 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
365
133k
      {"Link.TCPMangleIdSegmentationOffload",       config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_TSO_MANGLEID])},
366
133k
#line 111 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
367
133k
      {"/* ethtool coalesce settings */"},
368
133k
#line 79 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
369
133k
      {"Link.TCPSegmentationOffload",               config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_TSO])},
370
133k
#line 69 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
371
133k
      {"Link.MDI",                                  config_parse_mdi,                      0,                             offsetof(LinkConfig, mdi)},
372
133k
#line 59 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
373
133k
      {"Link.TransmitQueueLength",                  config_parse_txqueuelen,               0,                             offsetof(LinkConfig, txqueuelen)},
374
133k
      {(char*)0},
375
133k
#line 44 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
376
133k
      {"Link.Description",                          config_parse_string,                   0,                             offsetof(LinkConfig, description)},
377
133k
#line 63 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
378
133k
      {"/* ethtool link settings */"},
379
133k
#line 125 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
380
133k
      {"Link.RxMaxCoalescedLowFrames",              config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.rx_max_coalesced_frames_low)},
381
133k
#line 71 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
382
133k
      {"Link.WakeOnLan",                            config_parse_wol,                      0,                             offsetof(LinkConfig, wol)},
383
133k
#line 146 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
384
133k
      {"SR-IOV.MACSpoofCheck",                      config_parse_sr_iov_boolean,           0,                             offsetof(LinkConfig, sr_iov_by_section)},
385
133k
#line 70 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
386
133k
      {"/* ethtool WoL settings */"},
387
133k
#line 97 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
388
133k
      {"/* ethtool channels */"},
389
133k
#line 127 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
390
133k
      {"Link.TxMaxCoalescedLowFrames",              config_parse_coalesce_u32,             0,                             offsetof(LinkConfig, coalesce.tx_max_coalesced_frames_low)},
391
133k
      {(char*)0}, {(char*)0},
392
133k
#line 121 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
393
133k
      {"Link.UseAdaptiveRxCoalesce",                config_parse_tristate,                 0,                             offsetof(LinkConfig, coalesce.use_adaptive_rx_coalesce)},
394
133k
#line 74 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
395
133k
      {"Link.ReceiveChecksumOffload",               config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_RXCSUM])},
396
133k
#line 37 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
397
133k
      {"Match.KernelCommandLine",                   config_parse_net_condition,            CONDITION_KERNEL_COMMAND_LINE, offsetof(LinkConfig, conditions)},
398
133k
      {(char*)0}, {(char*)0},
399
133k
#line 122 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
400
133k
      {"Link.UseAdaptiveTxCoalesce",                config_parse_tristate,                 0,                             offsetof(LinkConfig, coalesce.use_adaptive_tx_coalesce)},
401
133k
      {(char*)0},
402
133k
#line 83 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
403
133k
      {"Link.PartialGenericSegmentationOffload",    config_parse_tristate,                 0,                             offsetof(LinkConfig, features[NET_DEV_FEAT_GSO_PARTIAL])},
404
133k
      {(char*)0}, {(char*)0},
405
133k
#line 151 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
406
133k
      {"/* ethtool EEE settings */"},
407
133k
#line 137 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
408
133k
      {"Link.IRQAffinityPolicy",                    config_parse_irq_affinity_policy,      0,                             offsetof(LinkConfig, irq_affinity_policy)},
409
133k
#line 49 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
410
133k
      {"/* rtnl setlink */"},
411
133k
      {(char*)0}, {(char*)0},
412
133k
#line 140 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
413
133k
      {"/* SR-IOV settings */"},
414
133k
      {(char*)0}, {(char*)0},
415
133k
#line 145 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
416
133k
      {"SR-IOV.VLANProtocol",                       config_parse_sr_iov_vlan_proto,        0,                             offsetof(LinkConfig, sr_iov_by_section)},
417
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
418
133k
      {(char*)0}, {(char*)0}, {(char*)0},
419
133k
#line 84 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
420
133k
      {"Link.UDPSegmentationOffload",               config_parse_warn_compat,              DISABLED_LEGACY,               0},
421
133k
      {(char*)0}, {(char*)0}, {(char*)0},
422
133k
#line 65 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
423
133k
      {"Link.Duplex",                               config_parse_duplex,                   0,                             offsetof(LinkConfig, duplex)},
424
133k
#line 72 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
425
133k
      {"Link.WakeOnLanPassword",                    config_parse_wol_password,             0,                             0},
426
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
427
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
428
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
429
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
430
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
431
133k
      {(char*)0}, {(char*)0}, {(char*)0},
432
133k
#line 50 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
433
133k
      {"Link.MACAddressPolicy",                     config_parse_mac_address_policy,       0,                             offsetof(LinkConfig, mac_address_policy)},
434
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
435
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
436
133k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
437
133k
      {(char*)0}, {(char*)0},
438
133k
#line 134 "../../src/systemd/src/udev/net/link-config-gperf.gperf"
439
133k
      {"/* Rx RPS CPU mask */"}
440
133k
    };
441
442
133k
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
443
132k
    {
444
132k
      register unsigned int key = link_config_gperf_hash (str, len);
445
446
132k
      if (key <= MAX_HASH_VALUE)
447
131k
        {
448
131k
          register const char *s = wordlist[key].section_and_lvalue;
449
450
131k
          if (s && *str == *s && !strcmp (str + 1, s + 1))
451
127k
            return &wordlist[key];
452
131k
        }
453
132k
    }
454
5.88k
  return 0;
455
133k
}