| /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
| %{ |
| #if __GNUC__ >= 7 |
| _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") |
| #endif |
| #include <stddef.h> |
| #include "conf-parser.h" |
| #include "ethtool-util.h" |
| #include "link-config.h" |
| #include "net-condition.h" |
| #include "socket-util.h" |
| %} |
| struct ConfigPerfItem; |
| %null_strings |
| %language=ANSI-C |
| %define slot-name section_and_lvalue |
| %define hash-function-name link_config_gperf_hash |
| %define lookup-function-name link_config_gperf_lookup |
| %readonly-tables |
| %omit-struct-type |
| %struct-type |
| %includes |
| %% |
| Match.MACAddress, config_parse_hwaddrs, 0, offsetof(LinkConfig, match.mac) |
| Match.PermanentMACAddress, config_parse_hwaddrs, 0, offsetof(LinkConfig, match.permanent_mac) |
| Match.OriginalName, config_parse_match_ifnames, 0, offsetof(LinkConfig, match.ifname) |
| Match.Path, config_parse_match_strv, 0, offsetof(LinkConfig, match.path) |
| Match.Driver, config_parse_match_strv, 0, offsetof(LinkConfig, match.driver) |
| Match.Type, config_parse_match_strv, 0, offsetof(LinkConfig, match.iftype) |
| Match.Property, config_parse_match_property, 0, offsetof(LinkConfig, match.property) |
| Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(LinkConfig, conditions) |
| Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(LinkConfig, conditions) |
| Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(LinkConfig, conditions) |
| Match.KernelVersion, config_parse_net_condition, CONDITION_KERNEL_VERSION, offsetof(LinkConfig, conditions) |
| Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(LinkConfig, conditions) |
| Link.Description, config_parse_string, 0, offsetof(LinkConfig, description) |
| Link.MACAddressPolicy, config_parse_mac_address_policy, 0, offsetof(LinkConfig, mac_address_policy) |
| Link.MACAddress, config_parse_hwaddr, 0, offsetof(LinkConfig, mac) |
| Link.NamePolicy, config_parse_name_policy, 0, offsetof(LinkConfig, name_policy) |
| Link.Name, config_parse_ifname, 0, offsetof(LinkConfig, name) |
| Link.AlternativeName, config_parse_ifnames, IFNAME_VALID_ALTERNATIVE, offsetof(LinkConfig, alternative_names) |
| Link.AlternativeNamesPolicy, config_parse_alternative_names_policy, 0, offsetof(LinkConfig, alternative_names_policy) |
| Link.Alias, config_parse_ifalias, 0, offsetof(LinkConfig, alias) |
| Link.TransmitQueues, config_parse_rx_tx_queues, 0, offsetof(LinkConfig, txqueues) |
| Link.ReceiveQueues, config_parse_rx_tx_queues, 0, offsetof(LinkConfig, rxqueues) |
| Link.TransmitQueueLength, config_parse_txqueuelen, 0, offsetof(LinkConfig, txqueuelen) |
| Link.MTUBytes, config_parse_mtu, AF_UNSPEC, offsetof(LinkConfig, mtu) |
| Link.BitsPerSecond, config_parse_si_uint64, 0, offsetof(LinkConfig, speed) |
| Link.Duplex, config_parse_duplex, 0, offsetof(LinkConfig, duplex) |
| Link.AutoNegotiation, config_parse_tristate, 0, offsetof(LinkConfig, autonegotiation) |
| Link.WakeOnLan, config_parse_wol, 0, offsetof(LinkConfig, wol) |
| Link.Port, config_parse_port, 0, offsetof(LinkConfig, port) |
| Link.ReceiveChecksumOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_RX]) |
| Link.TransmitChecksumOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_TX]) |
| Link.GenericSegmentationOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_GSO]) |
| Link.TCPSegmentationOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_TSO]) |
| Link.TCP6SegmentationOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_TSO6]) |
| Link.UDPSegmentationOffload, config_parse_warn_compat, DISABLED_LEGACY, 0 |
| Link.GenericReceiveOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_GRO]) |
| Link.LargeReceiveOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_LRO]) |
| Link.RxChannels, config_parse_channel, 0, offsetof(LinkConfig, channels) |
| Link.TxChannels, config_parse_channel, 0, offsetof(LinkConfig, channels) |
| Link.OtherChannels, config_parse_channel, 0, offsetof(LinkConfig, channels) |
| Link.CombinedChannels, config_parse_channel, 0, offsetof(LinkConfig, channels) |
| Link.Advertise, config_parse_advertise, 0, offsetof(LinkConfig, advertise) |
| Link.RxBufferSize, config_parse_nic_buffer_size, 0, offsetof(LinkConfig, ring) |
| Link.RxMiniBufferSize, config_parse_nic_buffer_size, 0, offsetof(LinkConfig, ring) |
| Link.RxJumboBufferSize, config_parse_nic_buffer_size, 0, offsetof(LinkConfig, ring) |
| Link.TxBufferSize, config_parse_nic_buffer_size, 0, offsetof(LinkConfig, ring) |
| Link.RxFlowControl, config_parse_tristate, 0, offsetof(LinkConfig, rx_flow_control) |
| Link.TxFlowControl, config_parse_tristate, 0, offsetof(LinkConfig, tx_flow_control) |
| Link.AutoNegotiationFlowControl, config_parse_tristate, 0, offsetof(LinkConfig, autoneg_flow_control) |
| Link.GenericSegmentOffloadMaxBytes, config_parse_iec_size, 0, offsetof(LinkConfig, gso_max_size) |
| Link.GenericSegmentOffloadMaxSegments, config_parse_uint32, 0, offsetof(LinkConfig, gso_max_segments) |