Coverage Report

Created: 2025-08-28 06:46

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