]>
Commit | Line | Data |
---|---|---|
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" | |
737f1405 | 7 | #include "netem.h" |
0fbddd04 | 8 | #include "network-internal.h" |
413708d1 | 9 | #include "networkd-conf.h" |
ca5ad760 | 10 | #include "networkd-dhcp-common.h" |
8fcf1d61 | 11 | #include "networkd-dhcp-server.h" |
ca5ad760 YW |
12 | #include "networkd-dhcp4.h" |
13 | #include "networkd-ipv4ll.h" | |
e520ce64 | 14 | #include "networkd-ndisc.h" |
23f53b99 | 15 | #include "networkd-network.h" |
737f1405 | 16 | #include "qdisc.h" |
4666f63b | 17 | #include "tclass.h" |
13b498f9 | 18 | #include "vlan-util.h" |
c0dda186 TG |
19 | %} |
20 | struct ConfigPerfItem; | |
21 | %null_strings | |
22 | %language=ANSI-C | |
23 | %define slot-name section_and_lvalue | |
24 | %define hash-function-name network_network_gperf_hash | |
25 | %define lookup-function-name network_network_gperf_lookup | |
26 | %readonly-tables | |
27 | %omit-struct-type | |
28 | %struct-type | |
29 | %includes | |
30 | %% | |
18de0969 YW |
31 | Match.MACAddress, config_parse_hwaddrs, 0, offsetof(Network, match_mac) |
32 | Match.PermanentMACAddress, config_parse_hwaddrs, 0, offsetof(Network, match_permanent_mac) | |
33 | Match.Path, config_parse_match_strv, 0, offsetof(Network, match_path) | |
34 | Match.Driver, config_parse_match_strv, 0, offsetof(Network, match_driver) | |
35 | Match.Type, config_parse_match_strv, 0, offsetof(Network, match_type) | |
36 | Match.WLANInterfaceType, config_parse_match_strv, 0, offsetof(Network, match_wlan_iftype) | |
37 | Match.SSID, config_parse_match_strv, 0, offsetof(Network, match_ssid) | |
38 | Match.BSSID, config_parse_hwaddrs, 0, offsetof(Network, match_bssid) | |
39 | Match.Name, config_parse_match_ifnames, 1, offsetof(Network, match_name) | |
40 | Match.Property, config_parse_match_property, 0, offsetof(Network, match_property) | |
41 | Match.Host, config_parse_net_condition, CONDITION_HOST, offsetof(Network, conditions) | |
42 | Match.Virtualization, config_parse_net_condition, CONDITION_VIRTUALIZATION, offsetof(Network, conditions) | |
43 | Match.KernelCommandLine, config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, conditions) | |
44 | Match.KernelVersion, config_parse_net_condition, CONDITION_KERNEL_VERSION, offsetof(Network, conditions) | |
45 | Match.Architecture, config_parse_net_condition, CONDITION_ARCHITECTURE, offsetof(Network, conditions) | |
46 | Link.MACAddress, config_parse_hwaddr, 0, offsetof(Network, mac) | |
47 | Link.MTUBytes, config_parse_mtu, AF_UNSPEC, offsetof(Network, mtu) | |
48 | Link.ARP, config_parse_tristate, 0, offsetof(Network, arp) | |
49 | Link.Multicast, config_parse_tristate, 0, offsetof(Network, multicast) | |
50 | Link.AllMulticast, config_parse_tristate, 0, offsetof(Network, allmulticast) | |
51 | Link.Unmanaged, config_parse_bool, 0, offsetof(Network, unmanaged) | |
52 | Link.RequiredForOnline, config_parse_required_for_online, 0, 0 | |
53 | Network.Description, config_parse_string, 0, offsetof(Network, description) | |
54 | Network.Bridge, config_parse_ifname, 0, offsetof(Network, bridge_name) | |
55 | Network.Bond, config_parse_ifname, 0, offsetof(Network, bond_name) | |
56 | Network.VLAN, config_parse_stacked_netdev, NETDEV_KIND_VLAN, offsetof(Network, stacked_netdev_names) | |
57 | Network.MACVLAN, config_parse_stacked_netdev, NETDEV_KIND_MACVLAN, offsetof(Network, stacked_netdev_names) | |
58 | Network.MACVTAP, config_parse_stacked_netdev, NETDEV_KIND_MACVTAP, offsetof(Network, stacked_netdev_names) | |
59 | Network.IPVLAN, config_parse_stacked_netdev, NETDEV_KIND_IPVLAN, offsetof(Network, stacked_netdev_names) | |
60 | Network.IPVTAP, config_parse_stacked_netdev, NETDEV_KIND_IPVTAP, offsetof(Network, stacked_netdev_names) | |
61 | Network.VXLAN, config_parse_stacked_netdev, NETDEV_KIND_VXLAN, offsetof(Network, stacked_netdev_names) | |
62 | Network.L2TP, config_parse_stacked_netdev, NETDEV_KIND_L2TP, offsetof(Network, stacked_netdev_names) | |
63 | Network.MACsec, config_parse_stacked_netdev, NETDEV_KIND_MACSEC, offsetof(Network, stacked_netdev_names) | |
64 | Network.Tunnel, config_parse_stacked_netdev, _NETDEV_KIND_TUNNEL, offsetof(Network, stacked_netdev_names) | |
65 | Network.Xfrm, config_parse_stacked_netdev, NETDEV_KIND_XFRM, offsetof(Network, stacked_netdev_names) | |
66 | Network.VRF, config_parse_ifname, 0, offsetof(Network, vrf_name) | |
67 | Network.DHCP, config_parse_dhcp, 0, offsetof(Network, dhcp) | |
68 | Network.DHCPServer, config_parse_bool, 0, offsetof(Network, dhcp_server) | |
69 | Network.LinkLocalAddressing, config_parse_link_local_address_family, 0, offsetof(Network, link_local) | |
70 | Network.IPv4LLRoute, config_parse_bool, 0, offsetof(Network, ipv4ll_route) | |
71 | Network.DefaultRouteOnDevice, config_parse_bool, 0, offsetof(Network, default_route_on_device) | |
5f506a55 | 72 | Network.IPv6Token, config_parse_address_generation_type, 0, 0 |
18de0969 YW |
73 | Network.LLDP, config_parse_lldp_mode, 0, offsetof(Network, lldp_mode) |
74 | Network.EmitLLDP, config_parse_lldp_emit, 0, offsetof(Network, lldp_emit) | |
75 | Network.Address, config_parse_address, 0, 0 | |
76 | Network.Gateway, config_parse_gateway, 0, 0 | |
77 | Network.Domains, config_parse_domains, 0, 0 | |
78 | Network.DNS, config_parse_dns, 0, 0 | |
79 | Network.DNSDefaultRoute, config_parse_tristate, 0, offsetof(Network, dns_default_route) | |
80 | Network.LLMNR, config_parse_resolve_support, 0, offsetof(Network, llmnr) | |
81 | Network.MulticastDNS, config_parse_resolve_support, 0, offsetof(Network, mdns) | |
82 | Network.DNSOverTLS, config_parse_dns_over_tls_mode, 0, offsetof(Network, dns_over_tls_mode) | |
83 | Network.DNSSEC, config_parse_dnssec_mode, 0, offsetof(Network, dnssec_mode) | |
84 | Network.DNSSECNegativeTrustAnchors, config_parse_dnssec_negative_trust_anchors, 0, 0 | |
85 | Network.NTP, config_parse_ntp, 0, offsetof(Network, ntp) | |
86 | Network.IPForward, config_parse_address_family_with_kernel, 0, offsetof(Network, ip_forward) | |
87 | Network.IPMasquerade, config_parse_bool, 0, offsetof(Network, ip_masquerade) | |
88 | Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extensions, 0, offsetof(Network, ipv6_privacy_extensions) | |
89 | Network.IPv6AcceptRA, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra) | |
90 | Network.IPv6AcceptRouterAdvertisements, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra) | |
91 | Network.IPv6DuplicateAddressDetection, config_parse_int, 0, offsetof(Network, ipv6_dad_transmits) | |
92 | Network.IPv6HopLimit, config_parse_int, 0, offsetof(Network, ipv6_hop_limit) | |
93 | Network.IPv6ProxyNDP, config_parse_tristate, 0, offsetof(Network, ipv6_proxy_ndp) | |
94 | Network.IPv6MTUBytes, config_parse_mtu, AF_INET6, offsetof(Network, ipv6_mtu) | |
95 | Network.ActiveSlave, config_parse_bool, 0, offsetof(Network, active_slave) | |
96 | Network.PrimarySlave, config_parse_bool, 0, offsetof(Network, primary_slave) | |
97 | Network.IPv4ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp) | |
98 | Network.ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp) | |
99 | Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0 | |
100 | Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier) | |
101 | Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier) | |
102 | Network.IgnoreCarrierLoss, config_parse_bool, 0, offsetof(Network, ignore_carrier_loss) | |
103 | Network.KeepConfiguration, config_parse_keep_configuration, 0, offsetof(Network, keep_configuration) | |
104 | Address.Address, config_parse_address, 0, 0 | |
105 | Address.Peer, config_parse_address, 0, 0 | |
106 | Address.Broadcast, config_parse_broadcast, 0, 0 | |
107 | Address.Label, config_parse_label, 0, 0 | |
108 | Address.PreferredLifetime, config_parse_lifetime, 0, 0 | |
109 | Address.HomeAddress, config_parse_address_flags, 0, 0 | |
110 | Address.ManageTemporaryAddress, config_parse_address_flags, 0, 0 | |
111 | Address.PrefixRoute, config_parse_address_flags, 0, 0 /* deprecated */ | |
112 | Address.AddPrefixRoute, config_parse_address_flags, 0, 0 | |
113 | Address.AutoJoin, config_parse_address_flags, 0, 0 | |
114 | Address.DuplicateAddressDetection, config_parse_duplicate_address_detection, 0, 0 | |
115 | Address.Scope, config_parse_address_scope, 0, 0 | |
116 | IPv6AddressLabel.Prefix, config_parse_address_label_prefix, 0, 0 | |
117 | IPv6AddressLabel.Label, config_parse_address_label, 0, 0 | |
118 | Neighbor.Address, config_parse_neighbor_address, 0, 0 | |
119 | Neighbor.LinkLayerAddress, config_parse_neighbor_lladdr, 0, 0 | |
120 | Neighbor.MACAddress, config_parse_neighbor_hwaddr, 0, 0 /* deprecated */ | |
121 | RoutingPolicyRule.TypeOfService, config_parse_routing_policy_rule_tos, 0, 0 | |
122 | RoutingPolicyRule.Priority, config_parse_routing_policy_rule_priority, 0, 0 | |
123 | RoutingPolicyRule.Table, config_parse_routing_policy_rule_table, 0, 0 | |
124 | RoutingPolicyRule.FirewallMark, config_parse_routing_policy_rule_fwmark_mask, 0, 0 | |
125 | RoutingPolicyRule.From, config_parse_routing_policy_rule_prefix, 0, 0 | |
126 | RoutingPolicyRule.To, config_parse_routing_policy_rule_prefix, 0, 0 | |
127 | RoutingPolicyRule.IncomingInterface, config_parse_routing_policy_rule_device, 0, 0 | |
128 | RoutingPolicyRule.OutgoingInterface, config_parse_routing_policy_rule_device, 0, 0 | |
129 | RoutingPolicyRule.IPProtocol, config_parse_routing_policy_rule_ip_protocol, 0, 0 | |
130 | RoutingPolicyRule.SourcePort, config_parse_routing_policy_rule_port_range, 0, 0 | |
131 | RoutingPolicyRule.DestinationPort, config_parse_routing_policy_rule_port_range, 0, 0 | |
132 | RoutingPolicyRule.InvertRule, config_parse_routing_policy_rule_invert, 0, 0 | |
133 | RoutingPolicyRule.Family, config_parse_routing_policy_rule_family, 0, 0 | |
134 | RoutingPolicyRule.User, config_parse_routing_policy_rule_uid_range, 0, 0 | |
135 | RoutingPolicyRule.SuppressPrefixLength, config_parse_routing_policy_rule_suppress_prefixlen, 0, 0 | |
136 | Route.Gateway, config_parse_gateway, 0, 0 | |
137 | Route.Destination, config_parse_destination, 0, 0 | |
138 | Route.Source, config_parse_destination, 0, 0 | |
139 | Route.Metric, config_parse_route_priority, 0, 0 | |
140 | Route.Scope, config_parse_route_scope, 0, 0 | |
141 | Route.PreferredSource, config_parse_preferred_src, 0, 0 | |
142 | Route.Table, config_parse_route_table, 0, 0 | |
143 | Route.MTUBytes, config_parse_route_mtu, AF_UNSPEC, 0 | |
144 | Route.GatewayOnLink, config_parse_gateway_onlink, 0, 0 | |
145 | Route.GatewayOnlink, config_parse_gateway_onlink, 0, 0 | |
146 | Route.IPv6Preference, config_parse_ipv6_route_preference, 0, 0 | |
147 | Route.Protocol, config_parse_route_protocol, 0, 0 | |
148 | Route.Type, config_parse_route_type, 0, 0 | |
149 | Route.InitialCongestionWindow, config_parse_tcp_window, 0, 0 | |
150 | Route.InitialAdvertisedReceiveWindow, config_parse_tcp_window, 0, 0 | |
151 | Route.QuickAck, config_parse_quickack, 0, 0 | |
152 | Route.FastOpenNoCookie, config_parse_fast_open_no_cookie, 0, 0 | |
153 | Route.TTLPropagate, config_parse_route_ttl_propagate, 0, 0 | |
154 | Route.MultiPathRoute, config_parse_multipath_route, 0, 0 | |
155 | NextHop.Id, config_parse_nexthop_id, 0, 0 | |
156 | NextHop.Gateway, config_parse_nexthop_gateway, 0, 0 | |
157 | DHCPv4.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Network, dhcp_client_identifier) | |
158 | DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns) | |
159 | DHCPv4.RoutesToDNS, config_parse_bool, 0, offsetof(Network, dhcp_routes_to_dns) | |
160 | DHCPv4.UseNTP, config_parse_bool, 0, offsetof(Network, dhcp_use_ntp) | |
161 | DHCPv4.UseSIP, config_parse_bool, 0, offsetof(Network, dhcp_use_sip) | |
162 | DHCPv4.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu) | |
163 | DHCPv4.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname) | |
164 | DHCPv4.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains) | |
165 | DHCPv4.UseRoutes, config_parse_bool, 0, offsetof(Network, dhcp_use_routes) | |
166 | DHCPv4.RequestOptions, config_parse_dhcp_request_options, 0, 0 | |
167 | DHCPv4.Anonymize, config_parse_bool, 0, offsetof(Network, dhcp_anonymize) | |
168 | DHCPv4.SendHostname, config_parse_bool, 0, offsetof(Network, dhcp_send_hostname) | |
169 | DHCPv4.Hostname, config_parse_hostname, 0, offsetof(Network, dhcp_hostname) | |
170 | DHCPv4.RequestBroadcast, config_parse_bool, 0, offsetof(Network, dhcp_broadcast) | |
171 | DHCPv4.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier) | |
172 | DHCPv4.MaxAttempts, config_parse_dhcp_max_attempts, 0, 0 | |
173 | DHCPv4.UserClass, config_parse_dhcp_user_class, 0, offsetof(Network, dhcp_user_class) | |
174 | DHCPv4.DUIDType, config_parse_duid_type, 0, offsetof(Network, duid) | |
175 | DHCPv4.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Network, duid) | |
176 | DHCPv4.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric) | |
177 | DHCPv4.RouteTable, config_parse_section_route_table, 0, 0 | |
178 | DHCPv4.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_use_timezone) | |
179 | DHCPv4.IAID, config_parse_iaid, 0, 0 | |
180 | DHCPv4.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port) | |
181 | DHCPv4.SendRelease, config_parse_bool, 0, offsetof(Network, dhcp_send_release) | |
182 | DHCPv4.SendDecline, config_parse_bool, 0, offsetof(Network, dhcp_send_decline) | |
183 | DHCPv4.BlackList, config_parse_dhcp_black_listed_ip_address, 0, 0 | |
a75b2117 | 184 | DHCPv4.IPServiceType, config_parse_dhcp_ip_service_type, 0, offsetof(Network, ip_service_type) |
18de0969 YW |
185 | DHCPv4.SendOption, config_parse_dhcp_send_option, 0, offsetof(Network, dhcp_client_send_options) |
186 | DHCPv4.RouteMTUBytes, config_parse_mtu, AF_INET, offsetof(Network, dhcp_route_mtu) | |
187 | DHCPv6.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp6_use_dns) | |
188 | DHCPv6.UseNTP, config_parse_bool, 0, offsetof(Network, dhcp6_use_ntp) | |
189 | DHCPv6.RapidCommit, config_parse_bool, 0, offsetof(Network, rapid_commit) | |
190 | DHCPv6.ForceDHCPv6PDOtherInformation, config_parse_bool, 0, offsetof(Network, dhcp6_force_pd_other_information) | |
191 | DHCPv6.PrefixDelegationHint, config_parse_dhcp6_pd_hint, 0, 0 | |
cd305af1 | 192 | DHCPv6.WithoutRA, config_parse_bool, 0, offsetof(Network, dhcp6_without_ra) |
18de0969 YW |
193 | IPv6AcceptRA.UseAutonomousPrefix, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_autonomous_prefix) |
194 | IPv6AcceptRA.UseOnLinkPrefix, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_onlink_prefix) | |
195 | IPv6AcceptRA.UseDNS, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_dns) | |
196 | IPv6AcceptRA.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, ipv6_accept_ra_use_domains) | |
d739fdde | 197 | IPv6AcceptRA.DHCPv6Client, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_start_dhcp6_client) |
18de0969 YW |
198 | IPv6AcceptRA.RouteTable, config_parse_section_route_table, 0, 0 |
199 | IPv6AcceptRA.BlackList, config_parse_ndisc_black_listed_prefix, 0, 0 | |
200 | DHCPServer.MaxLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_max_lease_time_usec) | |
201 | DHCPServer.DefaultLeaseTimeSec, config_parse_sec, 0, offsetof(Network, dhcp_server_default_lease_time_usec) | |
202 | DHCPServer.EmitDNS, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_dns) | |
203 | DHCPServer.DNS, config_parse_dhcp_server_dns, 0, 0 | |
204 | DHCPServer.EmitNTP, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_ntp) | |
205 | DHCPServer.NTP, config_parse_dhcp_server_ntp, 0, 0 | |
206 | DHCPServer.EmitSIP, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_sip) | |
207 | DHCPServer.SIP, config_parse_dhcp_server_sip, 0, 0 | |
208 | DHCPServer.EmitRouter, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_router) | |
209 | DHCPServer.EmitTimezone, config_parse_bool, 0, offsetof(Network, dhcp_server_emit_timezone) | |
210 | DHCPServer.Timezone, config_parse_timezone, 0, offsetof(Network, dhcp_server_timezone) | |
211 | DHCPServer.PoolOffset, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_offset) | |
212 | DHCPServer.PoolSize, config_parse_uint32, 0, offsetof(Network, dhcp_server_pool_size) | |
213 | DHCPServer.SendOption, config_parse_dhcp_send_option, 0, offsetof(Network, dhcp_server_send_options) | |
214 | Bridge.Cost, config_parse_uint32, 0, offsetof(Network, cost) | |
215 | Bridge.UseBPDU, config_parse_tristate, 0, offsetof(Network, use_bpdu) | |
216 | Bridge.HairPin, config_parse_tristate, 0, offsetof(Network, hairpin) | |
217 | Bridge.FastLeave, config_parse_tristate, 0, offsetof(Network, fast_leave) | |
218 | Bridge.AllowPortToBeRoot, config_parse_tristate, 0, offsetof(Network, allow_port_to_be_root) | |
219 | Bridge.UnicastFlood, config_parse_tristate, 0, offsetof(Network, unicast_flood) | |
220 | Bridge.MulticastFlood, config_parse_tristate, 0, offsetof(Network, multicast_flood) | |
221 | Bridge.MulticastToUnicast, config_parse_tristate, 0, offsetof(Network, multicast_to_unicast) | |
222 | Bridge.NeighborSuppression, config_parse_tristate, 0, offsetof(Network, neighbor_suppression) | |
223 | Bridge.Learning, config_parse_tristate, 0, offsetof(Network, learning) | |
224 | Bridge.ProxyARP, config_parse_tristate, 0, offsetof(Network, bridge_proxy_arp) | |
225 | Bridge.ProxyARPWiFi, config_parse_tristate, 0, offsetof(Network, bridge_proxy_arp_wifi) | |
226 | Bridge.Priority, config_parse_bridge_port_priority, 0, offsetof(Network, priority) | |
227 | Bridge.MulticastRouter, config_parse_multicast_router, 0, offsetof(Network, multicast_router) | |
228 | BridgeFDB.MACAddress, config_parse_fdb_hwaddr, 0, 0 | |
229 | BridgeFDB.VLANId, config_parse_fdb_vlan_id, 0, 0 | |
230 | BridgeFDB.Destination, config_parse_fdb_destination, 0, 0 | |
231 | BridgeFDB.VNI, config_parse_fdb_vxlan_vni, 0, 0 | |
232 | BridgeFDB.AssociatedWith, config_parse_fdb_ntf_flags, 0, 0 | |
233 | BridgeVLAN.PVID, config_parse_brvlan_pvid, 0, 0 | |
234 | BridgeVLAN.VLAN, config_parse_brvlan_vlan, 0, 0 | |
235 | BridgeVLAN.EgressUntagged, config_parse_brvlan_untagged, 0, 0 | |
236 | Network.IPv6PrefixDelegation, config_parse_router_prefix_delegation, 0, 0 | |
237 | IPv6PrefixDelegation.RouterLifetimeSec, config_parse_sec, 0, offsetof(Network, router_lifetime_usec) | |
238 | IPv6PrefixDelegation.Managed, config_parse_bool, 0, offsetof(Network, router_managed) | |
239 | IPv6PrefixDelegation.OtherInformation, config_parse_bool, 0, offsetof(Network, router_other_information) | |
240 | IPv6PrefixDelegation.RouterPreference, config_parse_router_preference, 0, 0 | |
241 | IPv6PrefixDelegation.EmitDNS, config_parse_bool, 0, offsetof(Network, router_emit_dns) | |
242 | IPv6PrefixDelegation.DNS, config_parse_radv_dns, 0, 0 | |
243 | IPv6PrefixDelegation.EmitDomains, config_parse_bool, 0, offsetof(Network, router_emit_domains) | |
244 | IPv6PrefixDelegation.Domains, config_parse_radv_search_domains, 0, 0 | |
245 | IPv6PrefixDelegation.DNSLifetimeSec, config_parse_sec, 0, offsetof(Network, router_dns_lifetime_usec) | |
246 | IPv6Prefix.Prefix, config_parse_prefix, 0, 0 | |
247 | IPv6Prefix.OnLink, config_parse_prefix_flags, 0, 0 | |
248 | IPv6Prefix.AddressAutoconfiguration, config_parse_prefix_flags, 0, 0 | |
249 | IPv6Prefix.ValidLifetimeSec, config_parse_prefix_lifetime, 0, 0 | |
250 | IPv6Prefix.PreferredLifetimeSec, config_parse_prefix_lifetime, 0, 0 | |
bd6379ec | 251 | IPv6Prefix.Assign, config_parse_prefix_assign, 0, 0 |
18de0969 YW |
252 | IPv6RoutePrefix.Route, config_parse_route_prefix, 0, 0 |
253 | IPv6RoutePrefix.LifetimeSec, config_parse_route_prefix_lifetime, 0, 0 | |
254 | CAN.BitRate, config_parse_si_uint64, 0, offsetof(Network, can_bitrate) | |
255 | CAN.SamplePoint, config_parse_permille, 0, offsetof(Network, can_sample_point) | |
256 | CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us) | |
257 | CAN.TripleSampling, config_parse_tristate, 0, offsetof(Network, can_triple_sampling) | |
52aa38f1 | 258 | CAN.Termination, config_parse_tristate, 0, offsetof(Network, can_termination) |
74f0fb90 | 259 | CAN.ListenOnly, config_parse_tristate, 0, offsetof(Network, can_listen_only) |
2ed5f6d5 | 260 | QDisc.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0 |
d8b2396d | 261 | QDisc.Handle, config_parse_qdisc_handle, _QDISC_KIND_INVALID, 0 |
c853f594 SS |
262 | BFIFO.Parent, config_parse_qdisc_parent, QDISC_KIND_BFIFO, 0 |
263 | BFIFO.Handle, config_parse_qdisc_handle, QDISC_KIND_BFIFO, 0 | |
264 | BFIFO.LimitSize, config_parse_bfifo_size, QDISC_KIND_BFIFO, 0 | |
ad8352f4 SS |
265 | CAKE.Parent, config_parse_qdisc_parent, QDISC_KIND_CAKE, 0 |
266 | CAKE.Handle, config_parse_qdisc_handle, QDISC_KIND_CAKE, 0 | |
267 | CAKE.Bandwidth, config_parse_cake_bandwidth, QDISC_KIND_CAKE, 0 | |
268 | CAKE.Overhead, config_parse_cake_overhead, QDISC_KIND_CAKE, 0 | |
18de0969 | 269 | ControlledDelay.Parent, config_parse_qdisc_parent, QDISC_KIND_CODEL, 0 |
d8b2396d | 270 | ControlledDelay.Handle, config_parse_qdisc_handle, QDISC_KIND_CODEL, 0 |
18de0969 YW |
271 | ControlledDelay.PacketLimit, config_parse_controlled_delay_u32, QDISC_KIND_CODEL, 0 |
272 | ControlledDelay.TargetSec, config_parse_controlled_delay_usec, QDISC_KIND_CODEL, 0 | |
273 | ControlledDelay.IntervalSec, config_parse_controlled_delay_usec, QDISC_KIND_CODEL, 0 | |
274 | ControlledDelay.CEThresholdSec, config_parse_controlled_delay_usec, QDISC_KIND_CODEL, 0 | |
275 | ControlledDelay.ECN, config_parse_controlled_delay_bool, QDISC_KIND_CODEL, 0 | |
f5fc0441 SS |
276 | DeficitRoundRobinScheduler.Parent, config_parse_qdisc_parent, QDISC_KIND_DRR, 0 |
277 | DeficitRoundRobinScheduler.Handle, config_parse_qdisc_handle, QDISC_KIND_DRR, 0 | |
ad365c5d YW |
278 | DeficitRoundRobinSchedulerClass.Parent, config_parse_tclass_parent, TCLASS_KIND_DRR, 0 |
279 | DeficitRoundRobinSchedulerClass.ClassId, config_parse_tclass_classid, TCLASS_KIND_DRR, 0 | |
280 | DeficitRoundRobinSchedulerClass.Quantum, config_parse_drr_size, TCLASS_KIND_DRR, 0 | |
a7476065 SS |
281 | PFIFO.Parent, config_parse_qdisc_parent, QDISC_KIND_PFIFO, 0 |
282 | PFIFO.Handle, config_parse_qdisc_handle, QDISC_KIND_PFIFO, 0 | |
c853f594 | 283 | PFIFO.PacketLimit, config_parse_pfifo_size, QDISC_KIND_PFIFO, 0 |
1a95964b SS |
284 | PFIFOFast.Parent, config_parse_qdisc_parent, QDISC_KIND_PFIFO_FAST, 0 |
285 | PFIFOFast.Handle, config_parse_qdisc_handle, QDISC_KIND_PFIFO_FAST, 0 | |
053a2ddb SS |
286 | PFIFOHeadDrop.Parent, config_parse_qdisc_parent, QDISC_KIND_PFIFO_HEAD_DROP, 0 |
287 | PFIFOHeadDrop.Handle, config_parse_qdisc_handle, QDISC_KIND_PFIFO_HEAD_DROP, 0 | |
288 | PFIFOHeadDrop.PacketLimit, config_parse_pfifo_size, QDISC_KIND_PFIFO_HEAD_DROP, 0 | |
ca58d00c | 289 | FairQueueing.Parent, config_parse_qdisc_parent, QDISC_KIND_FQ, 0 |
d8b2396d | 290 | FairQueueing.Handle, config_parse_qdisc_handle, QDISC_KIND_FQ, 0 |
bfcdc872 YW |
291 | FairQueueing.PacketLimit, config_parse_fair_queueing_u32, QDISC_KIND_FQ, 0 |
292 | FairQueueing.FlowLimit, config_parse_fair_queueing_u32, QDISC_KIND_FQ, 0 | |
293 | FairQueueing.Quantum, config_parse_fair_queueing_size, QDISC_KIND_FQ, 0 | |
294 | FairQueueing.InitialQuantum, config_parse_fair_queueing_size, QDISC_KIND_FQ, 0 | |
295 | FairQueueing.MaximumRate, config_parse_fair_queueing_max_rate, QDISC_KIND_FQ, 0 | |
296 | FairQueueing.Buckets, config_parse_fair_queueing_u32, QDISC_KIND_FQ, 0 | |
297 | FairQueueing.OrphanMask, config_parse_fair_queueing_u32, QDISC_KIND_FQ, 0 | |
298 | FairQueueing.Pacing, config_parse_fair_queueing_bool, QDISC_KIND_FQ, 0 | |
299 | FairQueueing.CEThresholdSec, config_parse_fair_queueing_usec, QDISC_KIND_FQ, 0 | |
18de0969 | 300 | FairQueueingControlledDelay.Parent, config_parse_qdisc_parent, QDISC_KIND_FQ_CODEL, 0 |
d8b2396d | 301 | FairQueueingControlledDelay.Handle, config_parse_qdisc_handle, QDISC_KIND_FQ_CODEL, 0 |
18de0969 YW |
302 | FairQueueingControlledDelay.PacketLimit, config_parse_fair_queueing_controlled_delay_u32, QDISC_KIND_FQ_CODEL, 0 |
303 | FairQueueingControlledDelay.MemoryLimit, config_parse_fair_queueing_controlled_delay_size, QDISC_KIND_FQ_CODEL, 0 | |
304 | FairQueueingControlledDelay.Flows, config_parse_fair_queueing_controlled_delay_u32, QDISC_KIND_FQ_CODEL, 0 | |
305 | FairQueueingControlledDelay.Quantum, config_parse_fair_queueing_controlled_delay_size, QDISC_KIND_FQ_CODEL, 0 | |
306 | FairQueueingControlledDelay.TargetSec, config_parse_fair_queueing_controlled_delay_usec, QDISC_KIND_FQ_CODEL, 0 | |
307 | FairQueueingControlledDelay.IntervalSec, config_parse_fair_queueing_controlled_delay_usec, QDISC_KIND_FQ_CODEL, 0 | |
308 | FairQueueingControlledDelay.CEThresholdSec, config_parse_fair_queueing_controlled_delay_usec, QDISC_KIND_FQ_CODEL, 0 | |
309 | FairQueueingControlledDelay.ECN, config_parse_fair_queueing_controlled_delay_bool, QDISC_KIND_FQ_CODEL, 0 | |
609e8340 SS |
310 | GenericRandomEarlyDetection.Parent, config_parse_qdisc_parent, QDISC_KIND_GRED, 0 |
311 | GenericRandomEarlyDetection.Handle, config_parse_qdisc_handle, QDISC_KIND_GRED, 0 | |
312 | GenericRandomEarlyDetection.VirtualQueues, config_parse_generic_random_early_detection_u32, QDISC_KIND_GRED, 0 | |
313 | GenericRandomEarlyDetection.DefaultVirtualQueue, config_parse_generic_random_early_detection_u32, QDISC_KIND_GRED, 0 | |
314 | GenericRandomEarlyDetection.GenericRIO, config_parse_generic_random_early_detection_bool, QDISC_KIND_GRED, 0 | |
7f224020 SS |
315 | HeavyHitterFilter.Parent, config_parse_qdisc_parent, QDISC_KIND_HHF, 0 |
316 | HeavyHitterFilter.Handle, config_parse_qdisc_handle, QDISC_KIND_HHF, 0 | |
317 | HeavyHitterFilter.PacketLimit, config_parse_heavy_hitter_filter_packet_limit, QDISC_KIND_HHF, 0 | |
b934ac3d YW |
318 | HierarchyTokenBucket.Parent, config_parse_qdisc_parent, QDISC_KIND_HTB, 0 |
319 | HierarchyTokenBucket.Handle, config_parse_qdisc_handle, QDISC_KIND_HTB, 0 | |
320 | HierarchyTokenBucket.DefaultClass, config_parse_hierarchy_token_bucket_default_class, QDISC_KIND_HTB, 0 | |
19f86a63 YW |
321 | HierarchyTokenBucketClass.Parent, config_parse_tclass_parent, TCLASS_KIND_HTB, 0 |
322 | HierarchyTokenBucketClass.ClassId, config_parse_tclass_classid, TCLASS_KIND_HTB, 0 | |
323 | HierarchyTokenBucketClass.Priority, config_parse_hierarchy_token_bucket_u32, TCLASS_KIND_HTB, 0 | |
324 | HierarchyTokenBucketClass.Rate, config_parse_hierarchy_token_bucket_rate, TCLASS_KIND_HTB, 0 | |
325 | HierarchyTokenBucketClass.CeilRate, config_parse_hierarchy_token_bucket_rate, TCLASS_KIND_HTB, 0 | |
18de0969 | 326 | NetworkEmulator.Parent, config_parse_qdisc_parent, QDISC_KIND_NETEM, 0 |
d8b2396d | 327 | NetworkEmulator.Handle, config_parse_qdisc_handle, QDISC_KIND_NETEM, 0 |
18de0969 YW |
328 | NetworkEmulator.DelaySec, config_parse_network_emulator_delay, QDISC_KIND_NETEM, 0 |
329 | NetworkEmulator.DelayJitterSec, config_parse_network_emulator_delay, QDISC_KIND_NETEM, 0 | |
330 | NetworkEmulator.LossRate, config_parse_network_emulator_rate, QDISC_KIND_NETEM, 0 | |
331 | NetworkEmulator.DuplicateRate, config_parse_network_emulator_rate, QDISC_KIND_NETEM, 0 | |
332 | NetworkEmulator.PacketLimit, config_parse_network_emulator_packet_limit, QDISC_KIND_NETEM, 0 | |
bde4ae88 SS |
333 | PIE.Parent, config_parse_qdisc_parent, QDISC_KIND_PIE, 0 |
334 | PIE.Handle, config_parse_qdisc_handle, QDISC_KIND_PIE, 0 | |
335 | PIE.PacketLimit, config_parse_pie_packet_limit, QDISC_KIND_PIE, 0 | |
982998b0 SS |
336 | StochasticFairBlue.Parent, config_parse_qdisc_parent, QDISC_KIND_SFB, 0 |
337 | StochasticFairBlue.Handle, config_parse_qdisc_handle, QDISC_KIND_SFB, 0 | |
338 | StochasticFairBlue.PacketLimit, config_parse_stochastic_fair_blue_u32, QDISC_KIND_SFB, 0 | |
18de0969 | 339 | StochasticFairnessQueueing.Parent, config_parse_qdisc_parent, QDISC_KIND_SFQ, 0 |
d8b2396d | 340 | StochasticFairnessQueueing.Handle, config_parse_qdisc_handle, QDISC_KIND_SFQ, 0 |
18de0969 | 341 | StochasticFairnessQueueing.PerturbPeriodSec, config_parse_stochastic_fairness_queueing_perturb_period, QDISC_KIND_SFQ, 0 |
60ed2dcf | 342 | TokenBucketFilter.Parent, config_parse_qdisc_parent, QDISC_KIND_TBF, 0 |
d8b2396d | 343 | TokenBucketFilter.Handle, config_parse_qdisc_handle, QDISC_KIND_TBF, 0 |
60ed2dcf ZJS |
344 | TokenBucketFilter.Rate, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 |
345 | TokenBucketFilter.Burst, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 | |
346 | TokenBucketFilter.LimitSize, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 | |
347 | TokenBucketFilter.MTUBytes, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 | |
348 | TokenBucketFilter.MPUBytes, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 | |
349 | TokenBucketFilter.PeakRate, config_parse_token_bucket_filter_size, QDISC_KIND_TBF, 0 | |
350 | TokenBucketFilter.LatencySec, config_parse_token_bucket_filter_latency, QDISC_KIND_TBF, 0 | |
9b749c11 | 351 | TrivialLinkEqualizer.Parent, config_parse_qdisc_parent, QDISC_KIND_TEQL, 0 |
d8b2396d | 352 | TrivialLinkEqualizer.Handle, config_parse_qdisc_handle, QDISC_KIND_TEQL, 0 |
9b749c11 | 353 | TrivialLinkEqualizer.Id, config_parse_trivial_link_equalizer_id, QDISC_KIND_TEQL, 0 |
4cc7a82c | 354 | /* backwards compatibility: do not add new entries to this section */ |
18de0969 YW |
355 | Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local) |
356 | DHCP.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Network, dhcp_client_identifier) | |
357 | DHCP.UseDNS, config_parse_dhcp_use_dns, 0, 0 | |
358 | DHCP.UseNTP, config_parse_dhcp_use_ntp, 0, 0 | |
359 | DHCP.UseMTU, config_parse_bool, 0, offsetof(Network, dhcp_use_mtu) | |
360 | DHCP.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp_use_hostname) | |
361 | DHCP.UseDomains, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains) | |
362 | DHCP.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains) | |
363 | DHCP.UseRoutes, config_parse_bool, 0, offsetof(Network, dhcp_use_routes) | |
364 | DHCP.Anonymize, config_parse_bool, 0, offsetof(Network, dhcp_anonymize) | |
365 | DHCP.SendHostname, config_parse_bool, 0, offsetof(Network, dhcp_send_hostname) | |
366 | DHCP.Hostname, config_parse_hostname, 0, offsetof(Network, dhcp_hostname) | |
367 | DHCP.RequestBroadcast, config_parse_bool, 0, offsetof(Network, dhcp_broadcast) | |
368 | DHCP.CriticalConnection, config_parse_tristate, 0, offsetof(Network, dhcp_critical) | |
369 | DHCP.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier) | |
370 | DHCP.UserClass, config_parse_dhcp_user_class, 0, offsetof(Network, dhcp_user_class) | |
371 | DHCP.DUIDType, config_parse_duid_type, 0, offsetof(Network, duid) | |
372 | DHCP.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Network, duid) | |
373 | DHCP.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric) | |
374 | DHCP.RouteTable, config_parse_section_route_table, 0, 0 | |
375 | DHCP.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_use_timezone) | |
376 | DHCP.IAID, config_parse_iaid, 0, 0 | |
377 | DHCP.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port) | |
378 | DHCP.RapidCommit, config_parse_bool, 0, offsetof(Network, rapid_commit) | |
379 | DHCP.ForceDHCPv6PDOtherInformation, config_parse_bool, 0, offsetof(Network, dhcp6_force_pd_other_information) | |
380 | DHCPv4.UseDomainName, config_parse_dhcp_use_domains, 0, offsetof(Network, dhcp_use_domains) | |
381 | DHCPv4.CriticalConnection, config_parse_tristate, 0, offsetof(Network, dhcp_critical) | |
2ed5f6d5 | 382 | TrafficControlQueueingDiscipline.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0 |
18de0969 YW |
383 | TrafficControlQueueingDiscipline.NetworkEmulatorDelaySec, config_parse_network_emulator_delay, 0, 0 |
384 | TrafficControlQueueingDiscipline.NetworkEmulatorDelayJitterSec, config_parse_network_emulator_delay, 0, 0 | |
385 | TrafficControlQueueingDiscipline.NetworkEmulatorLossRate, config_parse_network_emulator_rate, 0, 0 | |
386 | TrafficControlQueueingDiscipline.NetworkEmulatorDuplicateRate, config_parse_network_emulator_rate, 0, 0 | |
387 | TrafficControlQueueingDiscipline.NetworkEmulatorPacketLimit, config_parse_network_emulator_packet_limit, 0, 0 |