X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=c26d64e38331bf3a70d8a72a1917ae6c3dcbdb54;hb=851c9f82736c89d423b244a292e153ec7124d309;hp=6fb920b1587b780897c0ac4562602b189aeea525;hpb=7f77697a1744f8df2089848b9d718faf7ba6c665;p=elogind.git diff --git a/src/network/networkd.h b/src/network/networkd.h index 6fb920b15..c26d64e38 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -83,6 +83,13 @@ typedef enum LinkOperationalState { _LINK_OPERSTATE_INVALID = -1 } LinkOperationalState; +typedef enum DCHPClientIdentifier { + DHCP_CLIENT_ID_MAC, + DHCP_CLIENT_ID_DUID, + _DHCP_CLIENT_ID_MAX, + _DHCP_CLIENT_ID_INVALID = -1, +} DCHPClientIdentifier; + struct FdbEntry { Network *network; unsigned section; @@ -100,10 +107,10 @@ struct Network { char *name; struct ether_addr *match_mac; - char *match_path; - char *match_driver; - char *match_type; - char *match_name; + char **match_path; + char **match_driver; + char **match_type; + char **match_name; Condition *match_host; Condition *match_virt; @@ -115,6 +122,7 @@ struct Network { NetDev *bond; Hashmap *stacked_netdevs; AddressFamilyBoolean dhcp; + DCHPClientIdentifier dhcp_client_identifier; char *dhcp_vendor_class_identifier; bool dhcp_dns; bool dhcp_ntp; @@ -151,7 +159,7 @@ struct Network { Hashmap *fdb_entries_by_section; bool wildcard_domain; - char **domains, **dns, **ntp; + char **domains, **dns, **ntp, **bind_carrier; LLMNRSupport llmnr; @@ -165,7 +173,7 @@ struct Address { int family; unsigned char prefixlen; unsigned char scope; - unsigned char flags; + uint32_t flags; char *label; struct in_addr broadcast; @@ -352,6 +360,10 @@ int config_parse_destination(const char *unit, const char *filename, unsigned li int config_parse_route_priority(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); + +int config_parse_route_scope(const char *unit, const char *filename, unsigned line, + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); /* Address */ int address_new_static(Network *network, unsigned section, Address **ret); int address_new_dynamic(Address **ret); @@ -379,7 +391,7 @@ int config_parse_label(const char *unit, const char *filename, unsigned line, int ltype, const char *rvalue, void *data, void *userdata); /* Forwarding database table. */ -int fdb_entry_configure(sd_rtnl *const rtnl, FdbEntry *const fdb_entry, const int ifindex); +int fdb_entry_configure(Link *const link, FdbEntry *const fdb_entry); void fdb_entry_free(FdbEntry *fdb_entry); int fdb_entry_new_static(Network *const network, const unsigned section, FdbEntry **ret); @@ -399,6 +411,9 @@ int config_parse_fdb_vlan_id(const char *unit, const char *filename, unsigned li int config_parse_dhcp(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); +int config_parse_dhcp_client_identifier(const char *unit, const char *filename, unsigned line, + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); /* IPv4LL support (legacy) */ @@ -407,9 +422,9 @@ int config_parse_ipv4ll(const char *unit, const char *filename, unsigned line, int ltype, const char *rvalue, void *data, void *userdata); /* IPv6 support */ -int config_parse_token(const char *unit, const char *filename, unsigned line, - const char *section, unsigned section_line, const char *lvalue, - int ltype, const char *rvalue, void *data, void *userdata); +int config_parse_ipv6token(const char *unit, const char *filename, unsigned line, + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); /* LLMNR support */