Coverage Report

Created: 2026-09-14 06:51

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