minor bgpd cleanup

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

minor bgpd cleanup

Claudio Jeker
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 | Threaded
Open this post in threaded view
|

Re: minor bgpd cleanup

Sebastian Benoit-3
ok

Claudio Jeker([hidden email]) 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
>