int ifindex;
int master_ifindex;
char *ifname;
+ char **alternative_names;
char *kind;
unsigned short iftype;
char *state_file;
struct ether_addr mac;
+ struct ether_addr permanent_mac;
struct in6_addr ipv6ll_address;
uint32_t mtu;
sd_device *sd_device;
+ char *driver;
/* wlan */
enum nl80211_iftype wlan_iftype;
unsigned nexthop_messages;
unsigned routing_policy_rule_messages;
unsigned routing_policy_rule_remove_messages;
- unsigned qdisc_messages;
+ unsigned tc_messages;
+ unsigned sr_iov_messages;
unsigned enslaving;
Set *addresses;
char *lease_file;
uint32_t original_mtu;
unsigned dhcp4_messages;
+ unsigned dhcp6_address_messages;
+ unsigned dhcp6_route_messages;
+ unsigned dhcp6_pd_address_messages;
+ unsigned dhcp6_pd_route_messages;
bool dhcp4_route_failed:1;
bool dhcp4_route_retrying:1;
bool dhcp4_configured:1;
- bool dhcp6_configured:1;
+ bool dhcp6_address_configured:1;
+ bool dhcp6_route_configured:1;
+ bool dhcp6_pd_address_configured:1;
+ bool dhcp6_pd_route_configured:1;
- unsigned ndisc_messages;
- bool ndisc_configured;
+ unsigned ndisc_addresses_messages;
+ unsigned ndisc_routes_messages;
+ bool ndisc_addresses_configured:1;
+ bool ndisc_routes_configured:1;
sd_ipv4ll *ipv4ll;
bool ipv4ll_address:1;
bool addresses_ready:1;
bool neighbors_configured:1;
bool static_routes_configured:1;
- bool static_routes_ready:1;
bool static_nexthops_configured:1;
bool routing_policy_rules_configured:1;
- bool qdiscs_configured:1;
+ bool tc_configured:1;
+ bool sr_iov_configured:1;
bool setting_mtu:1;
+ bool setting_genmode:1;
+ bool ipv6_mtu_set:1;
LIST_HEAD(Address, pool_addresses);
struct rtnl_link_stats64 stats_old, stats_new;
bool stats_updated;
- /* All kinds of DNS configuration */
+ /* All kinds of DNS configuration the user configured via D-Bus */
struct in_addr_data *dns;
unsigned n_dns;
OrderedSet *search_domains, *route_domains;
DnsOverTlsMode dns_over_tls_mode;
Set *dnssec_negative_trust_anchors;
+ /* Similar, but NTP server configuration */
char **ntp;
} Link;
uint32_t link_get_dhcp_route_table(Link *link);
uint32_t link_get_ipv6_accept_ra_route_table(Link *link);
int link_request_set_routes(Link *link);
-int link_request_set_nexthop(Link *link);
int link_reconfigure(Link *link, bool force);
+int log_link_message_full_errno(Link *link, sd_netlink_message *m, int level, int err, const char *msg);
+#define log_link_message_error_errno(link, m, err, msg) log_link_message_full_errno(link, m, LOG_ERR, err, msg)
+#define log_link_message_warning_errno(link, m, err, msg) log_link_message_full_errno(link, m, LOG_WARNING, err, msg)
+#define log_link_message_notice_errno(link, m, err, msg) log_link_message_full_errno(link, m, LOG_NOTICE, err, msg)
+#define log_link_message_info_errno(link, m, err, msg) log_link_message_full_errno(link, m, LOG_INFO, err, msg)
+#define log_link_message_debug_errno(link, m, err, msg) log_link_message_full_errno(link, m, LOG_DEBUG, err, msg)
+
#define ADDRESS_FMT_VAL(address) \
be32toh((address).s_addr) >> 24, \
(be32toh((address).s_addr) >> 16) & 0xFFu, \