X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd.h;h=d09ab61adfa9052f42dffd901f41ff3ebdf2fdf6;hp=c39d2213f9670c280d7c83786d275edbae471686;hb=3f2650377631aed3bc26fdbc3a2eef6e33cdf7e7;hpb=3b653205cf7bd3851befd0a9f6a3ded6e267c173 diff --git a/src/network/networkd.h b/src/network/networkd.h index c39d2213f..d09ab61ad 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -42,7 +42,8 @@ #define CACHE_INFO_INFINITY_LIFE_TIME 0xFFFFFFFFU #define VXLAN_VID_MAX (1u << 24) - 1 -#define DHCP_STATIC_ROUTE_METRIC 1024 +#define DHCP_ROUTE_METRIC 1024 +#define IPV4LL_ROUTE_METRIC 2048 typedef struct NetDev NetDev; typedef struct Network Network; @@ -52,13 +53,13 @@ typedef struct Route Route; typedef struct Manager Manager; typedef struct AddressPool AddressPool; -typedef struct netdev_enslave_callback netdev_enslave_callback; +typedef struct netdev_join_callback netdev_join_callback; -struct netdev_enslave_callback { +struct netdev_join_callback { sd_rtnl_message_handler_t callback; Link *link; - LIST_FIELDS(netdev_enslave_callback, callbacks); + LIST_FIELDS(netdev_join_callback, callbacks); }; typedef enum MacVlanMode { @@ -152,7 +153,7 @@ struct NetDev { union in_addr_union remote; union in_addr_union group; - LIST_HEAD(netdev_enslave_callback, callbacks); + LIST_HEAD(netdev_join_callback, callbacks); }; typedef enum DHCPSupport { @@ -174,6 +175,8 @@ struct Network { char *match_driver; char *match_type; char *match_name; + char *dhcp_vendor_class_identifier; + Condition *match_host; Condition *match_virt; Condition *match_kernel; @@ -375,7 +378,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(NetDev*, netdev_unref); int netdev_get(Manager *manager, const char *name, NetDev **ret); int netdev_set_ifindex(NetDev *netdev, sd_rtnl_message *newlink); -int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cb); +int netdev_join(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cb); int netdev_create_tunnel(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callback); int netdev_create_veth(NetDev *netdev, sd_rtnl_message_handler_t callback); int netdev_create_vxlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callback); @@ -466,6 +469,9 @@ int config_parse_destination(const char *unit, const char *filename, unsigned li const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); +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); /* Address */ int address_new_static(Network *network, unsigned section, Address **ret); int address_new_dynamic(Address **ret);