ok

Claudio Jeker([email protected]) on 2020.02.14 14:06:37 +0100:
> Move and rename copy_filterset to rde_filter.c as filterset_copy.
> This way it matches the other filterset_* functions.
> 
> OK?
> -- 
> :wq Claudio
> 
> Index: bgpd.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/bgpd.h,v
> retrieving revision 1.400
> diff -u -p -r1.400 bgpd.h
> --- bgpd.h    12 Feb 2020 10:33:56 -0000      1.400
> +++ bgpd.h    14 Feb 2020 12:16:43 -0000
> @@ -1182,8 +1182,6 @@ void            free_prefixtree(struct prefixset_t
>  void         filterlist_free(struct filter_head *);
>  int          host(const char *, struct bgpd_addr *, u_int8_t *);
>  u_int32_t    get_bgpid(void);
> -void         copy_filterset(struct filter_set_head *,
> -                 struct filter_set_head *);
>  void         expand_networks(struct bgpd_config *);
>  int          prefixset_cmp(struct prefixset_item *, struct prefixset_item *);
>  RB_PROTOTYPE(prefixset_tree, prefixset_item, entry, prefixset_cmp);
> @@ -1261,10 +1259,10 @@ int   pftable_addr_remove(struct pftable_m
>  int  pftable_commit(void);
>  
>  /* rde_filter.c */
> -void          filterset_free(struct filter_set_head *);
> -int           filterset_cmp(struct filter_set *, struct filter_set *);
> -void          filterset_move(struct filter_set_head *,
> -                 struct filter_set_head *);
> +void filterset_free(struct filter_set_head *);
> +int  filterset_cmp(struct filter_set *, struct filter_set *);
> +void filterset_move(struct filter_set_head *, struct filter_set_head *);
> +void filterset_copy(struct filter_set_head *, struct filter_set_head *);
>  const char   *filterset_name(enum action_types);
>  
>  /* rde_sets.c */
> Index: config.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/config.c,v
> retrieving revision 1.94
> diff -u -p -r1.94 config.c
> --- config.c  28 Jan 2020 15:45:46 -0000      1.94
> +++ config.c  14 Feb 2020 12:21:44 -0000
> @@ -496,22 +496,6 @@ prepare_listeners(struct bgpd_config *co
>  }
>  
>  void
> -copy_filterset(struct filter_set_head *source, struct filter_set_head *dest)
> -{
> -     struct filter_set       *s, *t;
> -
> -     if (source == NULL)
> -             return;
> -
> -     TAILQ_FOREACH(s, source, entry) {
> -             if ((t = malloc(sizeof(struct filter_set))) == NULL)
> -                     fatal(NULL);
> -             memcpy(t, s, sizeof(struct filter_set));
> -             TAILQ_INSERT_TAIL(dest, t, entry);
> -     }
> -}
> -
> -void
>  expand_networks(struct bgpd_config *c)
>  {
>       struct network          *n, *m, *tmp;
> @@ -533,8 +517,7 @@ expand_networks(struct bgpd_config *c)
>                               memcpy(&m->net.prefix, &psi->p.addr,
>                                   sizeof(m->net.prefix));
>                               m->net.prefixlen = psi->p.len;
> -                             TAILQ_INIT(&m->net.attrset);
> -                             copy_filterset(&n->net.attrset,
> +                             filterset_copy(&n->net.attrset,
>                                   &m->net.attrset);
>                               TAILQ_INSERT_TAIL(nw, m, entry);
>                       }
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
> retrieving revision 1.403
> diff -u -p -r1.403 parse.y
> --- parse.y   24 Jan 2020 05:44:05 -0000      1.403
> +++ parse.y   14 Feb 2020 12:21:59 -0000
> @@ -4076,8 +4076,7 @@ expand_rule(struct filter_rule *rule, st
>                                       memcpy(r, rule, sizeof(struct 
> filter_rule));
>                                       memcpy(&r->match, match,
>                                           sizeof(struct filter_match));
> -                                     TAILQ_INIT(&r->set);
> -                                     copy_filterset(set, &r->set);
> +                                     filterset_copy(set, &r->set);
>  
>                                       if (rb != NULL)
>                                               strlcpy(r->rib, rb->name,
> Index: rde_filter.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde_filter.c,v
> retrieving revision 1.122
> diff -u -p -r1.122 rde_filter.c
> --- rde_filter.c      13 Aug 2019 12:16:20 -0000      1.122
> +++ rde_filter.c      14 Feb 2020 12:21:28 -0000
> @@ -502,6 +502,10 @@ filterset_cmp(struct filter_set *a, stru
>       return (0);
>  }
>  
> +/*
> + * move filterset from source to dest. dest will be initialized first.
> + * After the move source is an empty list.
> + */
>  void
>  filterset_move(struct filter_set_head *source, struct filter_set_head *dest)
>  {
> @@ -509,6 +513,26 @@ filterset_move(struct filter_set_head *s
>       if (source == NULL)
>               return;
>       TAILQ_CONCAT(dest, source, entry);
> +}
> +
> +/*
> + * copy filterset from source to dest. dest will be initialized first.
> + */
> +void
> +filterset_copy(struct filter_set_head *source, struct filter_set_head *dest)
> +{
> +     struct filter_set       *s, *t;
> +
> +     TAILQ_INIT(dest);
> +     if (source == NULL)
> +             return;
> +
> +     TAILQ_FOREACH(s, source, entry) {
> +             if ((t = malloc(sizeof(struct filter_set))) == NULL)
> +                     fatal(NULL);
> +             memcpy(t, s, sizeof(struct filter_set));
> +             TAILQ_INSERT_TAIL(dest, t, entry);
> +     }
>  }
>  
>  int
> 

Reply via email to