ospf6d: conf_clear_redist_list

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

ospf6d: conf_clear_redist_list

Remi Locherer
Clear unused redist_list the same way as in ospfd.

OK?

Remi


Index: ospf6d.h
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/ospf6d.h,v
retrieving revision 1.39
diff -u -p -r1.39 ospf6d.h
--- ospf6d.h 29 Dec 2018 16:04:31 -0000 1.39
+++ ospf6d.h 8 Jun 2019 13:43:26 -0000
@@ -364,13 +364,14 @@ struct redistribute {
  u_int8_t prefixlen;
  char dependon[IFNAMSIZ];
 };
+SIMPLEQ_HEAD(redist_list, redistribute);
 
 struct ospfd_conf {
  struct event ev;
  struct in_addr rtr_id;
  LIST_HEAD(, area) area_list;
  LIST_HEAD(, vertex) cand_list;
- SIMPLEQ_HEAD(, redistribute) redist_list;
+ struct redist_list redist_list;
 
  u_int32_t opts;
 #define OSPFD_OPT_VERBOSE 0x00000001
@@ -522,6 +523,7 @@ int carp_demote_set(char *, int);
 /* parse.y */
 struct ospfd_conf *parse_config(char *, int);
 int cmdline_symset(char *);
+void conf_clear_redist_list(struct redist_list *);
 
 /* interface.c */
 int if_init(void);
Index: ospfe.c
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/ospfe.c,v
retrieving revision 1.55
diff -u -p -r1.55 ospfe.c
--- ospfe.c 1 Sep 2018 19:21:10 -0000 1.55
+++ ospfe.c 8 Jun 2019 13:56:31 -0000
@@ -74,7 +74,6 @@ ospfe(struct ospfd_conf *xconf, int pipe
 {
  struct area *area;
  struct iface *iface;
- struct redistribute *r;
  struct passwd *pw;
  struct event ev_sigint, ev_sigterm;
  pid_t pid;
@@ -174,10 +173,7 @@ ospfe(struct ospfd_conf *xconf, int pipe
  event_add(&oeconf->ev, NULL);
 
  /* remove unneeded config stuff */
- while ((r = SIMPLEQ_FIRST(&oeconf->redist_list)) != NULL) {
- SIMPLEQ_REMOVE_HEAD(&oeconf->redist_list, entry);
- free(r);
- }
+ conf_clear_redist_list(&oeconf->redist_list);
 
  /* listen on ospfd control socket */
  TAILQ_INIT(&ctl_conns);
Index: parse.y
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/parse.y,v
retrieving revision 1.44
diff -u -p -r1.44 parse.y
--- parse.y 26 May 2019 09:27:09 -0000 1.44
+++ parse.y 8 Jun 2019 16:36:49 -0000
@@ -1203,6 +1203,16 @@ conf_check_rdomain(u_int rdomain)
 }
 
 void
+conf_clear_redist_list(struct redist_list *rl)
+{
+ struct redistribute *r;
+ while ((r = SIMPLEQ_FIRST(rl)) != NULL) {
+ SIMPLEQ_REMOVE_HEAD(rl, entry);
+ free(r);
+ }
+}
+
+void
 clear_config(struct ospfd_conf *xconf)
 {
  struct area *a;
@@ -1211,6 +1221,8 @@ clear_config(struct ospfd_conf *xconf)
  LIST_REMOVE(a, entry);
  area_del(a);
  }
+
+ conf_clear_redist_list(&xconf->redist_list);
 
  free(xconf);
 }
Index: rde.c
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/rde.c,v
retrieving revision 1.79
diff -u -p -r1.79 rde.c
--- rde.c 12 Jul 2018 13:45:03 -0000 1.79
+++ rde.c 8 Jun 2019 13:56:14 -0000
@@ -118,7 +118,6 @@ rde(struct ospfd_conf *xconf, int pipe_p
  struct event ev_sigint, ev_sigterm;
  struct timeval now;
  struct passwd *pw;
- struct redistribute *r;
  pid_t pid;
 
  switch (pid = fork()) {
@@ -200,10 +199,8 @@ rde(struct ospfd_conf *xconf, int pipe_p
  cand_list_init();
  rt_init();
 
- while ((r = SIMPLEQ_FIRST(&rdeconf->redist_list)) != NULL) {
- SIMPLEQ_REMOVE_HEAD(&rdeconf->redist_list, entry);
- free(r);
- }
+ /* remove unneeded stuff from config */
+ conf_clear_redist_list(&rdeconf->redist_list);
 
  gettimeofday(&now, NULL);
  rdeconf->uptime = now.tv_sec;

Reply | Threaded
Open this post in threaded view
|

Re: ospf6d: conf_clear_redist_list

Sebastian Benoit-3
Remi Locherer([hidden email]) on 2019.06.08 18:37:39 +0200:
> Clear unused redist_list the same way as in ospfd.
>
> OK?

reads good
ok benno@

> Remi
>
>
> Index: ospf6d.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/ospf6d.h,v
> retrieving revision 1.39
> diff -u -p -r1.39 ospf6d.h
> --- ospf6d.h 29 Dec 2018 16:04:31 -0000 1.39
> +++ ospf6d.h 8 Jun 2019 13:43:26 -0000
> @@ -364,13 +364,14 @@ struct redistribute {
>   u_int8_t prefixlen;
>   char dependon[IFNAMSIZ];
>  };
> +SIMPLEQ_HEAD(redist_list, redistribute);
>  
>  struct ospfd_conf {
>   struct event ev;
>   struct in_addr rtr_id;
>   LIST_HEAD(, area) area_list;
>   LIST_HEAD(, vertex) cand_list;
> - SIMPLEQ_HEAD(, redistribute) redist_list;
> + struct redist_list redist_list;
>  
>   u_int32_t opts;
>  #define OSPFD_OPT_VERBOSE 0x00000001
> @@ -522,6 +523,7 @@ int carp_demote_set(char *, int);
>  /* parse.y */
>  struct ospfd_conf *parse_config(char *, int);
>  int cmdline_symset(char *);
> +void conf_clear_redist_list(struct redist_list *);
>  
>  /* interface.c */
>  int if_init(void);
> Index: ospfe.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/ospfe.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 ospfe.c
> --- ospfe.c 1 Sep 2018 19:21:10 -0000 1.55
> +++ ospfe.c 8 Jun 2019 13:56:31 -0000
> @@ -74,7 +74,6 @@ ospfe(struct ospfd_conf *xconf, int pipe
>  {
>   struct area *area;
>   struct iface *iface;
> - struct redistribute *r;
>   struct passwd *pw;
>   struct event ev_sigint, ev_sigterm;
>   pid_t pid;
> @@ -174,10 +173,7 @@ ospfe(struct ospfd_conf *xconf, int pipe
>   event_add(&oeconf->ev, NULL);
>  
>   /* remove unneeded config stuff */
> - while ((r = SIMPLEQ_FIRST(&oeconf->redist_list)) != NULL) {
> - SIMPLEQ_REMOVE_HEAD(&oeconf->redist_list, entry);
> - free(r);
> - }
> + conf_clear_redist_list(&oeconf->redist_list);
>  
>   /* listen on ospfd control socket */
>   TAILQ_INIT(&ctl_conns);
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/parse.y,v
> retrieving revision 1.44
> diff -u -p -r1.44 parse.y
> --- parse.y 26 May 2019 09:27:09 -0000 1.44
> +++ parse.y 8 Jun 2019 16:36:49 -0000
> @@ -1203,6 +1203,16 @@ conf_check_rdomain(u_int rdomain)
>  }
>  
>  void
> +conf_clear_redist_list(struct redist_list *rl)
> +{
> + struct redistribute *r;
> + while ((r = SIMPLEQ_FIRST(rl)) != NULL) {
> + SIMPLEQ_REMOVE_HEAD(rl, entry);
> + free(r);
> + }
> +}
> +
> +void
>  clear_config(struct ospfd_conf *xconf)
>  {
>   struct area *a;
> @@ -1211,6 +1221,8 @@ clear_config(struct ospfd_conf *xconf)
>   LIST_REMOVE(a, entry);
>   area_del(a);
>   }
> +
> + conf_clear_redist_list(&xconf->redist_list);
>  
>   free(xconf);
>  }
> Index: rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospf6d/rde.c,v
> retrieving revision 1.79
> diff -u -p -r1.79 rde.c
> --- rde.c 12 Jul 2018 13:45:03 -0000 1.79
> +++ rde.c 8 Jun 2019 13:56:14 -0000
> @@ -118,7 +118,6 @@ rde(struct ospfd_conf *xconf, int pipe_p
>   struct event ev_sigint, ev_sigterm;
>   struct timeval now;
>   struct passwd *pw;
> - struct redistribute *r;
>   pid_t pid;
>  
>   switch (pid = fork()) {
> @@ -200,10 +199,8 @@ rde(struct ospfd_conf *xconf, int pipe_p
>   cand_list_init();
>   rt_init();
>  
> - while ((r = SIMPLEQ_FIRST(&rdeconf->redist_list)) != NULL) {
> - SIMPLEQ_REMOVE_HEAD(&rdeconf->redist_list, entry);
> - free(r);
> - }
> + /* remove unneeded stuff from config */
> + conf_clear_redist_list(&rdeconf->redist_list);
>  
>   gettimeofday(&now, NULL);
>   rdeconf->uptime = now.tv_sec;
>