]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/netdev/netdev-gperf.gperf
a06694ad62d725e9bc04b76a1ab46a75d750c3f9
[thirdparty/systemd.git] / src / network / netdev / netdev-gperf.gperf
1 %{
2 #if __GNUC__ >= 7
3 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
4 #endif
5 #include <stddef.h>
6 #include "conf-parser.h"
7 #include "network-internal.h"
8 #include "netdev/bond.h"
9 #include "netdev/bridge.h"
10 #include "netdev/geneve.h"
11 #include "netdev/ipvlan.h"
12 #include "netdev/macsec.h"
13 #include "netdev/macvlan.h"
14 #include "netdev/tunnel.h"
15 #include "netdev/tuntap.h"
16 #include "netdev/veth.h"
17 #include "netdev/vlan.h"
18 #include "netdev/vxlan.h"
19 #include "netdev/vrf.h"
20 #include "netdev/netdev.h"
21 #include "netdev/vxcan.h"
22 #include "netdev/wireguard.h"
23 #include "netdev/fou-tunnel.h"
24 #include "netdev/l2tp-tunnel.h"
25 #include "vlan-util.h"
26 %}
27 struct ConfigPerfItem;
28 %null_strings
29 %language=ANSI-C
30 %define slot-name section_and_lvalue
31 %define hash-function-name network_netdev_gperf_hash
32 %define lookup-function-name network_netdev_gperf_lookup
33 %readonly-tables
34 %omit-struct-type
35 %struct-type
36 %includes
37 %%
38 Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(NetDev, conditions)
39 Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(NetDev, conditions)
40 Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(NetDev, conditions)
41 Match.KernelVersion, config_parse_net_condition, CONDITION_KERNEL_VERSION, offsetof(NetDev, conditions)
42 Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(NetDev, conditions)
43 NetDev.Description, config_parse_string, 0, offsetof(NetDev, description)
44 NetDev.Name, config_parse_ifname, 0, offsetof(NetDev, ifname)
45 NetDev.Kind, config_parse_netdev_kind, 0, offsetof(NetDev, kind)
46 NetDev.MTUBytes, config_parse_mtu, AF_UNSPEC, offsetof(NetDev, mtu)
47 NetDev.MACAddress, config_parse_hwaddr, 0, offsetof(NetDev, mac)
48 VLAN.Id, config_parse_vlanid, 0, offsetof(VLan, id)
49 VLAN.GVRP, config_parse_tristate, 0, offsetof(VLan, gvrp)
50 VLAN.MVRP, config_parse_tristate, 0, offsetof(VLan, mvrp)
51 VLAN.LooseBinding, config_parse_tristate, 0, offsetof(VLan, loose_binding)
52 VLAN.ReorderHeader, config_parse_tristate, 0, offsetof(VLan, reorder_hdr)
53 MACVLAN.Mode, config_parse_macvlan_mode, 0, offsetof(MacVlan, mode)
54 MACVTAP.Mode, config_parse_macvlan_mode, 0, offsetof(MacVlan, mode)
55 IPVLAN.Mode, config_parse_ipvlan_mode, 0, offsetof(IPVlan, mode)
56 IPVLAN.Flags, config_parse_ipvlan_flags, 0, offsetof(IPVlan, flags)
57 Tunnel.Local, config_parse_tunnel_address, 0, offsetof(Tunnel, local)
58 Tunnel.Remote, config_parse_tunnel_address, 0, offsetof(Tunnel, remote)
59 Tunnel.TOS, config_parse_unsigned, 0, offsetof(Tunnel, tos)
60 Tunnel.TTL, config_parse_unsigned, 0, offsetof(Tunnel, ttl)
61 Tunnel.Key, config_parse_tunnel_key, 0, offsetof(Tunnel, key)
62 Tunnel.InputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, ikey)
63 Tunnel.OutputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, okey)
64 Tunnel.DiscoverPathMTU, config_parse_bool, 0, offsetof(Tunnel, pmtudisc)
65 Tunnel.Mode, config_parse_ip6tnl_mode, 0, offsetof(Tunnel, ip6tnl_mode)
66 Tunnel.IPv6FlowLabel, config_parse_ipv6_flowlabel, 0, offsetof(Tunnel, ipv6_flowlabel)
67 Tunnel.CopyDSCP, config_parse_bool, 0, offsetof(Tunnel, copy_dscp)
68 Tunnel.EncapsulationLimit, config_parse_encap_limit, 0, offsetof(Tunnel, encap_limit)
69 Tunnel.Independent, config_parse_bool, 0, offsetof(Tunnel, independent)
70 Tunnel.AllowLocalRemote, config_parse_tristate, 0, offsetof(Tunnel, allow_localremote)
71 Tunnel.FooOverUDP, config_parse_bool, 0, offsetof(Tunnel, fou_tunnel)
72 Tunnel.FOUDestinationPort, config_parse_ip_port, 0, offsetof(Tunnel, fou_destination_port)
73 Tunnel.FOUSourcePort, config_parse_ip_port, 0, offsetof(Tunnel, encap_src_port)
74 Tunnel.Encapsulation, config_parse_fou_encap_type, 0, offsetof(Tunnel, fou_encap_type)
75 Tunnel.IPv6RapidDeploymentPrefix, config_parse_6rd_prefix, 0, 0
76 Tunnel.ERSPANIndex, config_parse_uint32, 0, offsetof(Tunnel, erspan_index)
77 Tunnel.SerializeTunneledPackets, config_parse_tristate, 0, offsetof(Tunnel, gre_erspan_sequence)
78 Tunnel.ISATAP, config_parse_tristate, 0, offsetof(Tunnel, isatap)
79 FooOverUDP.Protocol, config_parse_ip_protocol, 0, offsetof(FouTunnel, fou_protocol)
80 FooOverUDP.Encapsulation, config_parse_fou_encap_type, 0, offsetof(FouTunnel, fou_encap_type)
81 FooOverUDP.Port, config_parse_ip_port, 0, offsetof(FouTunnel, port)
82 L2TP.TunnelId, config_parse_l2tp_tunnel_id, 0, offsetof(L2tpTunnel, tunnel_id)
83 L2TP.PeerTunnelId, config_parse_l2tp_tunnel_id, 0, offsetof(L2tpTunnel, peer_tunnel_id)
84 L2TP.UDPSourcePort, config_parse_ip_port, 0, offsetof(L2tpTunnel, l2tp_udp_sport)
85 L2TP.UDPDestinationPort, config_parse_ip_port, 0, offsetof(L2tpTunnel, l2tp_udp_dport)
86 L2TP.Local, config_parse_l2tp_tunnel_address, 0, offsetof(L2tpTunnel, local)
87 L2TP.Remote, config_parse_l2tp_tunnel_address, 0, offsetof(L2tpTunnel, remote)
88 L2TP.EncapsulationType, config_parse_l2tp_encap_type, 0, offsetof(L2tpTunnel, l2tp_encap_type)
89 L2TP.UDPCheckSum, config_parse_bool, 0, offsetof(L2tpTunnel, udp_csum)
90 L2TP.UDP6CheckSumRx, config_parse_bool, 0, offsetof(L2tpTunnel, udp6_csum_rx)
91 L2TP.UDP6CheckSumTx, config_parse_bool, 0, offsetof(L2tpTunnel, udp6_csum_tx)
92 L2TPSession.SessionId, config_parse_l2tp_session_id, 0, 0
93 L2TPSession.PeerSessionId, config_parse_l2tp_session_id, 0, 0
94 L2TPSession.Layer2SpecificHeader, config_parse_l2tp_session_l2spec, 0, 0
95 L2TPSession.Name, config_parse_l2tp_session_name, 0, 0
96 Peer.Name, config_parse_ifname, 0, offsetof(Veth, ifname_peer)
97 Peer.MACAddress, config_parse_hwaddr, 0, offsetof(Veth, mac_peer)
98 VXCAN.Peer, config_parse_ifname, 0, offsetof(VxCan, ifname_peer)
99 VXLAN.Id, config_parse_uint64, 0, offsetof(VxLan, id)
100 VXLAN.Group, config_parse_vxlan_address, 0, offsetof(VxLan, remote)
101 VXLAN.Local, config_parse_vxlan_address, 0, offsetof(VxLan, local)
102 VXLAN.Remote, config_parse_vxlan_address, 0, offsetof(VxLan, remote)
103 VXLAN.TOS, config_parse_unsigned, 0, offsetof(VxLan, tos)
104 VXLAN.TTL, config_parse_unsigned, 0, offsetof(VxLan, ttl)
105 VXLAN.MacLearning, config_parse_bool, 0, offsetof(VxLan, learning)
106 VXLAN.ARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
107 VXLAN.ReduceARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
108 VXLAN.L2MissNotification, config_parse_bool, 0, offsetof(VxLan, l2miss)
109 VXLAN.L3MissNotification, config_parse_bool, 0, offsetof(VxLan, l3miss)
110 VXLAN.RouteShortCircuit, config_parse_bool, 0, offsetof(VxLan, route_short_circuit)
111 VXLAN.UDPCheckSum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
112 VXLAN.UDPChecksum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
113 VXLAN.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
114 VXLAN.UDP6ZeroChecksumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
115 VXLAN.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
116 VXLAN.UDP6ZeroChecksumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
117 VXLAN.RemoteChecksumTx, config_parse_bool, 0, offsetof(VxLan, remote_csum_tx)
118 VXLAN.RemoteChecksumRx, config_parse_bool, 0, offsetof(VxLan, remote_csum_rx)
119 VXLAN.FDBAgeingSec, config_parse_sec, 0, offsetof(VxLan, fdb_ageing)
120 VXLAN.GroupPolicyExtension, config_parse_bool, 0, offsetof(VxLan, group_policy)
121 VXLAN.MaximumFDBEntries, config_parse_unsigned, 0, offsetof(VxLan, max_fdb)
122 VXLAN.PortRange, config_parse_port_range, 0, 0
123 VXLAN.DestinationPort, config_parse_ip_port, 0, offsetof(VxLan, dest_port)
124 VXLAN.FlowLabel, config_parse_flow_label, 0, 0
125 GENEVE.Id, config_parse_geneve_vni, 0, offsetof(Geneve, id)
126 GENEVE.Remote, config_parse_geneve_address, 0, offsetof(Geneve, remote)
127 GENEVE.TOS, config_parse_uint8, 0, offsetof(Geneve, tos)
128 GENEVE.TTL, config_parse_uint8, 0, offsetof(Geneve, ttl)
129 GENEVE.UDPChecksum, config_parse_bool, 0, offsetof(Geneve, udpcsum)
130 GENEVE.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumrx)
131 GENEVE.UDP6ZeroChecksumRx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumrx)
132 GENEVE.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumtx)
133 GENEVE.UDP6ZeroChecksumTx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumtx)
134 GENEVE.DestinationPort, config_parse_ip_port, 0, offsetof(Geneve, dest_port)
135 GENEVE.FlowLabel, config_parse_geneve_flow_label, 0, 0
136 MACsec.Port, config_parse_macsec_port, 0, 0
137 MACsec.Encrypt, config_parse_tristate, 0, offsetof(MACsec, encrypt)
138 MACsecReceiveChannel.Port, config_parse_macsec_port, 0, 0
139 MACsecReceiveChannel.MACAddress, config_parse_macsec_hw_address, 0, 0
140 MACsecTransmitAssociation.PacketNumber, config_parse_macsec_packet_number, 0, 0
141 MACsecTransmitAssociation.KeyId, config_parse_macsec_key_id, 0, 0
142 MACsecTransmitAssociation.Key, config_parse_macsec_key, 0, 0
143 MACsecTransmitAssociation.KeyFile, config_parse_macsec_key_file, 0, 0
144 MACsecTransmitAssociation.Activate, config_parse_macsec_sa_activate, 0, 0
145 MACsecTransmitAssociation.UseForEncoding, config_parse_macsec_use_for_encoding, 0, 0
146 MACsecReceiveAssociation.Port, config_parse_macsec_port, 0, 0
147 MACsecReceiveAssociation.MACAddress, config_parse_macsec_hw_address, 0, 0
148 MACsecReceiveAssociation.PacketNumber, config_parse_macsec_packet_number, 0, 0
149 MACsecReceiveAssociation.KeyId, config_parse_macsec_key_id, 0, 0
150 MACsecReceiveAssociation.Key, config_parse_macsec_key, 0, 0
151 MACsecReceiveAssociation.KeyFile, config_parse_macsec_key_file, 0, 0
152 MACsecReceiveAssociation.Activate, config_parse_macsec_sa_activate, 0, 0
153 Tun.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
154 Tun.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
155 Tun.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
156 Tun.User, config_parse_string, 0, offsetof(TunTap, user_name)
157 Tun.Group, config_parse_string, 0, offsetof(TunTap, group_name)
158 Tap.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
159 Tap.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
160 Tap.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
161 Tap.VNetHeader, config_parse_bool, 0, offsetof(TunTap, vnet_hdr)
162 Tap.User, config_parse_string, 0, offsetof(TunTap, user_name)
163 Tap.Group, config_parse_string, 0, offsetof(TunTap, group_name)
164 Bond.Mode, config_parse_bond_mode, 0, offsetof(Bond, mode)
165 Bond.TransmitHashPolicy, config_parse_bond_xmit_hash_policy, 0, offsetof(Bond, xmit_hash_policy)
166 Bond.LACPTransmitRate, config_parse_bond_lacp_rate, 0, offsetof(Bond, lacp_rate)
167 Bond.AdSelect, config_parse_bond_ad_select, 0, offsetof(Bond, ad_select)
168 Bond.FailOverMACPolicy, config_parse_bond_fail_over_mac, 0, offsetof(Bond, fail_over_mac)
169 Bond.ARPIPTargets, config_parse_arp_ip_target_address, 0, 0
170 Bond.ARPValidate, config_parse_bond_arp_validate, 0, offsetof(Bond, arp_validate)
171 Bond.ARPAllTargets, config_parse_bond_arp_all_targets, 0, offsetof(Bond, arp_all_targets)
172 Bond.PrimaryReselectPolicy, config_parse_bond_primary_reselect, 0, offsetof(Bond, primary_reselect)
173 Bond.ResendIGMP, config_parse_unsigned, 0, offsetof(Bond, resend_igmp)
174 Bond.PacketsPerSlave, config_parse_unsigned, 0, offsetof(Bond, packets_per_slave)
175 Bond.GratuitousARP, config_parse_unsigned, 0, offsetof(Bond, num_grat_arp)
176 Bond.AllSlavesActive, config_parse_bool, 0, offsetof(Bond, all_slaves_active)
177 Bond.DynamicTransmitLoadBalancing, config_parse_tristate, 0, offsetof(Bond, tlb_dynamic_lb)
178 Bond.MinLinks, config_parse_unsigned, 0, offsetof(Bond, min_links)
179 Bond.MIIMonitorSec, config_parse_sec, 0, offsetof(Bond, miimon)
180 Bond.UpDelaySec, config_parse_sec, 0, offsetof(Bond, updelay)
181 Bond.DownDelaySec, config_parse_sec, 0, offsetof(Bond, downdelay)
182 Bond.ARPIntervalSec, config_parse_sec, 0, offsetof(Bond, arp_interval)
183 Bond.LearnPacketIntervalSec, config_parse_sec, 0, offsetof(Bond, lp_interval)
184 Bond.AdActorSystemPriority, config_parse_ad_actor_sys_prio, 0, offsetof(Bond, ad_actor_sys_prio)
185 Bond.AdUserPortKey, config_parse_ad_user_port_key, 0, offsetof(Bond, ad_user_port_key)
186 Bond.AdActorSystem, config_parse_ad_actor_system, 0, offsetof(Bond, ad_actor_system)
187 Bridge.HelloTimeSec, config_parse_sec, 0, offsetof(Bridge, hello_time)
188 Bridge.MaxAgeSec, config_parse_sec, 0, offsetof(Bridge, max_age)
189 Bridge.AgeingTimeSec, config_parse_sec, 0, offsetof(Bridge, ageing_time)
190 Bridge.ForwardDelaySec, config_parse_sec, 0, offsetof(Bridge, forward_delay)
191 Bridge.Priority, config_parse_uint16, 0, offsetof(Bridge, priority)
192 Bridge.GroupForwardMask, config_parse_uint16, 0, offsetof(Bridge, group_fwd_mask)
193 Bridge.DefaultPVID, config_parse_default_port_vlanid, 0, offsetof(Bridge, default_pvid)
194 Bridge.MulticastQuerier, config_parse_tristate, 0, offsetof(Bridge, mcast_querier)
195 Bridge.MulticastSnooping, config_parse_tristate, 0, offsetof(Bridge, mcast_snooping)
196 Bridge.VLANFiltering, config_parse_tristate, 0, offsetof(Bridge, vlan_filtering)
197 Bridge.STP, config_parse_tristate, 0, offsetof(Bridge, stp)
198 VRF.TableId, config_parse_uint32, 0, offsetof(Vrf, table) /* deprecated */
199 VRF.Table, config_parse_uint32, 0, offsetof(Vrf, table)
200 WireGuard.FwMark, config_parse_unsigned, 0, offsetof(Wireguard, fwmark)
201 WireGuard.ListenPort, config_parse_wireguard_listen_port, 0, offsetof(Wireguard, port)
202 WireGuard.PrivateKey, config_parse_wireguard_private_key, 0, 0
203 WireGuard.PrivateKeyFile, config_parse_wireguard_private_key_file, 0, 0
204 WireGuardPeer.AllowedIPs, config_parse_wireguard_allowed_ips, 0, 0
205 WireGuardPeer.Endpoint, config_parse_wireguard_endpoint, 0, 0
206 WireGuardPeer.PublicKey, config_parse_wireguard_public_key, 0, 0
207 WireGuardPeer.PresharedKey, config_parse_wireguard_preshared_key, 0, 0
208 WireGuardPeer.PresharedKeyFile, config_parse_wireguard_preshared_key_file, 0, 0
209 WireGuardPeer.PersistentKeepalive, config_parse_wireguard_keepalive, 0, 0