Coverage Report

Created: 2026-07-30 06:11

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