Coverage Report

Created: 2026-10-28 06:53

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