On Tue, Mar 15, 2022 at 12:21:00PM +0100, Claudio Jeker wrote:
> This diff just refactors the code by moving the alloc part up.
> It makes the code a bit easier to read and more similar with other
> prefix_adjout functions. Also I plan to pass the struct prefix in
> as an argument and do the prefix_adjout_get() in the callee.

ok

> @@ -1222,6 +1186,40 @@ prefix_adjout_update(struct rde_peer *pe
>               if (RB_INSERT(prefix_index, &peer->adj_rib_out, p) != NULL)
>                       fatalx("%s: RB index invariant violated", __func__);
>       }
> +
> +     if ((p->flags & PREFIX_FLAG_ADJOUT) == 0)
> +             fatalx("%s: prefix without PREFIX_FLAG_ADJOUT hit", __func__);
> +     if ((p->flags & (PREFIX_FLAG_WITHDRAW | PREFIX_FLAG_DEAD)) == 0) {
> +             if (prefix_nhflags(p) == state->nhflags &&
> +                 prefix_nexthop(p) == state->nexthop &&
> +                 communities_equal(&state->communities,
> +                 prefix_communities(p)) &&
> +                 path_compare(&state->aspath, prefix_aspath(p)) ==
> +                 0) {

0) { fits on the previous line.

Reply via email to