]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/netdev/netdev-gperf.gperf
networkd: VXLan Make group and remote variable separate
[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)
57Tunnel.Local, config_parse_tunnel_address, 0, offsetof(Tunnel, local)
58Tunnel.Remote, config_parse_tunnel_address, 0, offsetof(Tunnel, remote)
59Tunnel.TOS, config_parse_unsigned, 0, offsetof(Tunnel, tos)
60Tunnel.TTL, config_parse_unsigned, 0, offsetof(Tunnel, ttl)
61Tunnel.Key, config_parse_tunnel_key, 0, offsetof(Tunnel, key)
62Tunnel.InputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, ikey)
63Tunnel.OutputKey, config_parse_tunnel_key, 0, offsetof(Tunnel, okey)
64Tunnel.DiscoverPathMTU, config_parse_bool, 0, offsetof(Tunnel, pmtudisc)
65Tunnel.Mode, config_parse_ip6tnl_mode, 0, offsetof(Tunnel, ip6tnl_mode)
66Tunnel.IPv6FlowLabel, config_parse_ipv6_flowlabel, 0, offsetof(Tunnel, ipv6_flowlabel)
67Tunnel.CopyDSCP, config_parse_bool, 0, offsetof(Tunnel, copy_dscp)
68Tunnel.EncapsulationLimit, config_parse_encap_limit, 0, offsetof(Tunnel, encap_limit)
69Tunnel.Independent, config_parse_bool, 0, offsetof(Tunnel, independent)
70Tunnel.AllowLocalRemote, config_parse_tristate, 0, offsetof(Tunnel, allow_localremote)
71Tunnel.FooOverUDP, config_parse_bool, 0, offsetof(Tunnel, fou_tunnel)
72Tunnel.FOUDestinationPort, config_parse_ip_port, 0, offsetof(Tunnel, fou_destination_port)
73Tunnel.FOUSourcePort, config_parse_ip_port, 0, offsetof(Tunnel, encap_src_port)
74Tunnel.Encapsulation, config_parse_fou_encap_type, 0, offsetof(Tunnel, fou_encap_type)
75Tunnel.IPv6RapidDeploymentPrefix, config_parse_6rd_prefix, 0, 0
76Tunnel.ERSPANIndex, config_parse_uint32, 0, offsetof(Tunnel, erspan_index)
77Tunnel.SerializeTunneledPackets, config_parse_tristate, 0, offsetof(Tunnel, gre_erspan_sequence)
78Tunnel.ISATAP, config_parse_tristate, 0, offsetof(Tunnel, isatap)
79FooOverUDP.Protocol, config_parse_ip_protocol, 0, offsetof(FouTunnel, fou_protocol)
80FooOverUDP.Encapsulation, config_parse_fou_encap_type, 0, offsetof(FouTunnel, fou_encap_type)
81FooOverUDP.Port, config_parse_ip_port, 0, offsetof(FouTunnel, port)
82L2TP.TunnelId, config_parse_l2tp_tunnel_id, 0, offsetof(L2tpTunnel, tunnel_id)
83L2TP.PeerTunnelId, config_parse_l2tp_tunnel_id, 0, offsetof(L2tpTunnel, peer_tunnel_id)
84L2TP.UDPSourcePort, config_parse_ip_port, 0, offsetof(L2tpTunnel, l2tp_udp_sport)
85L2TP.UDPDestinationPort, config_parse_ip_port, 0, offsetof(L2tpTunnel, l2tp_udp_dport)
86L2TP.Local, config_parse_l2tp_tunnel_address, 0, offsetof(L2tpTunnel, local)
87L2TP.Remote, config_parse_l2tp_tunnel_address, 0, offsetof(L2tpTunnel, remote)
88L2TP.EncapsulationType, config_parse_l2tp_encap_type, 0, offsetof(L2tpTunnel, l2tp_encap_type)
89L2TP.UDPCheckSum, config_parse_bool, 0, offsetof(L2tpTunnel, udp_csum)
90L2TP.UDP6CheckSumRx, config_parse_bool, 0, offsetof(L2tpTunnel, udp6_csum_rx)
91L2TP.UDP6CheckSumTx, config_parse_bool, 0, offsetof(L2tpTunnel, udp6_csum_tx)
92L2TPSession.SessionId, config_parse_l2tp_session_id, 0, 0
93L2TPSession.PeerSessionId, config_parse_l2tp_session_id, 0, 0
94L2TPSession.Layer2SpecificHeader, config_parse_l2tp_session_l2spec, 0, 0
95L2TPSession.Name, config_parse_l2tp_session_name, 0, 0
96Peer.Name, config_parse_ifname, 0, offsetof(Veth, ifname_peer)
97Peer.MACAddress, config_parse_hwaddr, 0, offsetof(Veth, mac_peer)
98VXCAN.Peer, config_parse_ifname, 0, offsetof(VxCan, ifname_peer)
6f213e4a
SS
99VXLAN.VNI, config_parse_uint64, 0, offsetof(VxLan, vni)
100VXLAN.Id, config_parse_uint64, 0, offsetof(VxLan, vni) /* deprecated */
83cb24ac 101VXLAN.Group, config_parse_vxlan_address, 0, offsetof(VxLan, group)
e57319dd
YW
102VXLAN.Local, config_parse_vxlan_address, 0, offsetof(VxLan, local)
103VXLAN.Remote, config_parse_vxlan_address, 0, offsetof(VxLan, remote)
104VXLAN.TOS, config_parse_unsigned, 0, offsetof(VxLan, tos)
105VXLAN.TTL, config_parse_unsigned, 0, offsetof(VxLan, ttl)
106VXLAN.MacLearning, config_parse_bool, 0, offsetof(VxLan, learning)
107VXLAN.ARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
108VXLAN.ReduceARPProxy, config_parse_bool, 0, offsetof(VxLan, arp_proxy)
109VXLAN.L2MissNotification, config_parse_bool, 0, offsetof(VxLan, l2miss)
110VXLAN.L3MissNotification, config_parse_bool, 0, offsetof(VxLan, l3miss)
111VXLAN.RouteShortCircuit, config_parse_bool, 0, offsetof(VxLan, route_short_circuit)
112VXLAN.UDPCheckSum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
113VXLAN.UDPChecksum, config_parse_bool, 0, offsetof(VxLan, udpcsum)
114VXLAN.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
115VXLAN.UDP6ZeroChecksumRx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumrx)
116VXLAN.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
117VXLAN.UDP6ZeroChecksumTx, config_parse_bool, 0, offsetof(VxLan, udp6zerocsumtx)
118VXLAN.RemoteChecksumTx, config_parse_bool, 0, offsetof(VxLan, remote_csum_tx)
119VXLAN.RemoteChecksumRx, config_parse_bool, 0, offsetof(VxLan, remote_csum_rx)
120VXLAN.FDBAgeingSec, config_parse_sec, 0, offsetof(VxLan, fdb_ageing)
121VXLAN.GroupPolicyExtension, config_parse_bool, 0, offsetof(VxLan, group_policy)
122VXLAN.MaximumFDBEntries, config_parse_unsigned, 0, offsetof(VxLan, max_fdb)
123VXLAN.PortRange, config_parse_port_range, 0, 0
124VXLAN.DestinationPort, config_parse_ip_port, 0, offsetof(VxLan, dest_port)
125VXLAN.FlowLabel, config_parse_flow_label, 0, 0
126GENEVE.Id, config_parse_geneve_vni, 0, offsetof(Geneve, id)
127GENEVE.Remote, config_parse_geneve_address, 0, offsetof(Geneve, remote)
128GENEVE.TOS, config_parse_uint8, 0, offsetof(Geneve, tos)
129GENEVE.TTL, config_parse_uint8, 0, offsetof(Geneve, ttl)
130GENEVE.UDPChecksum, config_parse_bool, 0, offsetof(Geneve, udpcsum)
131GENEVE.UDP6ZeroCheckSumRx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumrx)
132GENEVE.UDP6ZeroChecksumRx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumrx)
133GENEVE.UDP6ZeroCheckSumTx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumtx)
134GENEVE.UDP6ZeroChecksumTx, config_parse_bool, 0, offsetof(Geneve, udp6zerocsumtx)
135GENEVE.DestinationPort, config_parse_ip_port, 0, offsetof(Geneve, dest_port)
136GENEVE.FlowLabel, config_parse_geneve_flow_label, 0, 0
137MACsec.Port, config_parse_macsec_port, 0, 0
138MACsec.Encrypt, config_parse_tristate, 0, offsetof(MACsec, encrypt)
139MACsecReceiveChannel.Port, config_parse_macsec_port, 0, 0
140MACsecReceiveChannel.MACAddress, config_parse_macsec_hw_address, 0, 0
141MACsecTransmitAssociation.PacketNumber, config_parse_macsec_packet_number, 0, 0
142MACsecTransmitAssociation.KeyId, config_parse_macsec_key_id, 0, 0
143MACsecTransmitAssociation.Key, config_parse_macsec_key, 0, 0
144MACsecTransmitAssociation.KeyFile, config_parse_macsec_key_file, 0, 0
145MACsecTransmitAssociation.Activate, config_parse_macsec_sa_activate, 0, 0
146MACsecTransmitAssociation.UseForEncoding, config_parse_macsec_use_for_encoding, 0, 0
147MACsecReceiveAssociation.Port, config_parse_macsec_port, 0, 0
148MACsecReceiveAssociation.MACAddress, config_parse_macsec_hw_address, 0, 0
149MACsecReceiveAssociation.PacketNumber, config_parse_macsec_packet_number, 0, 0
150MACsecReceiveAssociation.KeyId, config_parse_macsec_key_id, 0, 0
151MACsecReceiveAssociation.Key, config_parse_macsec_key, 0, 0
152MACsecReceiveAssociation.KeyFile, config_parse_macsec_key_file, 0, 0
153MACsecReceiveAssociation.Activate, config_parse_macsec_sa_activate, 0, 0
154Tun.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
155Tun.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
156Tun.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
157Tun.User, config_parse_string, 0, offsetof(TunTap, user_name)
158Tun.Group, config_parse_string, 0, offsetof(TunTap, group_name)
159Tap.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
160Tap.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
161Tap.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
162Tap.VNetHeader, config_parse_bool, 0, offsetof(TunTap, vnet_hdr)
163Tap.User, config_parse_string, 0, offsetof(TunTap, user_name)
164Tap.Group, config_parse_string, 0, offsetof(TunTap, group_name)
165Bond.Mode, config_parse_bond_mode, 0, offsetof(Bond, mode)
166Bond.TransmitHashPolicy, config_parse_bond_xmit_hash_policy, 0, offsetof(Bond, xmit_hash_policy)
167Bond.LACPTransmitRate, config_parse_bond_lacp_rate, 0, offsetof(Bond, lacp_rate)
168Bond.AdSelect, config_parse_bond_ad_select, 0, offsetof(Bond, ad_select)
169Bond.FailOverMACPolicy, config_parse_bond_fail_over_mac, 0, offsetof(Bond, fail_over_mac)
170Bond.ARPIPTargets, config_parse_arp_ip_target_address, 0, 0
171Bond.ARPValidate, config_parse_bond_arp_validate, 0, offsetof(Bond, arp_validate)
172Bond.ARPAllTargets, config_parse_bond_arp_all_targets, 0, offsetof(Bond, arp_all_targets)
173Bond.PrimaryReselectPolicy, config_parse_bond_primary_reselect, 0, offsetof(Bond, primary_reselect)
174Bond.ResendIGMP, config_parse_unsigned, 0, offsetof(Bond, resend_igmp)
175Bond.PacketsPerSlave, config_parse_unsigned, 0, offsetof(Bond, packets_per_slave)
176Bond.GratuitousARP, config_parse_unsigned, 0, offsetof(Bond, num_grat_arp)
177Bond.AllSlavesActive, config_parse_bool, 0, offsetof(Bond, all_slaves_active)
178Bond.DynamicTransmitLoadBalancing, config_parse_tristate, 0, offsetof(Bond, tlb_dynamic_lb)
179Bond.MinLinks, config_parse_unsigned, 0, offsetof(Bond, min_links)
180Bond.MIIMonitorSec, config_parse_sec, 0, offsetof(Bond, miimon)
181Bond.UpDelaySec, config_parse_sec, 0, offsetof(Bond, updelay)
182Bond.DownDelaySec, config_parse_sec, 0, offsetof(Bond, downdelay)
183Bond.ARPIntervalSec, config_parse_sec, 0, offsetof(Bond, arp_interval)
184Bond.LearnPacketIntervalSec, config_parse_sec, 0, offsetof(Bond, lp_interval)
185Bond.AdActorSystemPriority, config_parse_ad_actor_sys_prio, 0, offsetof(Bond, ad_actor_sys_prio)
186Bond.AdUserPortKey, config_parse_ad_user_port_key, 0, offsetof(Bond, ad_user_port_key)
187Bond.AdActorSystem, config_parse_ad_actor_system, 0, offsetof(Bond, ad_actor_system)
188Bridge.HelloTimeSec, config_parse_sec, 0, offsetof(Bridge, hello_time)
189Bridge.MaxAgeSec, config_parse_sec, 0, offsetof(Bridge, max_age)
190Bridge.AgeingTimeSec, config_parse_sec, 0, offsetof(Bridge, ageing_time)
191Bridge.ForwardDelaySec, config_parse_sec, 0, offsetof(Bridge, forward_delay)
192Bridge.Priority, config_parse_uint16, 0, offsetof(Bridge, priority)
193Bridge.GroupForwardMask, config_parse_uint16, 0, offsetof(Bridge, group_fwd_mask)
194Bridge.DefaultPVID, config_parse_default_port_vlanid, 0, offsetof(Bridge, default_pvid)
195Bridge.MulticastQuerier, config_parse_tristate, 0, offsetof(Bridge, mcast_querier)
196Bridge.MulticastSnooping, config_parse_tristate, 0, offsetof(Bridge, mcast_snooping)
197Bridge.VLANFiltering, config_parse_tristate, 0, offsetof(Bridge, vlan_filtering)
198Bridge.STP, config_parse_tristate, 0, offsetof(Bridge, stp)
199VRF.TableId, config_parse_uint32, 0, offsetof(Vrf, table) /* deprecated */
200VRF.Table, config_parse_uint32, 0, offsetof(Vrf, table)
1c30b174
YW
201WireGuard.FirewallMark, config_parse_unsigned, 0, offsetof(Wireguard, fwmark)
202WireGuard.FwMark, config_parse_unsigned, 0, offsetof(Wireguard, fwmark) /* deprecated */
e57319dd
YW
203WireGuard.ListenPort, config_parse_wireguard_listen_port, 0, offsetof(Wireguard, port)
204WireGuard.PrivateKey, config_parse_wireguard_private_key, 0, 0
205WireGuard.PrivateKeyFile, config_parse_wireguard_private_key_file, 0, 0
206WireGuardPeer.AllowedIPs, config_parse_wireguard_allowed_ips, 0, 0
207WireGuardPeer.Endpoint, config_parse_wireguard_endpoint, 0, 0
208WireGuardPeer.PublicKey, config_parse_wireguard_public_key, 0, 0
209WireGuardPeer.PresharedKey, config_parse_wireguard_preshared_key, 0, 0
210WireGuardPeer.PresharedKeyFile, config_parse_wireguard_preshared_key_file, 0, 0
211WireGuardPeer.PersistentKeepalive, config_parse_wireguard_keepalive, 0, 0