Merge pull request #146 from opensourcerouting/assorted-stable

assorted fixes for stable/2.0
This commit is contained in:
Donald Sharp 2017-02-01 10:52:21 -05:00 committed by GitHub
commit 5a2bd83d9d
16 changed files with 35 additions and 18 deletions

View File

@ -91,7 +91,7 @@ struct bgp_dump
struct thread *t_interval; struct thread *t_interval;
}; };
static int bgp_dump_unset (struct vty *vty, struct bgp_dump *bgp_dump); static int bgp_dump_unset (struct bgp_dump *bgp_dump);
static int bgp_dump_interval_func (struct thread *); static int bgp_dump_interval_func (struct thread *);
/* BGP packet dump output buffer. */ /* BGP packet dump output buffer. */
@ -661,7 +661,7 @@ bgp_dump_set (struct vty *vty, struct bgp_dump *bgp_dump,
} }
/* Removing previous config */ /* Removing previous config */
bgp_dump_unset(vty, bgp_dump); bgp_dump_unset(bgp_dump);
if (interval_str) if (interval_str)
{ {
@ -700,7 +700,7 @@ bgp_dump_set (struct vty *vty, struct bgp_dump *bgp_dump,
} }
static int static int
bgp_dump_unset (struct vty *vty, struct bgp_dump *bgp_dump) bgp_dump_unset (struct bgp_dump *bgp_dump)
{ {
/* Removing file name. */ /* Removing file name. */
if (bgp_dump->filename) if (bgp_dump->filename)
@ -815,7 +815,7 @@ DEFUN (no_dump_bgp_all,
break; break;
} }
return bgp_dump_unset (vty, bgp_dump_struct); return bgp_dump_unset (bgp_dump_struct);
} }
/* BGP node structure. */ /* BGP node structure. */
@ -913,6 +913,10 @@ bgp_dump_init (void)
void void
bgp_dump_finish (void) bgp_dump_finish (void)
{ {
bgp_dump_unset (&bgp_dump_all);
bgp_dump_unset (&bgp_dump_updates);
bgp_dump_unset (&bgp_dump_routes);
stream_free (bgp_dump_obuf); stream_free (bgp_dump_obuf);
bgp_dump_obuf = NULL; bgp_dump_obuf = NULL;
} }

View File

@ -40,6 +40,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
#include "queue.h" #include "queue.h"
#include "vrf.h" #include "vrf.h"
#include "bfd.h" #include "bfd.h"
#include "sockopt.h"
#include "bgpd/bgpd.h" #include "bgpd/bgpd.h"
#include "bgpd/bgp_attr.h" #include "bgpd/bgp_attr.h"
@ -309,6 +310,8 @@ bgp_exit (int status)
if (zlog_default) if (zlog_default)
closezlog (zlog_default); closezlog (zlog_default);
memset (bm, 0, sizeof (*bm));
if (bgp_debug_count()) if (bgp_debug_count())
log_memstats_stderr ("bgpd"); log_memstats_stderr ("bgpd");
exit (status); exit (status);

View File

@ -38,6 +38,7 @@
#include "plist.h" #include "plist.h"
#include "zclient.h" #include "zclient.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "qobj.h" #include "qobj.h"
#include "isisd/dict.h" #include "isisd/dict.h"
@ -246,7 +247,6 @@ main (int argc, char **argv, char **envp)
struct thread thread; struct thread thread;
char *config_file = NULL; char *config_file = NULL;
char *vty_addr = NULL; char *vty_addr = NULL;
char *vty_sock_name;
int dryrun = 0; int dryrun = 0;
/* Get the programname without the preceding path. */ /* Get the programname without the preceding path. */

View File

@ -39,6 +39,7 @@
#include "sigevent.h" #include "sigevent.h"
#include "zclient.h" #include "zclient.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "qobj.h" #include "qobj.h"
static void ldpd_shutdown(void); static void ldpd_shutdown(void);
@ -224,7 +225,6 @@ main(int argc, char *argv[])
char *p; char *p;
char *vty_addr = NULL; char *vty_addr = NULL;
int vty_port = LDP_VTY_PORT; int vty_port = LDP_VTY_PORT;
char *vty_sock_name;
char *ctl_sock_custom_path = NULL; char *ctl_sock_custom_path = NULL;
char *ctl_sock_name; char *ctl_sock_name;
int daemon_mode = 0; int daemon_mode = 0;

