X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=5f553fb3b9ea230577036bd66e3cc2c85954609f;hp=c6e6b22c383e04413fffed24031410c2695dc190;hb=c106cc36b9b8e8998eb95299b02f1db9c1209122;hpb=46b0c76e2c355c0d0cc4792abb98cde07b28bc53 diff --git a/src/network/networkd.h b/src/network/networkd.h index c6e6b22c3..5f553fb3b 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -37,7 +37,7 @@ #include "hashmap.h" #include "list.h" #include "set.h" -#include "condition-util.h" +#include "condition.h" #include "in-addr-util.h" #define CACHE_INFO_INFINITY_LIFE_TIME 0xFFFFFFFFU @@ -100,11 +100,17 @@ struct Network { bool dhcp_broadcast; bool dhcp_critical; bool dhcp_routes; + unsigned dhcp_route_metric; bool ipv4ll; bool ipv4ll_route; bool dhcp_server; + unsigned cost; + + struct ether_addr *mac; + unsigned mtu; + LIST_HEAD(Address, static_addresses); LIST_HEAD(Route, static_routes); @@ -144,12 +150,14 @@ struct Route { int family; unsigned char dst_prefixlen; + unsigned char src_prefixlen; unsigned char scope; uint32_t metrics; unsigned char protocol; /* RTPROT_* */ union in_addr_union in_addr; union in_addr_union dst_addr; + union in_addr_union src_addr; union in_addr_union prefsrc_addr; LIST_FIELDS(Route, routes); @@ -173,8 +181,6 @@ struct Manager { struct udev *udev; struct udev_monitor *udev_monitor; sd_event_source *udev_event_source; - sd_event_source *sigterm_event_source; - sd_event_source *sigint_event_source; char *state_file; @@ -260,6 +266,17 @@ int config_parse_tunnel_address(const char *unit, void *data, void *userdata); +int config_parse_vxlan_group_address(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); + /* gperf */ const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length); @@ -334,20 +351,3 @@ int address_pool_new_from_string(Manager *m, AddressPool **ret, int family, cons void address_pool_free(AddressPool *p); int address_pool_acquire(AddressPool *p, unsigned prefixlen, union in_addr_union *found); - -/* Macros which append INTERFACE= to the message */ - -#define log_full_link(level, link, fmt, ...) log_meta_object(level, __FILE__, __LINE__, __func__, "INTERFACE=", link->ifname, "%-*s: " fmt, IFNAMSIZ, link->ifname, ##__VA_ARGS__) -#define log_debug_link(link, ...) log_full_link(LOG_DEBUG, link, ##__VA_ARGS__) -#define log_info_link(link, ...) log_full_link(LOG_INFO, link, ##__VA_ARGS__) -#define log_notice_link(link, ...) log_full_link(LOG_NOTICE, link, ##__VA_ARGS__) -#define log_warning_link(link, ...) log_full_link(LOG_WARNING, link, ##__VA_ARGS__) -#define log_error_link(link, ...) log_full_link(LOG_ERR, link, ##__VA_ARGS__) - -#define log_struct_link(level, link, ...) log_struct(level, "INTERFACE=%s", link->ifname, __VA_ARGS__) - -#define ADDRESS_FMT_VAL(address) \ - (address).s_addr & 0xFF, \ - ((address).s_addr >> 8) & 0xFF, \ - ((address).s_addr >> 16) & 0xFF, \ - (address).s_addr >> 24