]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/networkd-network-gperf.gperf
networkd: support incoming/outgoing device for rule matching (#7223)
[thirdparty/systemd.git] / src / network / networkd-network-gperf.gperf
CommitLineData
c0dda186
TG
1%{
2#include <stddef.h>
3#include "conf-parser.h"
413708d1 4#include "networkd-conf.h"
23f53b99 5#include "networkd-network.h"
c6f7c917 6#include "network-internal.h"
13b498f9 7#include "vlan-util.h"
c0dda186
TG
8%}
9struct ConfigPerfItem;
10%null_strings
11%language=ANSI-C
12%define slot-name section_and_lvalue
13%define hash-function-name network_network_gperf_hash
14%define lookup-function-name network_network_gperf_lookup
15%readonly-tables
16%omit-struct-type
17%struct-type
18%includes
19%%
4f2e437a
SS
20Match.MACAddress, config_parse_hwaddr, 0, offsetof(Network, match_mac)
21Match.Path, config_parse_strv, 0, offsetof(Network, match_path)
22Match.Driver, config_parse_strv, 0, offsetof(Network, match_driver)
23Match.Type, config_parse_strv, 0, offsetof(Network, match_type)
24Match.Name, config_parse_ifnames, 0, offsetof(Network, match_name)
25Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(Network, match_host)
26Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(Network, match_virt)
27Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, match_kernel)
28Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(Network, match_arch)
29Link.MACAddress, config_parse_hwaddr, 0, offsetof(Network, mac)
30Link.MTUBytes, config_parse_iec_size, 0, offsetof(Network, mtu)
99d2baa2 31Link.ARP, config_parse_tristate, 0, offsetof(Network, arp)
a09dc546 32Link.Unmanaged, config_parse_bool, 0, offsetof(Network, unmanaged)
4f2e437a
SS
33Network.Description, config_parse_string, 0, offsetof(Network, description)
34Network.Bridge, config_parse_netdev, 0, offsetof(Network, bridge)
35Network.Bond, config_parse_netdev, 0, offsetof(Network, bond)
36Network.VLAN, config_parse_netdev, 0, 0
37Network.MACVLAN, config_parse_netdev, 0, 0
38Network.MACVTAP, config_parse_netdev, 0, 0
39Network.IPVLAN, config_parse_netdev, 0, 0
40Network.VXLAN, config_parse_netdev, 0, 0
41Network.Tunnel, config_parse_tunnel, 0, 0
6cb955c6 42Network.VRF, config_parse_netdev, 0, 0
4f2e437a
SS
43Network.DHCP, config_parse_dhcp, 0, offsetof(Network, dhcp)
44Network.DHCPServer, config_parse_bool, 0, offsetof(Network, dhcp_server)
45Network.LinkLocalAddressing, config_parse_address_family_boolean, 0, offsetof(Network, link_local)
46Network.IPv4LLRoute, config_parse_bool, 0, offsetof(Network, ipv4ll_route)
47Network.IPv6Token, config_parse_ipv6token, 0, offsetof(Network, ipv6_token)
34437b4f 48Network.LLDP, config_parse_lldp_mode, 0, offsetof(Network, lldp_mode)
7272b25e 49Network.EmitLLDP, config_parse_lldp_emit, 0, offsetof(Network, lldp_emit)
4f2e437a
SS
50Network.Address, config_parse_address, 0, 0
51Network.Gateway, config_parse_gateway, 0, 0
3df9bec5 52Network.Domains, config_parse_domains, 0, 0
53253824 53Network.DNS, config_parse_dns, 0, 0
af49ca27 54Network.LLMNR, config_parse_resolve_support, 0, offsetof(Network, llmnr)
aaa297d4 55Network.MulticastDNS, config_parse_resolve_support, 0, offsetof(Network, mdns)
ad6c0475 56Network.DNSSEC, config_parse_dnssec_mode, 0, offsetof(Network, dnssec_mode)
5733d88d 57Network.DNSSECNegativeTrustAnchors, config_parse_dnssec_negative_trust_anchors, 0, 0
26575990 58Network.NTP, config_parse_ntp, 0, offsetof(Network, ntp)
4f2e437a
SS
59Network.IPForward, config_parse_address_family_boolean_with_kernel,0, offsetof(Network, ip_forward)
60Network.IPMasquerade, config_parse_bool, 0, offsetof(Network, ip_masquerade)
61Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extensions, 0, offsetof(Network, ipv6_privacy_extensions)
f921f573 62Network.IPv6AcceptRA, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
4f2e437a 63Network.IPv6AcceptRouterAdvertisements, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
8749cbcd 64Network.IPv6DuplicateAddressDetection, config_parse_int, 0, offsetof(Network, ipv6_dad_transmits)
b69c3180 65Network.IPv6HopLimit, config_parse_int, 0, offsetof(Network, ipv6_hop_limit)
465dfe59 66Network.IPv6ProxyNDP, config_parse_tristate, 0, offsetof(Network, ipv6_proxy_ndp)
cbd50adc
ZJS
67Network.ActiveSlave, config_parse_bool, 0, offsetof(Network, active_slave)
68Network.PrimarySlave, config_parse_bool, 0, offsetof(Network, primary_slave)
8f9a206b 69Network.IPv4ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp)
cbd50adc 70Network.ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp)
a0e5c15d 71Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0
4f2e437a 72Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier)
dad2d78e 73Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier)
4f2e437a
SS
74Address.Address, config_parse_address, 0, 0
75Address.Peer, config_parse_address, 0, 0
76Address.Broadcast, config_parse_broadcast, 0, 0
77Address.Label, config_parse_label, 0, 0
b5834a0b 78Address.PreferredLifetime, config_parse_lifetime, 0, 0
e63be084
SS
79Address.HomeAddress, config_parse_address_flags, 0, 0
80Address.DuplicateAddressDetection, config_parse_address_flags, 0, 0
81Address.ManageTemporaryAddress, config_parse_address_flags, 0, 0
82Address.PrefixRoute, config_parse_address_flags, 0, 0
83Address.AutoJoin, config_parse_address_flags, 0, 0
2959fb07 84Address.Scope, config_parse_address_scope, 0, 0
95b74ef6
SS
85IPv6AddressLabel.Prefix, config_parse_address_label_prefix, 0, 0
86IPv6AddressLabel.Label, config_parse_address_label, 0, 0
bce67bbe
SS
87RoutingPolicyRule.TypeOfService, config_parse_routing_policy_rule_tos, 0, 0
88RoutingPolicyRule.Priority, config_parse_routing_policy_rule_priority, 0, 0
89RoutingPolicyRule.Table, config_parse_routing_policy_rule_table, 0, 0
90RoutingPolicyRule.FirewallMark, config_parse_routing_policy_rule_fwmark_mask, 0, 0
91RoutingPolicyRule.From, config_parse_routing_policy_rule_prefix, 0, 0
92RoutingPolicyRule.To, config_parse_routing_policy_rule_prefix, 0, 0
762e2659
SS
93RoutingPolicyRule.IncomingInterface, config_parse_routing_policy_rule_device, 0, 0
94RoutingPolicyRule.OutgoingInterface, config_parse_routing_policy_rule_device, 0, 0
4f2e437a
SS
95Route.Gateway, config_parse_gateway, 0, 0
96Route.Destination, config_parse_destination, 0, 0
97Route.Source, config_parse_destination, 0, 0
98Route.Metric, config_parse_route_priority, 0, 0
99Route.Scope, config_parse_route_scope, 0, 0
0d07e595 100Route.PreferredSource, config_parse_preferred_src, 0, 0
c953b24c 101Route.Table, config_parse_route_table, 0, 0
28959f7d 102Route.GatewayOnlink, config_parse_gateway_onlink, 0, 0
b5bf6f64 103Route.IPv6Preference, config_parse_ipv6_route_preference, 0, 0
c83ecc04 104Route.Protocol, config_parse_route_protocol, 0, 0
983226f3 105Route.Type, config_parse_route_type, 0, 0
4f2e437a 106DHCP.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Network, dhcp_client_identifier)
27cb34f5
LP
107DHCP.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
108DHCP.UseNTP, config_parse_bool, 0, offsetof(Network, dhcp_use_ntp)
109DHCP.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu)
110DHCP.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname)
b2a81c0b 111DHCP.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
27cb34f5 112DHCP.UseRoutes, config_parse_bool, 0, offsetof(Network, dhcp_use_routes)
7585baa0 113DHCP.Anonymize, config_parse_bool, 0, offsetof(Network, dhcp_anonymize)
27cb34f5
LP
114DHCP.SendHostname, config_parse_bool, 0, offsetof(Network, dhcp_send_hostname)
115DHCP.Hostname, config_parse_hostname, 0, offsetof(Network, dhcp_hostname)
4f2e437a
SS
116DHCP.RequestBroadcast, config_parse_bool, 0, offsetof(Network, dhcp_broadcast)
117DHCP.CriticalConnection, config_parse_bool, 0, offsetof(Network, dhcp_critical)
118DHCP.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier)
8341a5c3
ZJS
119DHCP.DUIDType, config_parse_duid_type, 0, offsetof(Network, duid.type)
120DHCP.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Network, duid)
4f2e437a 121DHCP.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric)
fc1ba79d 122DHCP.RouteTable, config_parse_dhcp_route_table, 0, 0
27cb34f5 123DHCP.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_use_timezone)
d05def16 124DHCP.IAID, config_parse_iaid, 0, offsetof(Network, iaid)
9c77d107 125DHCP.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port)
f921f573
LP
126IPv6AcceptRA.UseDNS, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_dns)
127IPv6AcceptRA.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, ipv6_accept_ra_use_domains)
2ba31d29 128IPv6AcceptRA.RouteTable, config_parse_dhcp_route_table, 0, offsetof(Network, ipv6_accept_ra_route_table)
4f2e437a
SS
129DHCPServer.MaxLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_max_lease_time_usec)
130DHCPServer.DefaultLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_default_lease_time_usec)
131DHCPServer.EmitDNS, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_dns)
132DHCPServer.DNS, config_parse_dhcp_server_dns, 0, 0
133DHCPServer.EmitNTP, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_ntp)
134DHCPServer.NTP, config_parse_dhcp_server_ntp, 0, 0
77ff6022 135DHCPServer.EmitRouter, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_router)
4f2e437a
SS
136DHCPServer.EmitTimezone, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_timezone)
137DHCPServer.Timezone, config_parse_timezone, 0, offsetof(Network, dhcp_server_timezone)
138DHCPServer.PoolOffset, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_offset)
139DHCPServer.PoolSize, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_size)
b56be296 140Bridge.Cost, config_parse_uint32, 0, offsetof(Network, cost)
4f2e437a
SS
141Bridge.UseBPDU, config_parse_bool, 0, offsetof(Network, use_bpdu)
142Bridge.HairPin, config_parse_bool, 0, offsetof(Network, hairpin)
143Bridge.FastLeave, config_parse_bool, 0, offsetof(Network, fast_leave)
144Bridge.AllowPortToBeRoot, config_parse_bool, 0, offsetof(Network, allow_port_to_be_root)
145Bridge.UnicastFlood, config_parse_bool, 0, offsetof(Network, unicast_flood)
f00ff0de 146Bridge.Priority, config_parse_bridge_port_priority, 0, offsetof(Network, priority)
4f2e437a
SS
147BridgeFDB.MACAddress, config_parse_fdb_hwaddr, 0, 0
148BridgeFDB.VLANId, config_parse_fdb_vlan_id, 0, 0
ffff9abe 149BridgeVLAN.PVID, config_parse_brvlan_pvid, 0, 0
13b498f9
TJ
150BridgeVLAN.VLAN, config_parse_brvlan_vlan, 0, 0
151BridgeVLAN.EgressUntagged, config_parse_brvlan_untagged, 0, 0
7d5cac19
PF
152Network.IPv6PrefixDelegation, config_parse_bool, 0, offsetof(Network, router_prefix_delegation)
153IPv6PrefixDelegation.RouterLifetimeSec, config_parse_sec, 0, offsetof(Network, router_lifetime_usec)
154IPv6PrefixDelegation.Managed, config_parse_bool, 0, offsetof(Network, router_managed)
155IPv6PrefixDelegation.OtherInformation, config_parse_bool, 0, offsetof(Network, router_other_information)
156IPv6PrefixDelegation.RouterPreference, config_parse_router_preference, 0, 0
9e25315c 157IPv6PrefixDelegation.EmitDNS, config_parse_bool, 0, offsetof(Network, router_emit_dns)
88295a05 158IPv6PrefixDelegation.DNS, config_parse_radv_dns, 0, 0
9e25315c 159IPv6PrefixDelegation.EmitDomains, config_parse_bool, 0, offsetof(Network, router_emit_domains)
700f1186 160IPv6PrefixDelegation.Domains, config_parse_radv_search_domains, 0, 0
88295a05 161IPv6PrefixDelegation.DNSLifetimeSec, config_parse_sec, 0, offsetof(Network, router_dns_lifetime_usec)
9d5d0090
PF
162IPv6Prefix.Prefix, config_parse_prefix, 0, 0
163IPv6Prefix.OnLink, config_parse_prefix_flags, 0, 0
164IPv6Prefix.AddressAutoconfiguration, config_parse_prefix_flags, 0, 0
165IPv6Prefix.ValidLifetimeSec, config_parse_prefix_lifetime, 0, 0
166IPv6Prefix.PreferredLifetimeSec, config_parse_prefix_lifetime, 0, 0
4cc7a82c 167/* backwards compatibility: do not add new entries to this section */
4f2e437a 168Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local)
27cb34f5
LP
169DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
170DHCPv4.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu)
171DHCPv4.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname)
b2a81c0b
LP
172DHCP.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
173DHCPv4.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains)
4f2e437a 174DHCPv4.CriticalConnection, config_parse_bool, 0, offsetof(Network, dhcp_critical)