View File

@ -328,6 +328,9 @@ prefix_list_get (afi_t afi, int orf, const char *name)
return plist; return plist;
} }
static void prefix_list_trie_del (struct prefix_list *plist,
struct prefix_list_entry *pentry);
/* Delete prefix-list from prefix_list_master and free it. */ /* Delete prefix-list from prefix_list_master and free it. */
static void static void
prefix_list_delete (struct prefix_list *plist) prefix_list_delete (struct prefix_list *plist)
@ -341,6 +344,7 @@ prefix_list_delete (struct prefix_list *plist)
for (pentry = plist->head; pentry; pentry = next) for (pentry = plist->head; pentry; pentry = next)
{ {
next = pentry->next; next = pentry->next;
prefix_list_trie_del (plist, pentry);
prefix_list_entry_free (pentry); prefix_list_entry_free (pentry);
plist->count--; plist->count--;
} }

View File

@ -31,9 +31,9 @@
/* Replace the path of given defaultpath with newpath, but keep filename */ /* Replace the path of given defaultpath with newpath, but keep filename */
void void
set_socket_path (char *path, char *defaultpath, char *newpath, int maxsize) set_socket_path (char *path, const char *defaultpath, char *newpath, int maxsize)
{ {
char *sock_name; const char *sock_name;
sock_name = strrchr(defaultpath, '/'); sock_name = strrchr(defaultpath, '/');
if (sock_name) if (sock_name)

View File

@ -25,7 +25,8 @@
#include "sockunion.h" #include "sockunion.h"
/* Override (vty) socket paths, but keep the filename */ /* Override (vty) socket paths, but keep the filename */
extern void set_socket_path (char *path, char *defaultpath, char *newpath, int maxsize); extern void set_socket_path (char *path, const char *defaultpath,
char *newpath, int maxsize);
extern void setsockopt_so_recvbuf (int sock, int size); extern void setsockopt_so_recvbuf (int sock, int size);
extern void setsockopt_so_sendbuf (const int sock, int size); extern void setsockopt_so_sendbuf (const int sock, int size);

View File

@ -39,6 +39,7 @@
#include "zclient.h" #include "zclient.h"
#include "vrf.h" #include "vrf.h"
#include "bfd.h" #include "bfd.h"
#include "sockopt.h"
#include "ospf6d.h" #include "ospf6d.h"
#include "ospf6_top.h" #include "ospf6_top.h"
@ -239,7 +240,6 @@ main (int argc, char *argv[], char *envp[])
int opt; int opt;
char *vty_addr = NULL; char *vty_addr = NULL;
int vty_port = 0; int vty_port = 0;
char *vty_sock_name;
char *config_file = NULL; char *config_file = NULL;
struct thread thread; struct thread thread;
int dryrun = 0; int dryrun = 0;

View File

@ -41,6 +41,7 @@
#include "sigevent.h" #include "sigevent.h"
#include "zclient.h" #include "zclient.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "ospfd/ospfd.h" #include "ospfd/ospfd.h"
#include "ospfd/ospf_interface.h" #include "ospfd/ospf_interface.h"
@ -194,7 +195,6 @@ main (int argc, char **argv)
char *vty_addr = NULL; char *vty_addr = NULL;
int vty_port = OSPF_VTY_PORT; int vty_port = OSPF_VTY_PORT;
char vty_path[100]; char vty_path[100];
char *vty_sock_name;
int daemon_mode = 0; int daemon_mode = 0;
char *config_file = NULL; char *config_file = NULL;
char *progname; char *progname;

View File

@ -38,6 +38,7 @@
#include "prefix.h" #include "prefix.h"
#include "plist.h" #include "plist.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "pimd.h" #include "pimd.h"
#include "pim_version.h" #include "pim_version.h"
@ -133,7 +134,6 @@ Report bugs to %s\n", progname, PIMD_BUG_ADDRESS);
int main(int argc, char** argv, char** envp) { int main(int argc, char** argv, char** envp) {
char *p; char *p;
char *vty_addr = NULL; char *vty_addr = NULL;
char *vty_sock_name;
int vty_port = -1; int vty_port = -1;
int daemon_mode = 0; int daemon_mode = 0;
char *config_file = NULL; char *config_file = NULL;

View File

@ -35,6 +35,7 @@
#include "sigevent.h" #include "sigevent.h"
#include "zclient.h" #include "zclient.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "ripd/ripd.h" #include "ripd/ripd.h"
@ -201,7 +202,6 @@ main (int argc, char **argv)
int dryrun = 0; int dryrun = 0;
char *progname; char *progname;
struct thread thread; struct thread thread;
char *vty_sock_name;
/* Set umask before anything for security */ /* Set umask before anything for security */
umask (0027); umask (0027);

View File

@ -36,6 +36,7 @@
#include "privs.h" #include "privs.h"
#include "sigevent.h" #include "sigevent.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "ripngd/ripngd.h" #include "ripngd/ripngd.h"
@ -201,7 +202,6 @@ main (int argc, char **argv)
char *progname; char *progname;
struct thread thread; struct thread thread;
int dryrun = 0; int dryrun = 0;
char *vty_sock_name;
/* Set umask before anything for security */ /* Set umask before anything for security */
umask (0027); umask (0027);

View File

@ -272,7 +272,7 @@ main (int argc, char **argv, char **env)
int boot_flag = 0; int boot_flag = 0;
const char *daemon_name = NULL; const char *daemon_name = NULL;
const char *inputfile = NULL; const char *inputfile = NULL;
char *vtysh_configfile_name; const char *vtysh_configfile_name;
struct cmd_rec { struct cmd_rec {
const char *line; const char *line;
struct cmd_rec *next; struct cmd_rec *next;

View File

@ -35,6 +35,7 @@
#include "privs.h" #include "privs.h"
#include "sigevent.h" #include "sigevent.h"
#include "vrf.h" #include "vrf.h"
#include "sockopt.h"
#include "zebra/rib.h" #include "zebra/rib.h"
#include "zebra/zserv.h" #include "zebra/zserv.h"
@ -265,7 +266,6 @@ main (int argc, char **argv)
char *p; char *p;
char *vty_addr = NULL; char *vty_addr = NULL;
int vty_port = ZEBRA_VTY_PORT; int vty_port = ZEBRA_VTY_PORT;
char *vty_sock_name;
int dryrun = 0; int dryrun = 0;
int batch_mode = 0; int batch_mode = 0;
int daemon_mode = 0; int daemon_mode = 0;

View File

@ -42,6 +42,8 @@
#include "vrf.h" #include "vrf.h"
#include "zebra/rib.h" #include "zebra/rib.h"
#include "zebra/zserv.h"
#include "zebra/zebra_vrf.h"
#include "zebra_fpm_private.h" #include "zebra_fpm_private.h"

View File

@ -217,6 +217,7 @@ zebra_vrf_delete (struct vrf *vrf)
{ {
struct zebra_vrf *zvrf = vrf->info; struct zebra_vrf *zvrf = vrf->info;
struct route_table *table; struct route_table *table;
rib_table_info_t *info;
u_int32_t table_id; u_int32_t table_id;
afi_t afi; afi_t afi;
safi_t safi; safi_t safi;
@ -273,8 +274,9 @@ zebra_vrf_delete (struct vrf *vrf)
for (safi = SAFI_UNICAST; safi <= SAFI_MULTICAST; safi++) for (safi = SAFI_UNICAST; safi <= SAFI_MULTICAST; safi++)
{ {
table = zvrf->table[afi][safi]; table = zvrf->table[afi][safi];
XFREE (MTYPE_RIB_TABLE_INFO, table->info); info = table->info;
route_table_finish (table); route_table_finish (table);
XFREE (MTYPE_RIB_TABLE_INFO, info);
table = zvrf->stable[afi][safi]; table = zvrf->stable[afi][safi];
route_table_finish (table); route_table_finish (table);
@ -284,8 +286,9 @@ zebra_vrf_delete (struct vrf *vrf)
if (zvrf->other_table[afi][table_id]) if (zvrf->other_table[afi][table_id])
{ {
table = zvrf->other_table[afi][table_id]; table = zvrf->other_table[afi][table_id];
XFREE (MTYPE_RIB_TABLE_INFO, table->info); info = table->info;
route_table_finish (table); route_table_finish (table);
XFREE (MTYPE_RIB_TABLE_INFO, info);
} }
route_table_finish (zvrf->rnh_table[afi]); route_table_finish (zvrf->rnh_table[afi]);