Coverage Report

Created: 2026-04-29 07:06

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