summaryrefslogtreecommitdiffstats
path: root/lib/vrf.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-16 01:37:16 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-05-16 01:37:16 +0200
commit97b1a80cbb7ca5582972d700dbed6e011cbd9f83 (patch)
tree2c733c4b6c0d9a9f7714b4ee4be6297c10f04f8e /lib/vrf.h
parent*: Consolidate vrf_hooks into vrf_init (diff)
downloadfrr-97b1a80cbb7ca5582972d700dbed6e011cbd9f83.tar.xz
frr-97b1a80cbb7ca5582972d700dbed6e011cbd9f83.zip
lib: Add some more documentation to vrf.h
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/vrf.h')
-rw-r--r--lib/vrf.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/vrf.h b/lib/vrf.h
index a08258a92..14917eec0 100644
--- a/lib/vrf.h
+++ b/lib/vrf.h
@@ -143,12 +143,31 @@ extern int vrf_bitmap_check (vrf_bitmap_t, vrf_id_t);
/*
* VRF initializer/destructor
+ *
+ * create -> Called back when a new VRF is created. This
+ * can be either through these 3 options:
+ * 1) CLI mentions a vrf before OS knows about it
+ * 2) OS calls zebra and we create the vrf from OS
+ * callback
+ * 3) zebra calls individual protocols to notify
+ * about the new vrf
+ *
+ * enable -> Called back when a VRF is actually usable from
+ * an OS perspective ( 2 and 3 above )
+ *
+ * disable -> Called back when a VRF is being deleted from
+ * the system ( 2 and 3 ) above
+ *
+ * delete -> Called back when a vrf is being deleted from
+ * the system ( 2 and 3 ) above.
*/
-/* Please add hooks before calling vrf_init(). */
extern void vrf_init (int (*create)(struct vrf *),
int (*enable)(struct vrf *),
int (*disable)(struct vrf *),
int (*delete)(struct vrf *));
+/*
+ * Call vrf_terminate when the protocol is being shutdown
+ */
extern void vrf_terminate (void);
extern void vrf_cmd_init (int (*writefunc)(struct vty *vty));