diff options
Diffstat (limited to 'src/network/networkd-network.h')
-rw-r--r-- | src/network/networkd-network.h | 92 |
1 files changed, 48 insertions, 44 deletions
diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h index 03131b7..92d367e 100644 --- a/src/network/networkd-network.h +++ b/src/network/networkd-network.h @@ -20,6 +20,7 @@ #include "networkd-dhcp-common.h" #include "networkd-dhcp4.h" #include "networkd-dhcp6.h" +#include "networkd-dns.h" #include "networkd-ipv6ll.h" #include "networkd-lldp-rx.h" #include "networkd-ndisc.h" @@ -112,6 +113,14 @@ struct Network { bool default_route_on_device; AddressFamily ip_masquerade; + /* Protocol independent settings */ + UseDomains use_domains; + + /* For backward compatibility, only applied to DHCPv4 and DHCPv6. */ + UseDomains compat_dhcp_use_domains; + int compat_dhcp_use_dns; + int compat_dhcp_use_ntp; + /* DHCP Client Support */ AddressFamily dhcp; struct in_addr dhcp_request_address; @@ -132,6 +141,7 @@ struct Network { usec_t dhcp_fallback_lease_lifetime_usec; uint32_t dhcp_route_mtu; uint16_t dhcp_client_port; + uint16_t dhcp_port; int dhcp_critical; int dhcp_ip_service_type; int dhcp_socket_priority; @@ -142,11 +152,9 @@ struct Network { int dhcp_broadcast; int dhcp_ipv6_only_mode; int dhcp_use_rapid_commit; - bool dhcp_use_dns; - bool dhcp_use_dns_set; + int dhcp_use_dns; bool dhcp_routes_to_dns; - bool dhcp_use_ntp; - bool dhcp_use_ntp_set; + int dhcp_use_ntp; bool dhcp_routes_to_ntp; bool dhcp_use_sip; bool dhcp_use_captive_portal; @@ -161,8 +169,7 @@ struct Network { bool dhcp_use_6rd; bool dhcp_send_release; bool dhcp_send_decline; - DHCPUseDomains dhcp_use_domains; - bool dhcp_use_domains_set; + UseDomains dhcp_use_domains; Set *dhcp_deny_listed_ip; Set *dhcp_allow_listed_ip; Set *dhcp_request_options; @@ -176,15 +183,12 @@ struct Network { bool dhcp6_use_pd_prefix; bool dhcp6_send_hostname; bool dhcp6_send_hostname_set; - bool dhcp6_use_dns; - bool dhcp6_use_dns_set; + int dhcp6_use_dns; bool dhcp6_use_hostname; - bool dhcp6_use_ntp; - bool dhcp6_use_ntp_set; + int dhcp6_use_ntp; bool dhcp6_use_captive_portal; bool dhcp6_use_rapid_commit; - DHCPUseDomains dhcp6_use_domains; - bool dhcp6_use_domains_set; + UseDomains dhcp6_use_domains; uint32_t dhcp6_iaid; bool dhcp6_iaid_set; bool dhcp6_iaid_set_explicitly; @@ -229,6 +233,7 @@ struct Network { char *dhcp_server_boot_filename; usec_t dhcp_server_ipv6_only_preferred_usec; bool dhcp_server_rapid_commit; + int dhcp_server_persist_leases; /* link-local addressing support */ AddressFamily link_local; @@ -241,6 +246,7 @@ struct Network { RADVPrefixDelegation router_prefix_delegation; usec_t router_lifetime_usec; uint8_t router_preference; + usec_t router_reachable_usec; usec_t router_retransmit_usec; uint8_t router_hop_limit; bool router_managed; @@ -289,10 +295,9 @@ struct Network { MulticastRouter multicast_router; /* Bridge VLAN */ - bool use_br_vlan; - uint16_t pvid; - uint32_t br_vid_bitmap[BRIDGE_VLAN_BITMAP_LEN]; - uint32_t br_untagged_bitmap[BRIDGE_VLAN_BITMAP_LEN]; + uint16_t bridge_vlan_pvid; + uint32_t bridge_vlan_bitmap[BRIDGE_VLAN_BITMAP_LEN]; + uint32_t bridge_vlan_untagged_bitmap[BRIDGE_VLAN_BITMAP_LEN]; /* CAN support */ uint32_t can_bitrate; @@ -320,41 +325,45 @@ struct Network { int ipoib_umcast; /* sysctl settings */ - AddressFamily ip_forward; + int ip_forwarding[2]; int ipv4_accept_local; int ipv4_route_localnet; int ipv6_dad_transmits; uint8_t ipv6_hop_limit; + usec_t ipv6_retransmission_time; int proxy_arp; + int proxy_arp_pvlan; uint32_t ipv6_mtu; IPv6PrivacyExtensions ipv6_privacy_extensions; IPReversePathFilter ipv4_rp_filter; int ipv6_proxy_ndp; Set *ipv6_proxy_ndp_addresses; - /* IPv6 accept RA */ - int ipv6_accept_ra; - bool ipv6_accept_ra_use_dns; - bool ipv6_accept_ra_use_gateway; - bool ipv6_accept_ra_use_route_prefix; - bool ipv6_accept_ra_use_autonomous_prefix; - bool ipv6_accept_ra_use_onlink_prefix; - bool ipv6_accept_ra_use_mtu; - bool ipv6_accept_ra_use_hop_limit; - bool ipv6_accept_ra_use_icmp6_ratelimit; - bool ipv6_accept_ra_quickack; - bool ipv6_accept_ra_use_captive_portal; - bool ipv6_accept_ra_use_pref64; + /* NDisc support */ + int ndisc; + bool ndisc_use_redirect; + int ndisc_use_dns; + bool ndisc_use_gateway; + bool ndisc_use_route_prefix; + bool ndisc_use_autonomous_prefix; + bool ndisc_use_onlink_prefix; + bool ndisc_use_mtu; + bool ndisc_use_hop_limit; + bool ndisc_use_reachable_time; + bool ndisc_use_retransmission_time; + bool ndisc_quickack; + bool ndisc_use_captive_portal; + bool ndisc_use_pref64; bool active_slave; bool primary_slave; - DHCPUseDomains ipv6_accept_ra_use_domains; - IPv6AcceptRAStartDHCP6Client ipv6_accept_ra_start_dhcp6_client; - uint32_t ipv6_accept_ra_route_table; - bool ipv6_accept_ra_route_table_set; - uint32_t ipv6_accept_ra_route_metric_high; - uint32_t ipv6_accept_ra_route_metric_medium; - uint32_t ipv6_accept_ra_route_metric_low; - bool ipv6_accept_ra_route_metric_set; + UseDomains ndisc_use_domains; + IPv6AcceptRAStartDHCP6Client ndisc_start_dhcp6_client; + uint32_t ndisc_route_table; + bool ndisc_route_table_set; + uint32_t ndisc_route_metric_high; + uint32_t ndisc_route_metric_medium; + uint32_t ndisc_route_metric_low; + bool ndisc_route_metric_set; Set *ndisc_deny_listed_router; Set *ndisc_allow_listed_router; Set *ndisc_deny_listed_prefix; @@ -372,7 +381,7 @@ struct Network { OrderedHashmap *addresses_by_section; Hashmap *routes_by_section; - Hashmap *nexthops_by_section; + OrderedHashmap *nexthops_by_section; Hashmap *bridge_fdb_entries_by_section; Hashmap *bridge_mdb_entries_by_section; OrderedHashmap *neighbors_by_section; @@ -419,11 +428,6 @@ bool network_has_static_ipv6_configurations(Network *network); CONFIG_PARSER_PROTOTYPE(config_parse_stacked_netdev); CONFIG_PARSER_PROTOTYPE(config_parse_tunnel); -CONFIG_PARSER_PROTOTYPE(config_parse_domains); -CONFIG_PARSER_PROTOTYPE(config_parse_dns); -CONFIG_PARSER_PROTOTYPE(config_parse_timezone); -CONFIG_PARSER_PROTOTYPE(config_parse_dnssec_negative_trust_anchors); -CONFIG_PARSER_PROTOTYPE(config_parse_ntp); CONFIG_PARSER_PROTOTYPE(config_parse_required_for_online); CONFIG_PARSER_PROTOTYPE(config_parse_required_family_for_online); CONFIG_PARSER_PROTOTYPE(config_parse_keep_configuration); |