summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_mlag.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_mlag.c')
-rw-r--r--zebra/zebra_mlag.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/zebra/zebra_mlag.c b/zebra/zebra_mlag.c
index 26470ed5c..35be07c02 100644
--- a/zebra/zebra_mlag.c
+++ b/zebra/zebra_mlag.c
@@ -21,10 +21,15 @@
*/
#include "zebra.h"
+#include "command.h"
#include "hook.h"
#include "zebra/zebra_mlag.h"
+#ifndef VTYSH_EXTRACT_PL
+#include "zebra/zebra_mlag_clippy.c"
+#endif
+
enum mlag_role role = MLAG_ROLE_NONE;
enum mlag_role zebra_mlag_get_role(void)
@@ -32,8 +37,45 @@ enum mlag_role zebra_mlag_get_role(void)
return role;
}
+DEFUN_HIDDEN (show_mlag,
+ show_mlag_cmd,
+ "show zebra mlag",
+ SHOW_STR
+ ZEBRA_STR
+ "The mlag role on this machine\n")
+{
+ char buf[80];
+
+ vty_out(vty, "MLag is configured to: %s\n",
+ mlag_role2str(role, buf, sizeof(buf)));
+
+ return CMD_SUCCESS;
+}
+
+DEFPY_HIDDEN (test_mlag,
+ test_mlag_cmd,
+ "test zebra mlag <none$none|primary$primary|secondary$secondary>",
+ "Test code\n"
+ ZEBRA_STR
+ "Modify the Mlag state\n"
+ "Mlag is not setup on the machine\n"
+ "Mlag is setup to be primary\n"
+ "Mlag is setup to be the secondary\n")
+{
+ if (none)
+ role = MLAG_ROLE_NONE;
+ if (primary)
+ role = MLAG_ROLE_PRIMARY;
+ if (secondary)
+ role = MLAG_ROLE_SECONDARY;
+
+ return CMD_SUCCESS;
+}
+
void zebra_mlag_init(void)
{
+ install_element(VIEW_NODE, &show_mlag_cmd);
+ install_element(ENABLE_NODE, &test_mlag_cmd);
}
void zebra_mlag_terminate(void)