diff options
Diffstat (limited to 'lib/table.h')
| -rw-r--r-- | lib/table.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/table.h b/lib/table.h index 78bf5da748..00131b29c6 100644 --- a/lib/table.h +++ b/lib/table.h @@ -14,10 +14,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with GNU Zebra; see the file COPYING. If not, write to the Free - * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; see the file COPYING; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ZEBRA_TABLE_H @@ -25,6 +24,7 @@ #include "memory.h" DECLARE_MTYPE(ROUTE_TABLE) +DECLARE_MTYPE(ROUTE_NODE) /* * Forward declarations. @@ -61,6 +61,7 @@ struct route_table * Delegate that performs certain functions for this table. */ route_table_delegate_t *delegate; + void (*cleanup)(struct route_table *, struct route_node *); unsigned long count; @@ -157,15 +158,15 @@ extern struct route_node *route_node_get (struct route_table *const, const struct prefix *); extern struct route_node *route_node_lookup (const struct route_table *, const struct prefix *); +extern struct route_node *route_node_lookup_maynull (const struct route_table *, + const struct prefix *); extern struct route_node *route_lock_node (struct route_node *node); extern struct route_node *route_node_match (const struct route_table *, const struct prefix *); extern struct route_node *route_node_match_ipv4 (const struct route_table *, const struct in_addr *); -#ifdef HAVE_IPV6 extern struct route_node *route_node_match_ipv6 (const struct route_table *, const struct in6_addr *); -#endif /* HAVE_IPV6 */ extern unsigned long route_table_count (const struct route_table *); |
