Coverage Report

Created: 2025-12-11 06:33

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