]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_dplane.c
zebra: print unknown rule family as number
[mirror_frr.git] / zebra / zebra_dplane.c
index ca72ea5227cd556882659dc8d6ce3b0cbd00a43e..bf1ba522a37fb6ead27900b5e5a34ec2f3bc37b7 100644 (file)
@@ -1023,6 +1023,11 @@ uint8_t dplane_ctx_get_old_distance(const struct zebra_dplane_ctx *ctx)
        return ctx->u.rinfo.zd_old_distance;
 }
 
+/*
+ * Set the nexthops associated with a context: note that processing code
+ * may well expect that nexthops are in canonical (sorted) order, so we
+ * will enforce that here.
+ */
 void dplane_ctx_set_nexthops(struct zebra_dplane_ctx *ctx, struct nexthop *nh)
 {
        DPLANE_CTX_VALID(ctx);
@@ -1031,7 +1036,7 @@ void dplane_ctx_set_nexthops(struct zebra_dplane_ctx *ctx, struct nexthop *nh)
                nexthops_free(ctx->u.rinfo.zd_ng.nexthop);
                ctx->u.rinfo.zd_ng.nexthop = NULL;
        }
-       copy_nexthops(&(ctx->u.rinfo.zd_ng.nexthop), nh, NULL);
+       nexthop_group_copy_nh_sorted(&(ctx->u.rinfo.zd_ng), nh);
 }
 
 const struct nexthop_group *dplane_ctx_get_ng(
@@ -2508,7 +2513,7 @@ enum zebra_dplane_result dplane_neigh_add(const struct interface *ifp,
        enum zebra_dplane_result result = ZEBRA_DPLANE_REQUEST_FAILURE;
 
        result = neigh_update_internal(DPLANE_OP_NEIGH_INSTALL,
-                                      ifp, mac, ip, flags, 0);
+                                      ifp, mac, ip, flags, DPLANE_NUD_NOARP);
 
        return result;
 }