return dst;
}
+void
+ec_set_sort_x(struct adata *set)
+{
+ /* Sort in place */
+ qsort(set->data, set->length / 8, 8, ec_set_cmp);
+}
+
static int
lc_set_cmp(const void *X, const void *Y)
struct adata *ec_set_sort(struct linpool *pool, struct adata *src);
struct adata *lc_set_sort(struct linpool *pool, struct adata *src);
+void ec_set_sort_x(struct adata *set); /* Sort in place */
+
#endif
static void
bgp_export_ext_community(struct bgp_export_state *s, eattr *a)
{
+ a->u.ptr = ec_set_del_nontrans(s->pool, a->u.ptr);
+
if (a->u.ptr->length == 0)
UNSET(a);
- a->u.ptr = ec_set_sort(s->pool, a->u.ptr);
+ ec_set_sort_x(a->u.ptr);
}
static void