Coverage Report

Created: 2025-06-13 06:26

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