simplify executor use
statements
This commit is contained in:
parent
9caffc01c2
commit
d463d455da
3 changed files with 20 additions and 16 deletions
|
@ -125,11 +125,11 @@ lif_interface_file_parse(struct lif_dict *collection, const char *filename)
|
||||||
if (!strcmp(token, "dhcp"))
|
if (!strcmp(token, "dhcp"))
|
||||||
{
|
{
|
||||||
cur_iface->is_dhcp = true;
|
cur_iface->is_dhcp = true;
|
||||||
lif_dict_add(&cur_iface->vars, "use", strdup("dhcp"));
|
lif_interface_use_executor(cur_iface, "dhcp");
|
||||||
}
|
}
|
||||||
else if (!strcmp(token, "ppp"))
|
else if (!strcmp(token, "ppp"))
|
||||||
{
|
{
|
||||||
lif_dict_add(&cur_iface->vars, "use", strdup("ppp"));
|
lif_interface_use_executor(cur_iface, "ppp");
|
||||||
}
|
}
|
||||||
else if (!strcmp(token, "inherits"))
|
else if (!strcmp(token, "inherits"))
|
||||||
{
|
{
|
||||||
|
@ -176,7 +176,7 @@ lif_interface_file_parse(struct lif_dict *collection, const char *filename)
|
||||||
else if (!strcmp(executor, "link"))
|
else if (!strcmp(executor, "link"))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
lif_dict_add(&cur_iface->vars, token, strdup(executor));
|
lif_interface_use_executor(cur_iface, executor);
|
||||||
}
|
}
|
||||||
else if (!strcmp(token, "inherit"))
|
else if (!strcmp(token, "inherit"))
|
||||||
{
|
{
|
||||||
|
@ -214,11 +214,11 @@ lif_interface_file_parse(struct lif_dict *collection, const char *filename)
|
||||||
|
|
||||||
/* Check if token looks like <word1>-<word*> and assume <word1> is an addon */
|
/* Check if token looks like <word1>-<word*> and assume <word1> is an addon */
|
||||||
char *word_end = strchr(token, '-');
|
char *word_end = strchr(token, '-');
|
||||||
if (word_end)
|
if (word_end != NULL)
|
||||||
{
|
{
|
||||||
/* Copy word1 to not mangle *token */
|
/* Copy word1 to not mangle *token */
|
||||||
char *addon = strndup(token, word_end - token);
|
char *addon = strndup(token, word_end - token);
|
||||||
if (lif_dict_add_once(&cur_iface->vars, "use", addon, (lif_dict_cmp_t) strcmp) == NULL)
|
lif_interface_use_executor(cur_iface, addon);
|
||||||
free(addon);
|
free(addon);
|
||||||
|
|
||||||
/* pass requires as compatibility env vars to appropriate executors (bridge, bond) */
|
/* pass requires as compatibility env vars to appropriate executors (bridge, bond) */
|
||||||
|
|
|
@ -63,10 +63,7 @@ lif_interface_init(struct lif_interface *interface, const char *ifname)
|
||||||
|
|
||||||
interface->ifname = strdup(ifname);
|
interface->ifname = strdup(ifname);
|
||||||
|
|
||||||
if (strchr(ifname, '.') == NULL)
|
lif_interface_use_executor(interface, strchr(ifname, '.') == NULL ? "link" : "vlan");
|
||||||
lif_dict_add(&interface->vars, "use", strdup("link"));
|
|
||||||
else
|
|
||||||
lif_dict_add(&interface->vars, "use", strdup("vlan"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
@ -80,11 +77,8 @@ lif_interface_address_add(struct lif_interface *interface, const char *address)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!interface->is_static)
|
lif_interface_use_executor(interface, "static");
|
||||||
{
|
|
||||||
lif_dict_add(&interface->vars, "use", strdup("static"));
|
|
||||||
interface->is_static = true;
|
interface->is_static = true;
|
||||||
}
|
|
||||||
|
|
||||||
lif_dict_add(&interface->vars, "address", addr);
|
lif_dict_add(&interface->vars, "address", addr);
|
||||||
|
|
||||||
|
@ -137,6 +131,15 @@ lif_interface_fini(struct lif_interface *interface)
|
||||||
free(interface->ifname);
|
free(interface->ifname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
lif_interface_use_executor(struct lif_interface *interface, const char *executor)
|
||||||
|
{
|
||||||
|
char *exec_addon = strdup(executor);
|
||||||
|
|
||||||
|
if (lif_dict_add_once(&interface->vars, "use", exec_addon, (lif_dict_cmp_t) strcmp) == NULL)
|
||||||
|
free(exec_addon);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
lif_interface_collection_init(struct lif_dict *collection)
|
lif_interface_collection_init(struct lif_dict *collection)
|
||||||
{
|
{
|
||||||
|
@ -147,7 +150,7 @@ lif_interface_collection_init(struct lif_dict *collection)
|
||||||
/* always enable loopback interface as part of a collection */
|
/* always enable loopback interface as part of a collection */
|
||||||
if_lo = lif_interface_collection_find(collection, "lo");
|
if_lo = lif_interface_collection_find(collection, "lo");
|
||||||
if_lo->is_auto = true;
|
if_lo->is_auto = true;
|
||||||
lif_dict_add(&if_lo->vars, "use", strdup("loopback"));
|
lif_interface_use_executor(if_lo, "loopback");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -68,6 +68,7 @@ extern void lif_interface_init(struct lif_interface *interface, const char *ifna
|
||||||
extern bool lif_interface_address_add(struct lif_interface *interface, const char *address);
|
extern bool lif_interface_address_add(struct lif_interface *interface, const char *address);
|
||||||
extern void lif_interface_address_delete(struct lif_interface *interface, const char *address);
|
extern void lif_interface_address_delete(struct lif_interface *interface, const char *address);
|
||||||
extern void lif_interface_fini(struct lif_interface *interface);
|
extern void lif_interface_fini(struct lif_interface *interface);
|
||||||
|
extern void lif_interface_use_executor(struct lif_interface *interface, const char *executor);
|
||||||
|
|
||||||
extern void lif_interface_collection_init(struct lif_dict *collection);
|
extern void lif_interface_collection_init(struct lif_dict *collection);
|
||||||
extern void lif_interface_collection_fini(struct lif_dict *collection);
|
extern void lif_interface_collection_fini(struct lif_dict *collection);
|
||||||
|
|
Loading…
Reference in a new issue