]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/networkd-network-gperf.gperf
networkd: permit DNS "DefaultRoute" configuration in .network files
[thirdparty/systemd.git] / src / network / networkd-network-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"
0fbddd04 7#include "network-internal.h"
413708d1 8#include "networkd-conf.h"
23f53b99 9#include "networkd-network.h"
13b498f9 10#include "vlan-util.h"
c0dda186
TG
11%}
12struct ConfigPerfItem;
13%null_strings
14%language=ANSI-C
15%define slot-name section_and_lvalue
16%define hash-function-name network_network_gperf_hash
17%define lookup-function-name network_network_gperf_lookup
18%readonly-tables
19%omit-struct-type
20%struct-type
21%includes
22%%
e90d0374 23Match.MACAddress, config_parse_hwaddrs, 0, offsetof(Network, match_mac)
4f2e437a
SS
24Match.Path, config_parse_strv, 0, offsetof(Network, match_path)
25Match.Driver, config_parse_strv, 0, offsetof(Network, match_driver)
26Match.Type, config_parse_strv, 0, offsetof(Network, match_type)
27Match.Name, config_parse_ifnames, 0, offsetof(Network, match_name)
28Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(Network, match_host)
29Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(Network, match_virt)
5022f08a
LP
30Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, match_kernel_cmdline)
31Match.KernelVersion, config_parse_net_condition, CONDITION_KERNEL_VERSION, offsetof(Network, match_kernel_version)
4f2e437a
SS
32Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(Network, match_arch)
33Link.MACAddress, config_parse_hwaddr, 0, offsetof(Network, mac)
4e964aa0 34Link.MTUBytes, config_parse_mtu, AF_UNSPEC, offsetof(Network, mtu)
99d2baa2 35Link.ARP, config_parse_tristate, 0, offsetof(Network, arp)
e6ebebbe 36Link.Multicast, config_parse_tristate, 0, offsetof(Network, multicast)
866e6b7a 37Link.AllMulticast, config_parse_tristate, 0, offsetof(Network, allmulticast)
a09dc546 38Link.Unmanaged, config_parse_bool, 0, offsetof(Network, unmanaged)
c1a38904 39Link.RequiredForOnline, config_parse_bool, 0, offsetof(Network, required_for_online)
4f2e437a 40Network.Description, config_parse_string, 0, offsetof(Network, description)
fd3005f9
YW
41Network.Bridge, config_parse_netdev, 0, 0
42Network.Bond, config_parse_netdev, 0, 0
4f2e437a
SS
43Network.VLAN, config_parse_netdev, 0, 0
44Network.MACVLAN, config_parse_netdev, 0, 0
45Network.MACVTAP, config_parse_netdev, 0, 0
46Network.IPVLAN, config_parse_netdev, 0, 0
47Network.VXLAN, config_parse_netdev, 0, 0
48Network.Tunnel, config_parse_tunnel, 0, 0
6cb955c6 49Network.VRF, config_parse_netdev, 0, 0
4f2e437a
SS
50Network.DHCP, config_parse_dhcp, 0, offsetof(Network, dhcp)
51Network.DHCPServer, config_parse_bool, 0, offsetof(Network, dhcp_server)
52Network.LinkLocalAddressing, config_parse_address_family_boolean, 0, offsetof(Network, link_local)
53Network.IPv4LLRoute, config_parse_bool, 0, offsetof(Network, ipv4ll_route)
54Network.IPv6Token, config_parse_ipv6token, 0, offsetof(Network, ipv6_token)
34437b4f 55Network.LLDP, config_parse_lldp_mode, 0, offsetof(Network, lldp_mode)
7272b25e 56Network.EmitLLDP, config_parse_lldp_emit, 0, offsetof(Network, lldp_emit)
4f2e437a
SS
57Network.Address, config_parse_address, 0, 0
58Network.Gateway, config_parse_gateway, 0, 0
3df9bec5 59Network.Domains, config_parse_domains, 0, 0
53253824 60Network.DNS, config_parse_dns, 0, 0
7ece6f58 61Network.DNSDefaultRoute, config_parse_tristate, 0, offsetof(Network, dns_default_route)
af49ca27 62Network.LLMNR, config_parse_resolve_support, 0, offsetof(Network, llmnr)
aaa297d4 63Network.MulticastDNS, config_parse_resolve_support, 0, offsetof(Network, mdns)
c9299be2 64Network.DNSOverTLS, config_parse_dns_over_tls_mode, 0, offsetof(Network, dns_over_tls_mode)
ad6c0475 65Network.DNSSEC, config_parse_dnssec_mode, 0, offsetof(Network, dnssec_mode)
5733d88d 66Network.DNSSECNegativeTrustAnchors, config_parse_dnssec_negative_trust_anchors, 0, 0
26575990 67Network.NTP, config_parse_ntp, 0, offsetof(Network, ntp)
4f2e437a
SS
68Network.IPForward, config_parse_address_family_boolean_with_kernel,0, offsetof(Network, ip_forward)
69Network.IPMasquerade, config_parse_bool, 0, offsetof(Network, ip_masquerade)
70Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extensions, 0, offsetof(Network, ipv6_privacy_extensions)
f921f573 71Network.IPv6AcceptRA, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
4f2e437a 72Network.IPv6AcceptRouterAdvertisements, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
8749cbcd 73Network.IPv6DuplicateAddressDetection, config_parse_int, 0, offsetof(Network, ipv6_dad_transmits)
b69c3180 74Network.IPv6HopLimit, config_parse_int, 0, offsetof(Network, ipv6_hop_limit)
465dfe59 75Network.IPv6ProxyNDP, config_parse_tristate, 0, offsetof(Network, ipv6_proxy_ndp)
d493d826 76Network.IPv6MTUBytes, config_parse_mtu, AF_INET6, offsetof(Network, ipv6_mtu)
cbd50adc
ZJS
77Network.ActiveSlave, config_parse_bool, 0, offsetof(Network, active_slave)
78Network.PrimarySlave, config_parse_bool, 0, offsetof(Network, primary_slave)
8f9a206b 79Network.IPv4ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp)
cbd50adc 80Network.ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp)
a0e5c15d 81Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0
4f2e437a 82Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier)
dad2d78e 83Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier)
4f2e437a
SS
84Address.Address, config_parse_address, 0, 0
85Address.Peer, config_parse_address, 0, 0
86Address.Broadcast, config_parse_broadcast, 0, 0
87Address.Label, config_parse_label, 0, 0
b5834a0b 88Address.PreferredLifetime, config_parse_lifetime, 0, 0
e63be084
SS
89Address.HomeAddress, config_parse_address_flags, 0, 0
90Address.DuplicateAddressDetection, config_parse_address_flags, 0, 0
91Address.ManageTemporaryAddress, config_parse_address_flags, 0, 0
92Address.PrefixRoute, config_parse_address_flags, 0, 0
93Address.AutoJoin, config_parse_address_flags, 0, 0
2959fb07 94Address.Scope, config_parse_address_scope, 0, 0
95b74ef6
SS
95IPv6AddressLabel.Prefix, config_parse_address_label_prefix, 0, 0
96IPv6AddressLabel.Label, config_parse_address_label, 0, 0
e4a71bf3
WKI
97Neighbor.Address, config_parse_neighbor_address, 0, 0
98Neighbor.MACAddress, config_parse_neighbor_hwaddr, 0, 0
bce67bbe
SS
99RoutingPolicyRule.TypeOfService, config_parse_routing_policy_rule_tos, 0, 0
100RoutingPolicyRule.Priority, config_parse_routing_policy_rule_priority, 0, 0
101RoutingPolicyRule.Table, config_parse_routing_policy_rule_table, 0, 0
102RoutingPolicyRule.FirewallMark, config_parse_routing_policy_rule_fwmark_mask, 0, 0
103RoutingPolicyRule.From, config_parse_routing_policy_rule_prefix, 0, 0
104RoutingPolicyRule.To, config_parse_routing_policy_rule_prefix, 0, 0
762e2659
SS
105RoutingPolicyRule.IncomingInterface, config_parse_routing_policy_rule_device, 0, 0
106RoutingPolicyRule.OutgoingInterface, config_parse_routing_policy_rule_device, 0, 0
97f9df9e 107RoutingPolicyRule.IPProtocol, config_parse_routing_policy_rule_ip_protocol, 0, 0
926062f0
SS
108RoutingPolicyRule.SourcePort, config_parse_routing_policy_rule_port_range, 0, 0
109RoutingPolicyRule.DestinationPort, config_parse_routing_policy_rule_port_range, 0, 0
8b220643 110RoutingPolicyRule.InvertRule, config_parse_routing_policy_rule_invert, 0, 0
4f2e437a
SS
111Route.Gateway, config_parse_gateway, 0, 0
112Route.Destination, config_parse_destination, 0, 0
113Route.Source, config_parse_destination, 0, 0
114Route.Metric, config_parse_route_priority, 0, 0
115Route.Scope, config_parse_route_scope, 0, 0
0d07e595 116Route.PreferredSource, config_parse_preferred_src, 0, 0
c953b24c 117Route.Table, config_parse_route_table, 0, 0
cea79e66 118Route.MTUBytes, config_parse_route_mtu, AF_UNSPEC, 0
28959f7d 119Route.GatewayOnlink, config_parse_gateway_onlink, 0, 0
b5bf6f64 120Route.IPv6Preference, config_parse_ipv6_route_preference, 0, 0
c83ecc04 121Route.Protocol, config_parse_route_protocol, 0, 0
983226f3 122Route.Type, config_parse_route_type, 0, 0
323d9329
SS
123Route.InitialCongestionWindow, config_parse_tcp_window, 0, 0
124Route.InitialAdvertisedReceiveWindow, config_parse_tcp_window, 0, 0
09f5dfad 125Route.QuickAck, config_parse_quickack, 0, 0
4f2e437a 126DHCP.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Network, dhcp_client_identifier)
27cb34f5
LP
127DHCP.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
128DHCP.UseNTP, config_parse_bool, 0, offsetof(Network, dhcp_use_ntp)
129DHCP.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu)
130DHCP.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname)
b2a81c0b 131DHCP.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
27cb34f5 132DHCP.UseRoutes, config_parse_bool, 0, offsetof(Network, dhcp_use_routes)
7585baa0 133DHCP.Anonymize, config_parse_bool, 0, offsetof(Network, dhcp_anonymize)
27cb34f5
LP
134DHCP.SendHostname, config_parse_bool, 0, offsetof(Network, dhcp_send_hostname)
135DHCP.Hostname, config_parse_hostname, 0, offsetof(Network, dhcp_hostname)
4f2e437a
SS
136DHCP.RequestBroadcast, config_parse_bool, 0, offsetof(Network, dhcp_broadcast)
137DHCP.CriticalConnection, config_parse_bool, 0, offsetof(Network, dhcp_critical)
138DHCP.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier)
af1c0de0 139DHCP.UserClass, config_parse_dhcp_user_class, 0, offsetof(Network, dhcp_user_class)
0cf7c3fd 140DHCP.DUIDType, config_parse_duid_type, 0, offsetof(Network, duid)
8341a5c3 141DHCP.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Network, duid)
4f2e437a 142DHCP.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric)
fc1ba79d 143DHCP.RouteTable, config_parse_dhcp_route_table, 0, 0
27cb34f5 144DHCP.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_use_timezone)
8217ed5e 145DHCP.IAID, config_parse_iaid, 0, 0
9c77d107 146DHCP.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port)
fb5c8216 147DHCP.RapidCommit, config_parse_bool, 0, offsetof(Network, rapid_commit)
598c85cc 148DHCP.ForceDHCPv6PDOtherInformation, config_parse_bool, 0, offsetof(Network, dhcp6_force_pd_other_information)
f921f573
LP
149IPv6AcceptRA.UseDNS, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_dns)
150IPv6AcceptRA.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, ipv6_accept_ra_use_domains)
30cda194 151IPv6AcceptRA.RouteTable, config_parse_uint32, 0, offsetof(Network, ipv6_accept_ra_route_table)
4f2e437a
SS
152DHCPServer.MaxLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_max_lease_time_usec)
153DHCPServer.DefaultLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_default_lease_time_usec)
154DHCPServer.EmitDNS, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_dns)
155DHCPServer.DNS, config_parse_dhcp_server_dns, 0, 0
156DHCPServer.EmitNTP, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_ntp)
157DHCPServer.NTP, config_parse_dhcp_server_ntp, 0, 0
77ff6022 158DHCPServer.EmitRouter, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_router)
4f2e437a
SS
159DHCPServer.EmitTimezone, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_timezone)
160DHCPServer.Timezone, config_parse_timezone, 0, offsetof(Network, dhcp_server_timezone)
161DHCPServer.PoolOffset, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_offset)
162DHCPServer.PoolSize, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_size)
b56be296 163Bridge.Cost, config_parse_uint32, 0, offsetof(Network, cost)
7f9915f0
SS
164Bridge.UseBPDU, config_parse_tristate, 0, offsetof(Network, use_bpdu)
165Bridge.HairPin, config_parse_tristate, 0, offsetof(Network, hairpin)
166Bridge.FastLeave, config_parse_tristate, 0, offsetof(Network, fast_leave)
167Bridge.AllowPortToBeRoot, config_parse_tristate, 0, offsetof(Network, allow_port_to_be_root)
168Bridge.UnicastFlood, config_parse_tristate, 0, offsetof(Network, unicast_flood)
d3aa8b49 169Bridge.MulticastToUnicast, config_parse_tristate, 0, offsetof(Network, multicast_to_unicast)
f00ff0de 170Bridge.Priority, config_parse_bridge_port_priority, 0, offsetof(Network, priority)
4f2e437a
SS
171BridgeFDB.MACAddress, config_parse_fdb_hwaddr, 0, 0
172BridgeFDB.VLANId, config_parse_fdb_vlan_id, 0, 0
ffff9abe 173BridgeVLAN.PVID, config_parse_brvlan_pvid, 0, 0
13b498f9
TJ
174BridgeVLAN.VLAN, config_parse_brvlan_vlan, 0, 0
175BridgeVLAN.EgressUntagged, config_parse_brvlan_untagged, 0, 0
56a23cb4 176Network.IPv6PrefixDelegation, config_parse_router_prefix_delegation, 0, 0
7d5cac19
PF
177IPv6PrefixDelegation.RouterLifetimeSec, config_parse_sec, 0, offsetof(Network, router_lifetime_usec)
178IPv6PrefixDelegation.Managed, config_parse_bool, 0, offsetof(Network, router_managed)
179IPv6PrefixDelegation.OtherInformation, config_parse_bool, 0, offsetof(Network, router_other_information)
180IPv6PrefixDelegation.RouterPreference, config_parse_router_preference, 0, 0
9e25315c 181IPv6PrefixDelegation.EmitDNS, config_parse_bool, 0, offsetof(Network, router_emit_dns)
88295a05 182IPv6PrefixDelegation.DNS, config_parse_radv_dns, 0, 0
9e25315c 183IPv6PrefixDelegation.EmitDomains, config_parse_bool, 0, offsetof(Network, router_emit_domains)
700f1186 184IPv6PrefixDelegation.Domains, config_parse_radv_search_domains, 0, 0
88295a05 185IPv6PrefixDelegation.DNSLifetimeSec, config_parse_sec, 0, offsetof(Network, router_dns_lifetime_usec)
9d5d0090
PF
186IPv6Prefix.Prefix, config_parse_prefix, 0, 0
187IPv6Prefix.OnLink, config_parse_prefix_flags, 0, 0
188IPv6Prefix.AddressAutoconfiguration, config_parse_prefix_flags, 0, 0
189IPv6Prefix.ValidLifetimeSec, config_parse_prefix_lifetime, 0, 0
190IPv6Prefix.PreferredLifetimeSec, config_parse_prefix_lifetime, 0, 0
06828bb6
HP
191CAN.BitRate, config_parse_si_size, 0, offsetof(Network, can_bitrate)
192CAN.SamplePoint, config_parse_permille, 0, offsetof(Network, can_sample_point)
193CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us)
4cc7a82c 194/* backwards compatibility: do not add new entries to this section */
4f2e437a 195Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local)
27cb34f5
LP
196DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
197DHCPv4.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu)
198DHCPv4.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname)
b2a81c0b
LP
199DHCP.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
200DHCPv4.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
4f2e437a 201DHCPv4.CriticalConnection, config_parse_bool, 0, offsetof(Network, dhcp_critical)