summaryrefslogtreecommitdiffstats
path: root/staticd/static_vrf.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-09 13:16:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-09 13:16:35 +0000
commite2bbf175a2184bd76f6c54ccf8456babeb1a46fc (patch)
treef0b76550d6e6f500ada964a3a4ee933a45e5a6f1 /staticd/static_vrf.h
parentInitial commit. (diff)
downloadfrr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.tar.xz
frr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.zip
Adding upstream version 9.1.upstream/9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'staticd/static_vrf.h')
-rw-r--r--staticd/static_vrf.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/staticd/static_vrf.h b/staticd/static_vrf.h
new file mode 100644
index 0000000..8f55775
--- /dev/null
+++ b/staticd/static_vrf.h
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * STATICd - vrf header
+ * Copyright (C) 2018 Cumulus Networks, Inc.
+ * Donald Sharp
+ */
+#ifndef __STATIC_VRF_H__
+#define __STATIC_VRF_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct static_vrf {
+ struct vrf *vrf;
+
+ struct route_table *stable[AFI_MAX][SAFI_MAX];
+};
+
+struct stable_info {
+ struct static_vrf *svrf;
+ afi_t afi;
+ safi_t safi;
+};
+
+#define GET_STABLE_VRF_ID(info) info->svrf->vrf->vrf_id
+
+struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name);
+
+void static_vrf_init(void);
+
+struct route_table *static_vrf_static_table(afi_t afi, safi_t safi,
+ struct static_vrf *svrf);
+extern void static_vrf_terminate(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif