confd: bridge: Simplify function names after review

Agreement: Avoid abbreviations in exported functions. Use short,
prefix-less, names for local functions.
This commit is contained in:
Tobias Waldekranz
2024-12-17 22:59:39 +01:00
parent e9a71ec3f7
commit 96779c2620
5 changed files with 74 additions and 78 deletions
+4 -4
View File
@@ -408,7 +408,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(dif, cif, ip, 1);
err = bridge_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")) {
@@ -439,7 +439,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(dif, cif, ip, 0);
return bridge_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"))
@@ -602,7 +602,7 @@ static sr_error_t netdag_gen_iface(sr_session_ctx_t *session, struct dagger *net
fputc('\n', ip);
err = ixif_br_port_gen(dif, cif, ip);
err = bridge_port_gen(dif, cif, ip);
if (err)
goto err_close_ip;
@@ -673,7 +673,7 @@ static sr_error_t ifchange_post(sr_session_ctx_t *session, struct dagger *net,
* regenerate the full config for mcd every time by walking
* the full configuration.
*/
err = ixif_br_mcd_gen(cifs);
err = bridge_mcd_gen(cifs);
return err ? SR_ERR_INTERNAL : SR_ERR_OK;
}
+3 -3
View File
@@ -58,11 +58,11 @@ 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 lyd_node *dif, struct lyd_node *cif, FILE *ip, int add);
int bridge_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);
int bridge_mcd_gen(struct lyd_node *cifs);
/* infix-if-bridge-port.c */
int ixif_br_port_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip);
int bridge_port_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip);
/* infix-if-veth.c */
int ifchange_cand_infer_veth(sr_session_ctx_t *session, const char *path);
+8 -8
View File
@@ -12,7 +12,7 @@
#include "ietf-interfaces.h"
static int ixif_br_mcd_gen_br_vlan(struct lyd_node *cif, struct lyd_node *vlan, FILE *conf)
static int gen_vlan(struct lyd_node *cif, struct lyd_node *vlan, FILE *conf)
{
const char *iface, *querier, *upper;
struct lyd_node *mcast;
@@ -50,7 +50,7 @@ static int ixif_br_mcd_gen_br_vlan(struct lyd_node *cif, struct lyd_node *vlan,
return 0;
}
static int ixif_br_mcd_gen_br(struct lyd_node *cif, FILE *conf)
static int gen_bridge(struct lyd_node *cif, FILE *conf)
{
struct lyd_node *vlans, *vlan, *mcast;
const char *iface, *querier;
@@ -77,7 +77,7 @@ static int ixif_br_mcd_gen_br(struct lyd_node *cif, FILE *conf)
return 0;
LYX_LIST_FOR_EACH(lyd_child(vlans), vlan, "vlan") {
err = ixif_br_mcd_gen_br_vlan(cif, vlan, conf);
err = gen_vlan(cif, vlan, conf);
if (err)
return err;
}
@@ -85,14 +85,14 @@ static int ixif_br_mcd_gen_br(struct lyd_node *cif, FILE *conf)
return 0;
}
int ixif_br_mcd_gen(struct lyd_node *cifs)
int bridge_mcd_gen(struct lyd_node *cifs)
{
FILE *conf, *stop, *start;
struct lyd_node *cif;
int err = 0;
bool empty;
conf = fopen("/etc/mc.d/interfaces.conf.next", "w");
conf = fopen("/etc/mc.d/bridges.conf.next", "w");
if (!conf)
return -EIO;
@@ -100,7 +100,7 @@ int ixif_br_mcd_gen(struct lyd_node *cifs)
if (strcmp(lydx_get_cattr(cif, "type"), "infix-if-type:bridge"))
continue;
err = ixif_br_mcd_gen_br(cif, conf);
err = gen_bridge(cif, conf);
if (err)
break;
}
@@ -118,7 +118,7 @@ int ixif_br_mcd_gen(struct lyd_node *cifs)
goto out_remove;
}
fputs("mv /etc/mc.d/interfaces.conf.next /etc/mc.d/interfaces.conf\n", start);
fputs("mv /etc/mc.d/bridges.conf.next /etc/mc.d/bridges.conf\n", start);
fputs("initctl -bnq enable mcd\n", start);
fputs("initctl -bnq touch mcd\n", start);
fclose(start);
@@ -136,6 +136,6 @@ int ixif_br_mcd_gen(struct lyd_node *cifs)
}
out_remove:
remove("/etc/mc.d/interfaces.conf.next");
remove("/etc/mc.d/bridges.conf.next");
return err;
}
+14 -15
View File
@@ -12,8 +12,7 @@
#include "ietf-interfaces.h"
static const char *ixif_br_port_get_egress_mode(const char *iface, int vid,
const char *brname)
static const char *get_port_egress_mode(const char *iface, int vid, const char *brname)
{
static const char *modes[] = { "tagged", "untagged", NULL };
const char **mode;
@@ -29,14 +28,14 @@ static const char *ixif_br_port_get_egress_mode(const char *iface, int vid,
return NULL;
}
static int ixif_br_port_gen_pvid_del(struct lyd_node *cif, const char *brname, int vid)
static int gen_pvid_del(struct lyd_node *cif, const char *brname, int vid)
{
const char *iface, *mode;
FILE *exit;
iface = lydx_get_cattr(cif, "name");
mode = ixif_br_port_get_egress_mode(iface, vid, brname);
mode = get_port_egress_mode(iface, vid, brname);
if (!mode)
/* Port is not a member of the VLAN anymore, so the
* PVID is already removed.
@@ -58,14 +57,14 @@ static int ixif_br_port_gen_pvid_del(struct lyd_node *cif, const char *brname, i
return 0;
}
static int ixif_br_port_gen_pvid_add(struct lyd_node *cif, const char *brname, int vid)
static int gen_pvid_add(struct lyd_node *cif, const char *brname, int vid)
{
const char *iface, *mode;
FILE *init;
iface = lydx_get_cattr(cif, "name");
mode = ixif_br_port_get_egress_mode(iface, vid, brname);
mode = get_port_egress_mode(iface, vid, brname);
if (!mode) {
WARN("%s is not a member of VLAN %d: Ignoring PVID", iface, vid);
return 0;
@@ -83,7 +82,7 @@ static int ixif_br_port_gen_pvid_add(struct lyd_node *cif, const char *brname, i
return 0;
}
static int ixif_br_port_gen_pvid(struct lyd_node *dif, struct lyd_node *cif)
static int gen_pvid(struct lyd_node *dif, struct lyd_node *cif)
{
struct lyd_node *bridge, *pvid;
struct lydx_diff pvdiff;
@@ -107,13 +106,13 @@ static int ixif_br_port_gen_pvid(struct lyd_node *dif, struct lyd_node *cif)
* old bridge.
*/
if (!bridge && pvdiff.old) {
err = ixif_br_port_gen_pvid_del(cif, brname, atoi(pvdiff.old));
err = gen_pvid_del(cif, brname, atoi(pvdiff.old));
if (err)
return err;
}
if (pvdiff.new) {
err = ixif_br_port_gen_pvid_add(cif, brname, atoi(pvdiff.new));
err = gen_pvid_add(cif, brname, atoi(pvdiff.new));
if (err)
return err;
}
@@ -121,7 +120,7 @@ static int ixif_br_port_gen_pvid(struct lyd_node *dif, struct lyd_node *cif)
return 0;
}
static int ixif_br_port_gen_link(struct lyd_node *dif, struct lyd_node *cif)
static int gen_link(struct lyd_node *dif, struct lyd_node *cif)
{
struct lyd_node *bp, *flood, *mcast;
const char *brname, *iface;
@@ -185,7 +184,7 @@ static int ixif_br_port_gen_link(struct lyd_node *dif, struct lyd_node *cif)
return 0;
}
int ixif_br_port_gen_join_leave(struct lyd_node *dif)
static int gen_join_leave(struct lyd_node *dif)
{
struct lyd_node *bridge;
struct lydx_diff brdiff;
@@ -222,19 +221,19 @@ int ixif_br_port_gen_join_leave(struct lyd_node *dif)
return err;
}
int ixif_br_port_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip)
int bridge_port_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip)
{
int err = 0;
err = ixif_br_port_gen_join_leave(dif);
err = gen_join_leave(dif);
if (err)
return err;
err = ixif_br_port_gen_link(dif, cif);
err = gen_link(dif, cif);
if (err)
return err;
err = ixif_br_port_gen_pvid(dif, cif);
err = gen_pvid(dif, cif);
if (err)
return err;
+45 -48
View File
@@ -32,13 +32,11 @@ struct ixif_br {
} exit;
};
static bool ixif_br_vlan_has_mcast_snooping(struct ixif_br *br);
/* MDB */
static int ixif_br_mdb_gen_filter(struct ixif_br *br, struct lyd_node *filter,
const char *vidstr)
static int gen_mdb_filter(struct ixif_br *br, struct lyd_node *filter,
const char *vidstr)
{
const char *group, *iface;
struct lyd_node *port;
@@ -76,7 +74,7 @@ static int ixif_br_mdb_gen_filter(struct ixif_br *br, struct lyd_node *filter,
return 0;
}
static int ixif_br_mdb_gen(struct ixif_br *br, struct lyd_node *ctx)
static int gen_mdb(struct ixif_br *br, struct lyd_node *ctx)
{
struct lyd_node *filters, *filter;
char *vidstr = NULL;
@@ -92,7 +90,7 @@ static int ixif_br_mdb_gen(struct ixif_br *br, struct lyd_node *ctx)
asprintf(&vidstr, "vid %s", vid);
LYX_LIST_FOR_EACH(lyd_child(filters), filter, "multicast-filter") {
err = ixif_br_mdb_gen_filter(br, filter, vidstr);
err = gen_mdb_filter(br, filter, vidstr);
if (err)
break;
}
@@ -106,7 +104,25 @@ static int ixif_br_mdb_gen(struct ixif_br *br, struct lyd_node *ctx)
/* MCAST */
static int ixif_br_mcast_gen_vlan(struct ixif_br *br, struct lyd_node *vlan)
static bool has_vlan_mcast_snooping(struct ixif_br *br)
{
struct lyd_node *vlans, *vlan, *mcast;
vlans = lydx_get_descendant(lyd_child(br->cif), "bridge", "vlans", NULL);
if (!vlans)
return false;
LYX_LIST_FOR_EACH(lyd_child(vlans), vlan, "vlan") {
mcast = lydx_get_descendant(lyd_child(vlan), "multicast", NULL);
if (mcast && lydx_is_enabled(mcast, "snooping"))
return true;
}
return false;
}
static int gen_vlan_mcast(struct ixif_br *br, struct lyd_node *vlan)
{
struct lyd_node *mcast;
bool snooping;
@@ -126,7 +142,7 @@ static int ixif_br_mcast_gen_vlan(struct ixif_br *br, struct lyd_node *vlan)
return 0;
}
static int ixif_br_mcast_gen_vlans(struct ixif_br *br)
static int gen_vlans_mcast(struct ixif_br *br)
{
struct lyd_node *vlans, *vlan;
int err;
@@ -136,7 +152,7 @@ static int ixif_br_mcast_gen_vlans(struct ixif_br *br)
return 0;
LYX_LIST_FOR_EACH(lyd_child(vlans), vlan, "vlan") {
err = ixif_br_mcast_gen_vlan(br, vlan);
err = gen_vlan_mcast(br, vlan);
if (err)
return err;
}
@@ -144,7 +160,7 @@ static int ixif_br_mcast_gen_vlans(struct ixif_br *br)
return 0;
}
static int ixif_br_mcast_gen_ieee_forward(struct ixif_br *br)
static int gen_ieee_forward(struct ixif_br *br)
{
struct lyd_node *node, *proto;
int fwd_mask = 0;
@@ -174,14 +190,14 @@ static int ixif_br_mcast_gen_ieee_forward(struct ixif_br *br)
return 0;
}
static int ixif_br_mcast_gen(struct ixif_br *br)
static int gen_mcast(struct ixif_br *br)
{
bool vlan_snooping = ixif_br_vlan_has_mcast_snooping(br);
bool vlan_snooping = has_vlan_mcast_snooping(br);
struct lyd_node *mcast;
bool snooping = false;
int err, interval = 0;
err = ixif_br_mcast_gen_ieee_forward(br);
err = gen_ieee_forward(br);
if (err)
return err;
@@ -202,7 +218,7 @@ static int ixif_br_mcast_gen(struct ixif_br *br)
fprintf(br->bropts.fp, " mcast_query_interval %d", interval * 100);
if (vlan_snooping)
err = ixif_br_mcast_gen_vlans(br);
err = gen_vlans_mcast(br);
return err;
}
@@ -211,26 +227,7 @@ static int ixif_br_mcast_gen(struct ixif_br *br)
/* VLAN */
static bool ixif_br_vlan_has_mcast_snooping(struct ixif_br *br)
{
struct lyd_node *vlans, *vlan, *mcast;
vlans = lydx_get_descendant(lyd_child(br->cif), "bridge", "vlans", NULL);
if (!vlans)
return false;
LYX_LIST_FOR_EACH(lyd_child(vlans), vlan, "vlan") {
mcast = lydx_get_descendant(lyd_child(vlan), "multicast", NULL);
if (mcast && lydx_is_enabled(mcast, "snooping"))
return true;
}
return false;
}
static int ixif_br_vlan_gen_membership(struct ixif_br *br,
struct lyd_node *vlan, const char *mode)
static int gen_vlan_membership(struct ixif_br *br, struct lyd_node *vlan, const char *mode)
{
struct lyd_node *portentry;
enum lydx_op pop, vop;
@@ -273,7 +270,7 @@ static int ixif_br_vlan_gen_membership(struct ixif_br *br,
return 0;
}
static int ixif_br_vlan_gen(struct ixif_br *br)
static int gen_vlan(struct ixif_br *br)
{
static const char *modes[] = { "tagged", "untagged", NULL };
struct lyd_node *vlans, *vlan;
@@ -296,12 +293,12 @@ static int ixif_br_vlan_gen(struct ixif_br *br)
LYX_LIST_FOR_EACH(lyd_child(vlans), vlan, "vlan") {
for (mode = modes; *mode; mode++) {
err = ixif_br_vlan_gen_membership(br, vlan, *mode);
err = gen_vlan_membership(br, vlan, *mode);
if (err)
return err;
}
err = ixif_br_mdb_gen(br, vlan);
err = gen_mdb(br, vlan);
if (err)
return err;
}
@@ -313,7 +310,7 @@ static int ixif_br_vlan_gen(struct ixif_br *br)
/* BR */
static void ixif_br_gen_phys_address(struct ixif_br *br)
static void gen_phys_address(struct ixif_br *br)
{
struct json_t *j;
const char *mac;
@@ -334,8 +331,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 lyd_node *dif, struct lyd_node *cif,
FILE *ip)
static int init_snippets(struct ixif_br *br, struct lyd_node *dif, struct lyd_node *cif,
FILE *ip)
{
int err = 0;
@@ -374,7 +371,7 @@ err:
return err;
}
static int ixif_br_fini(struct ixif_br *br)
static int collect_snippets(struct ixif_br *br)
{
FILE *init, *exit = NULL;
int err;
@@ -410,39 +407,39 @@ static int ixif_br_fini(struct ixif_br *br)
return err;
}
int ixif_br_gen(struct lyd_node *dif, struct lyd_node *cif, FILE *ip, int add)
int bridge_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, dif, cif, ip);
err = init_snippets(&br, dif, cif, ip);
if (err)
return err;
fputs(" mcast_flood_always 1", br.bropts.fp);
fputs(" vlan_default_pvid 0", br.bropts.fp);
err = ixif_br_vlan_gen(&br);
err = gen_vlan(&br);
if (err)
goto out;
err = ixif_br_mcast_gen(&br);
err = gen_mcast(&br);
if (err)
goto out;
err = ixif_br_mdb_gen(&br, lydx_get_child(dif, "bridge"));
err = gen_mdb(&br, lydx_get_child(dif, "bridge"));
if (err)
goto out;
fprintf(br.ip, "link %s dev %s", op, br.name);
if (add)
ixif_br_gen_phys_address(&br);
gen_phys_address(&br);
fprintf(br.ip, " type bridge");
out:
ixif_br_fini(&br);
err = collect_snippets(&br);
return err;
}