From 4bd045d5dd28653af899c01d6f0c413d74677114 Mon Sep 17 00:00:00 2001 From: Tom Goff Date: Wed, 10 Nov 2010 13:00:54 -0800 Subject: lib: Add a function to delete all interfaces if.c: (if_terminate) This adds a cleanup function that can be called when a daemon exits, similar to vty_terminate(). --- lib/if.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'lib/if.c') diff --git a/lib/if.c b/lib/if.c index e3107116..b61bdbff 100644 --- a/lib/if.c +++ b/lib/if.c @@ -878,3 +878,21 @@ if_init (void) memset (&if_master, 0, sizeof if_master); } + +void +if_terminate (void) +{ + for (;;) + { + struct interface *ifp; + + ifp = listnode_head (iflist); + if (ifp == NULL) + break; + + if_delete (ifp); + } + + list_delete (iflist); + iflist = NULL; +} -- cgit v1.2.1