mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 15:43:02 +02:00
confd: bridge: Use confd god object to access dagger
Now that we have a god object, we might as well use it to make our functions signatures a bit more readable.
This commit is contained in:
@@ -407,7 +407,7 @@ static int netdag_gen_afspec_add(sr_session_ctx_t *session, struct dagger *net,
|
||||
DEBUG_IFACE(dif, "");
|
||||
|
||||
if (!strcmp(iftype, "infix-if-type:bridge")) {
|
||||
err = ixif_br_gen(net, dif, cif, ip, 1);
|
||||
err = ixif_br_gen(dif, cif, ip, 1);
|
||||
} else if (!strcmp(iftype, "infix-if-type:dummy")) {
|
||||
err = netdag_gen_dummy(net, NULL, cif, ip);
|
||||
} else if (!strcmp(iftype, "infix-if-type:veth")) {
|
||||
@@ -438,7 +438,7 @@ static int netdag_gen_afspec_set(sr_session_ctx_t *session, struct dagger *net,
|
||||
DEBUG_IFACE(dif, "");
|
||||
|
||||
if (!strcmp(iftype, "infix-if-type:bridge"))
|
||||
return ixif_br_gen(net, dif, cif, ip, 0);
|
||||
return ixif_br_gen(dif, cif, ip, 0);
|
||||
if (!strcmp(iftype, "infix-if-type:vlan"))
|
||||
return netdag_gen_vlan(net, dif, cif, ip);
|
||||
if (!strcmp(iftype, "infix-if-type:veth"))
|
||||
|
||||
@@ -58,8 +58,7 @@ int netdag_gen_ip_addrs(struct dagger *net, FILE *ip, const char *proto,
|
||||
struct lyd_node *cif, struct lyd_node *dif);
|
||||
|
||||
/* infix-if-bridge.c */
|
||||
int ixif_br_gen(struct dagger *dagger, struct lyd_node *dif,
|
||||
struct lyd_node *cif, FILE *ip, int add);
|
||||
int ixif_br_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip, int add);
|
||||
|
||||
/* infix-if-bridge-mcd.c */
|
||||
int ixif_br_mcd_gen(struct lyd_node *cifs);
|
||||
|
||||
@@ -17,7 +17,6 @@ struct ixif_br {
|
||||
struct lyd_node *cif;
|
||||
struct lyd_node *dif;
|
||||
|
||||
struct dagger *dagger;
|
||||
FILE *ip;
|
||||
struct snippet bropts;
|
||||
|
||||
@@ -256,7 +255,7 @@ static int ixif_br_vlan_gen_membership(struct ixif_br *br,
|
||||
goto delete;
|
||||
|
||||
pvid = 0;
|
||||
srx_get_int(br->dagger->session, &pvid, SR_UINT16_T,
|
||||
srx_get_int(confd.netdag.session, &pvid, SR_UINT16_T,
|
||||
IF_XPATH "[name='%s']/bridge-port/pvid", iface);
|
||||
|
||||
fprintf(br->init.vlan.fp, "vlan add vid %d dev %s %s %s %s\n",
|
||||
@@ -335,8 +334,8 @@ static void ixif_br_gen_phys_address(struct ixif_br *br)
|
||||
fprintf(br->ip, " address %s", mac);
|
||||
}
|
||||
|
||||
static int ixif_br_init(struct ixif_br *br, struct dagger *dagger,
|
||||
struct lyd_node *dif, struct lyd_node *cif, FILE *ip)
|
||||
static int ixif_br_init(struct ixif_br *br, struct lyd_node *dif, struct lyd_node *cif,
|
||||
FILE *ip)
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
@@ -346,9 +345,7 @@ static int ixif_br_init(struct ixif_br *br, struct dagger *dagger,
|
||||
br->dif = dif;
|
||||
br->cif = cif;
|
||||
|
||||
br->dagger = dagger;
|
||||
br->ip = ip;
|
||||
|
||||
err = snippet_open(&br->bropts);
|
||||
if (err)
|
||||
goto err;
|
||||
@@ -385,11 +382,11 @@ static int ixif_br_fini(struct ixif_br *br)
|
||||
err = snippet_close(&br->bropts, br->ip);
|
||||
fputc('\n', br->ip);
|
||||
|
||||
init = dagger_fopen_next(br->dagger, "init", br->name,
|
||||
init = dagger_fopen_next(&confd.netdag, "init", br->name,
|
||||
60, "init.bridge");
|
||||
|
||||
if (!dagger_is_bootstrap(br->dagger))
|
||||
exit = dagger_fopen_current(br->dagger, "exit", br->name,
|
||||
if (!dagger_is_bootstrap(&confd.netdag))
|
||||
exit = dagger_fopen_current(&confd.netdag, "exit", br->name,
|
||||
60, "exit.bridge");
|
||||
|
||||
err = err ? : snippet_close(&br->init.vlan, init);
|
||||
@@ -402,7 +399,7 @@ static int ixif_br_fini(struct ixif_br *br)
|
||||
|
||||
if (exit)
|
||||
fclose(exit);
|
||||
else if (!dagger_is_bootstrap(br->dagger))
|
||||
else if (!dagger_is_bootstrap(&confd.netdag))
|
||||
err = err ? : -EIO;
|
||||
|
||||
if (init)
|
||||
@@ -413,14 +410,13 @@ static int ixif_br_fini(struct ixif_br *br)
|
||||
return err;
|
||||
}
|
||||
|
||||
int ixif_br_gen(struct dagger *dagger, struct lyd_node *dif,
|
||||
struct lyd_node *cif, FILE *ip, int add)
|
||||
int ixif_br_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip, int add)
|
||||
{
|
||||
const char *op = add ? "add" : "set";
|
||||
struct ixif_br br;
|
||||
int err;
|
||||
|
||||
err = ixif_br_init(&br, dagger, dif, cif, ip);
|
||||
err = ixif_br_init(&br, dif, cif, ip);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user