]>
git.proxmox.com Git - mirror_frr.git/blob - lib/plist_int.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Prefix list internal definitions.
4 * Copyright (C) 1999 Kunihiro Ishiguro
7 #ifndef _QUAGGA_PLIST_INT_H
8 #define _QUAGGA_PLIST_INT_H
16 PREDECL_RBTREE_UNIQ(plist
);
22 struct prefix_master
*master
;
27 struct plist_item plist_item
;
29 struct prefix_list_entry
*head
;
30 struct prefix_list_entry
*tail
;
32 struct pltrie_table
*trie
;
35 /* Each prefix-list's entry. */
36 struct prefix_list_entry
{
42 enum prefix_list_type type
;
50 struct prefix_list
*pl
;
52 struct prefix_list_entry
*next
;
53 struct prefix_list_entry
*prev
;
55 /* up the chain for best match search */
56 struct prefix_list_entry
*next_best
;
58 /* Flag to track trie/list installation status. */
62 extern void prefix_list_entry_free(struct prefix_list_entry
*pentry
);
63 extern void prefix_list_entry_delete2(struct prefix_list_entry
*ple
);
64 extern void prefix_list_entry_update_start(struct prefix_list_entry
*ple
);
65 extern void prefix_list_entry_update_finish(struct prefix_list_entry
*ple
);
71 #endif /* _QUAGGA_PLIST_INT_H */