Coverage Report

Created: 2025-06-24 06:40

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