chiark / gitweb /
networkd: netdev - rename 'enslave' to 'join'
[elogind.git] / src / network / networkd.h
index c39d2213f9670c280d7c83786d275edbae471686..d09ab61adfa9052f42dffd901f41ff3ebdf2fdf6 100644 (file)
@@ -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);