Coverage Report

Created: 2026-05-04 06:47

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