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