Coverage Report

Created: 2025-07-09 06:39

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