Checkpatch fixes for the zebra nexthop group re-work.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
struct nhg_connected *rb_node_dep = NULL;
struct zebra_if *zif = (struct zebra_if *)ifp->info;
- frr_each (nhg_connected_tree, &zif->nhg_dependents,
+ frr_each(nhg_connected_tree, &zif->nhg_dependents,
rb_node_dep) {
rb_node_dep->nhe->ifp = NULL;
zebra_nhg_set_invalid(rb_node_dep->nhe);
struct nhg_connected *rb_node_dep = NULL;
struct zebra_if *zif = (struct zebra_if *)ifp->info;
- frr_each (nhg_connected_tree, &zif->nhg_dependents,
+ frr_each(nhg_connected_tree, &zif->nhg_dependents,
rb_node_dep) {
zebra_nhg_set_invalid(rb_node_dep->nhe);
}
static vlanid_t filter_vlan = 0;
-static bool supports_nh = false;
+static bool supports_nh;
struct gw_family_t {
uint16_t filler;
req.n.nlmsg_pid = dplane_ctx_get_ns(ctx)->nls.snl.nl_pid;
req.nhm.nh_family = AF_UNSPEC;
- // TODO: Scope?
+ /* TODO: Scope? */
uint32_t id = dplane_ctx_get_nhe_id(ctx);
"Context received for kernel nexthop update with incorrect OP code (%u)",
dplane_ctx_get_op(ctx));
return ZEBRA_DPLANE_REQUEST_FAILURE;
- break;
}
ret = netlink_nexthop(cmd, ctx);
req.n.nlmsg_type = cmd;
req.ndm.ndm_family = PF_BRIDGE;
req.ndm.ndm_state = NUD_NOARP | NUD_PERMANENT;
- req.ndm.ndm_flags |= NTF_SELF; // Handle by "self", not "master"
+ req.ndm.ndm_flags |= NTF_SELF; /* Handle by "self", not "master" */
addattr_l(&req.n, sizeof(req),
nexthops_free(new_grp.nexthop);
- return (found ? 0 : -1);
+ return found ? 0 : -1;
}
int mpls_ftn_uninstall(struct zebra_vrf *zvrf, enum lsp_types_t type,
struct nhg_connected *rb_node_dep = NULL;
if (!nhg_connected_tree_is_empty(head)) {
- frr_each_safe (nhg_connected_tree, head, rb_node_dep) {
+ frr_each_safe(nhg_connected_tree, head, rb_node_dep) {
nhg_connected_tree_del(head, rb_node_dep);
nhg_connected_free(rb_node_dep);
}
bool nhg_connected_tree_is_empty(const struct nhg_connected_tree_head *head)
{
- return (nhg_connected_tree_count(head) ? false : true);
+ return nhg_connected_tree_count(head) ? false : true;
}
struct nhg_connected *
{
struct nhg_connected *rb_node_dep = NULL;
- frr_each_safe (nhg_connected_tree, head, rb_node_dep) {
+ frr_each_safe(nhg_connected_tree, head, rb_node_dep) {
zebra_nhg_decrement_ref(rb_node_dep->nhe);
}
}
{
struct nhg_connected *rb_node_dep = NULL;
- frr_each (nhg_connected_tree, head, rb_node_dep) {
+ frr_each(nhg_connected_tree, head, rb_node_dep) {
zebra_nhg_increment_ref(rb_node_dep->nhe);
}
}
if (!zebra_nhg_depends_is_empty(nhe)) {
struct nhg_connected *rb_node_dep = NULL;
- frr_each_safe (nhg_connected_tree, &nhe->nhg_depends,
+ frr_each_safe(nhg_connected_tree, &nhe->nhg_depends,
rb_node_dep) {
zebra_nhg_dependents_del(rb_node_dep->nhe, nhe);
}
if (!zebra_nhg_dependents_is_empty(nhe)) {
struct nhg_connected *rb_node_dep = NULL;
- frr_each_safe (nhg_connected_tree, &nhe->nhg_dependents,
+ frr_each_safe(nhg_connected_tree, &nhe->nhg_dependents,
rb_node_dep) {
zebra_nhg_depends_del(rb_node_dep->nhe, nhe);
}
/* Attach backpointer to anything that it depends on */
zebra_nhg_dependents_init(nhe);
if (!zebra_nhg_depends_is_empty(nhe)) {
- frr_each (nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
+ frr_each(nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
zebra_nhg_dependents_add(rb_node_dep->nhe, nhe);
}
}
{
struct nhg_connected *rb_node_dep = NULL;
- frr_each (nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
+ frr_each(nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
if (CHECK_FLAG(rb_node_dep->nhe->flags,
NEXTHOP_GROUP_DUPLICATE))
return true;
nhg_ctx_get_grp(ctx), count)) {
depends_decrement_free(&nhg_depends);
nexthop_group_free_delete(&nhg);
- return ENOENT;
+ return -ENOENT;
}
if (!zebra_nhg_find(&nhe, id, nhg, &nhg_depends, vrf_id, type,
switch (nhg_ctx_get_op(ctx)) {
case NHG_CTX_OP_NEW:
ret = nhg_ctx_process_new(ctx);
- if (nhg_ctx_get_count(ctx) && ret == ENOENT
+ if (nhg_ctx_get_count(ctx) && ret == -ENOENT
&& nhg_ctx_get_status(ctx) != NHG_CTX_REQUEUED) {
/* Depends probably came before group, re-queue.
*
struct nhg_connected *rb_node_dep = NULL;
/* If anthing else in the group is valid, the group is valid */
- frr_each (nhg_connected_tree, &nhe->nhg_dependents,
+ frr_each(nhg_connected_tree, &nhe->nhg_dependents,
rb_node_dep) {
if (CHECK_FLAG(rb_node_dep->nhe->flags,
NEXTHOP_GROUP_VALID))
if (!zebra_nhg_dependents_is_empty(nhe)) {
struct nhg_connected *rb_node_dep = NULL;
- frr_each (nhg_connected_tree, &nhe->nhg_dependents,
+ frr_each(nhg_connected_tree, &nhe->nhg_dependents,
rb_node_dep) {
zebra_nhg_set_invalid(rb_node_dep->nhe);
}
struct nhg_hash_entry *depend = NULL;
uint8_t i = 0;
- frr_each (nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
+ frr_each(nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
bool duplicate = false;
depend = rb_node_dep->nhe;
nhe = zebra_nhg_resolve(nhe);
/* Make sure all depends are installed/queued */
- frr_each (nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
+ frr_each(nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
zebra_nhg_install_kernel(rb_node_dep->nhe);
}
void zebra_nhg_cleanup_tables(struct hash *hash)
{
- // TODO: These should only be uninstalled via route cleanup
- // path?
+ /*
+ * TODO: These should only be uninstalled via route cleanup path?
+ */
return;
hash_iterate(hash, zebra_nhg_uninstall_created, NULL);
}
same = re;
break;
}
+
/* Make sure that the route found has the same gateway. */
- else if (nhe_id && re->nhe_id == nhe_id) {
+ if (nhe_id && re->nhe_id == nhe_id) {
same = re;
break;
- } else {
- if (nh == NULL) {
+ }
+
+ if (nh == NULL) {
+ same = re;
+ break;
+ }
+ for (ALL_NEXTHOPS_PTR(re->ng, rtnh)) {
+ /*
+ * No guarantee all kernel send nh with labels
+ * on delete.
+ */
+ if (nexthop_same_no_labels(rtnh, nh)) {
same = re;
break;
}
- for (ALL_NEXTHOPS_PTR(re->ng, rtnh))
- /*
- * No guarantee all kernel send nh with labels
- * on delete.
- */
- if (nexthop_same_no_labels(rtnh, nh)) {
- same = re;
- break;
- }
- if (same)
- break;
}
+
+ if (same)
+ break;
}
/* If same type of route can't be found and this message is from
kernel. */
else
vty_out(vty, " VRF: UNKNOWN\n");
- if (CHECK_FLAG(nhe->flags, NEXTHOP_GROUP_DUPLICATE)) {
+ if (CHECK_FLAG(nhe->flags, NEXTHOP_GROUP_DUPLICATE))
vty_out(vty, " Duplicate - from kernel not hashable\n");
- }
+
if (CHECK_FLAG(nhe->flags, NEXTHOP_GROUP_VALID)) {
vty_out(vty, " Valid");
if (CHECK_FLAG(nhe->flags, NEXTHOP_GROUP_INSTALLED))
if (!zebra_nhg_depends_is_empty(nhe)) {
vty_out(vty, " Depends:");
- frr_each (nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
+ frr_each(nhg_connected_tree, &nhe->nhg_depends, rb_node_dep) {
vty_out(vty, " (%u)", rb_node_dep->nhe->id);
}
vty_out(vty, "\n");
case NEXTHOP_TYPE_IPV6_IFINDEX:
vty_out(vty, " %s",
inet_ntop(AF_INET6, &nexthop->gate.ipv6, buf,
- sizeof buf));
+ sizeof(buf)));
if (nexthop->ifindex)
vty_out(vty, ", %s",
ifindex2ifname(nexthop->ifindex,
case NEXTHOP_TYPE_IPV4_IFINDEX:
if (nexthop->src.ipv4.s_addr) {
if (inet_ntop(AF_INET, &nexthop->src.ipv4, buf,
- sizeof buf))
+ sizeof(buf)))
vty_out(vty, ", src %s", buf);
}
break;
case NEXTHOP_TYPE_IPV6_IFINDEX:
if (!IPV6_ADDR_SAME(&nexthop->src.ipv6, &in6addr_any)) {
if (inet_ntop(AF_INET6, &nexthop->src.ipv6, buf,
- sizeof buf))
+ sizeof(buf)))
vty_out(vty, ", src %s", buf);
}
break;
vty_out(vty, ", label %s",
mpls_label2str(nexthop->nh_label->num_labels,
nexthop->nh_label->label, buf,
- sizeof buf, 1));
+ sizeof(buf), 1));
}
vty_out(vty, "\n");
if (!zebra_nhg_dependents_is_empty(nhe)) {
vty_out(vty, " Dependents:");
- frr_each (nhg_connected_tree, &nhe->nhg_dependents,
+ frr_each(nhg_connected_tree, &nhe->nhg_dependents,
rb_node_dep) {
vty_out(vty, " (%u)", rb_node_dep->nhe->id);
}
if (!if_nhg_dependents_is_empty(ifp)) {
vty_out(vty, "Interface %s:\n", ifp->name);
- frr_each (nhg_connected_tree, &zebra_if->nhg_dependents,
+ frr_each(nhg_connected_tree, &zebra_if->nhg_dependents,
rb_node_dep) {
vty_out(vty, " ");
show_nexthop_group_out(vty, rb_node_dep->nhe);