summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_vty.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 /ospfd/ospf_vty.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 'ospfd/ospf_vty.h')
-rw-r--r--ospfd/ospf_vty.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/ospfd/ospf_vty.h b/ospfd/ospf_vty.h
new file mode 100644
index 0000000..e940246
--- /dev/null
+++ b/ospfd/ospf_vty.h
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/* OSPF VTY interface.
+ * Copyright (C) 2000 Toshiaki Takada
+ */
+
+#ifndef _QUAGGA_OSPF_VTY_H
+#define _QUAGGA_OSPF_VTY_H
+
+/* Macros. */
+#define VTY_GET_OSPF_AREA_ID(V, F, STR) \
+ { \
+ int retv; \
+ retv = str2area_id((STR), &(V), &(F)); \
+ if (retv < 0) { \
+ vty_out(vty, "%% Invalid OSPF area ID\n"); \
+ return CMD_WARNING; \
+ } \
+ }
+
+#define VTY_GET_OSPF_AREA_ID_NO_BB(NAME, V, F, STR) \
+ { \
+ int retv; \
+ retv = str2area_id((STR), &(V), &(F)); \
+ if (retv < 0) { \
+ vty_out(vty, "%% Invalid OSPF area ID\n"); \
+ return CMD_WARNING; \
+ } \
+ if (OSPF_IS_AREA_ID_BACKBONE((V))) { \
+ vty_out(vty, \
+ "%% You can't configure %s to backbone\n", \
+ NAME); \
+ return CMD_WARNING; \
+ } \
+ }
+
+/* Prototypes. */
+extern void ospf_vty_init(void);
+extern void ospf_vty_show_init(void);
+extern void ospf_vty_clear_init(void);
+extern int str2area_id(const char *, struct in_addr *, int *);
+
+/* unit tests */
+void show_ip_ospf_database_summary(struct vty *vty, struct ospf *ospf, int self,
+ json_object *json);
+
+#endif /* _QUAGGA_OSPF_VTY_H */