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