Coverage Report

Created: 2022-04-19 08:24

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