diff options
Diffstat (limited to 'src/network/networkd-link.h')
-rw-r--r-- | src/network/networkd-link.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h index 938bbf4..b1b2fe4 100644 --- a/src/network/networkd-link.h +++ b/src/network/networkd-link.h @@ -21,9 +21,11 @@ #include "log-link.h" #include "netif-util.h" #include "network-util.h" +#include "networkd-bridge-vlan.h" #include "networkd-ipv6ll.h" #include "networkd-util.h" #include "ordered-set.h" +#include "ratelimit.h" #include "resolve-util.h" #include "set.h" @@ -72,6 +74,11 @@ typedef struct Link { sd_device *dev; char *driver; + /* bridge vlan */ + uint16_t bridge_vlan_pvid; + bool bridge_vlan_pvid_is_untagged; + uint32_t bridge_vlan_bitmap[BRIDGE_VLAN_BITMAP_LEN]; + /* to prevent multiple ethtool calls */ bool ethtool_driver_read; bool ethtool_permanent_hw_addr_read; @@ -100,6 +107,7 @@ typedef struct Link { LinkAddressState ipv4_address_state; LinkAddressState ipv6_address_state; LinkOnlineState online_state; + RateLimit automatic_reconfigure_ratelimit; unsigned static_address_messages; unsigned static_address_label_messages; @@ -118,8 +126,6 @@ typedef struct Link { Set *addresses; Set *neighbors; - Set *routes; - Set *nexthops; Set *qdiscs; Set *tclasses; @@ -149,15 +155,19 @@ typedef struct Link { bool activated:1; bool master_set:1; bool stacked_netdevs_created:1; + bool bridge_vlan_set:1; sd_dhcp_server *dhcp_server; sd_ndisc *ndisc; sd_event_source *ndisc_expire; + Hashmap *ndisc_routers_by_sender; Set *ndisc_rdnss; Set *ndisc_dnssl; Set *ndisc_captive_portals; Set *ndisc_pref64; + Set *ndisc_redirects; + uint32_t ndisc_mtu; unsigned ndisc_messages; bool ndisc_configured:1; @@ -174,7 +184,6 @@ typedef struct Link { /* This is about LLDP reception */ sd_lldp_rx *lldp_rx; - char *lldp_file; /* This is about LLDP transmission */ sd_lldp_tx *lldp_tx; @@ -245,9 +254,13 @@ LinkState link_state_from_string(const char *s) _pure_; int link_reconfigure_impl(Link *link, bool force); int link_reconfigure(Link *link, bool force); +int link_reconfigure_on_bus_method_reload(Link *link, sd_bus_message *message); int manager_udev_process_link(Manager *m, sd_device *device, sd_device_action_t action); int manager_rtnl_process_link(sd_netlink *rtnl, sd_netlink_message *message, Manager *m); int link_flags_to_string_alloc(uint32_t flags, char **ret); const char *kernel_operstate_to_string(int t) _const_; + +void link_required_operstate_for_online(Link *link, LinkOperationalStateRange *ret); +AddressFamily link_required_family_for_online(Link *link); |