diff options
Diffstat (limited to 'zebra/zserv.c')
-rw-r--r-- | zebra/zserv.c | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/zebra/zserv.c b/zebra/zserv.c index 5a0272d2..bb7937d1 100644 --- a/zebra/zserv.c +++ b/zebra/zserv.c @@ -1552,14 +1552,9 @@ DEFUN (ip_forwarding, int ret; ret = ipforward (); + if (ret == 0) + ret = ipforward_on (); - if (ret != 0) - { - vty_out (vty, "IP forwarding is already on%s", VTY_NEWLINE); - return CMD_ERR_NOTHING_TODO; - } - - ret = ipforward_on (); if (ret == 0) { vty_out (vty, "Can't turn on IP forwarding%s", VTY_NEWLINE); @@ -1579,14 +1574,9 @@ DEFUN (no_ip_forwarding, int ret; ret = ipforward (); + if (ret != 0) + ret = ipforward_off (); - if (ret == 0) - { - vty_out (vty, "IP forwarding is already off%s", VTY_NEWLINE); - return CMD_ERR_NOTHING_TODO; - } - - ret = ipforward_off (); if (ret != 0) { vty_out (vty, "Can't turn off IP forwarding%s", VTY_NEWLINE); @@ -1692,13 +1682,9 @@ DEFUN (ipv6_forwarding, int ret; ret = ipforward_ipv6 (); - if (ret != 0) - { - vty_out (vty, "IPv6 forwarding is already on%s", VTY_NEWLINE); - return CMD_ERR_NOTHING_TODO; - } + if (ret == 0) + ret = ipforward_ipv6_on (); - ret = ipforward_ipv6_on (); if (ret == 0) { vty_out (vty, "Can't turn on IPv6 forwarding%s", VTY_NEWLINE); @@ -1718,13 +1704,9 @@ DEFUN (no_ipv6_forwarding, int ret; ret = ipforward_ipv6 (); - if (ret == 0) - { - vty_out (vty, "IP forwarding is already off%s", VTY_NEWLINE); - return CMD_ERR_NOTHING_TODO; - } + if (ret != 0) + ret = ipforward_ipv6_off (); - ret = ipforward_ipv6_off (); if (ret != 0) { vty_out (vty, "Can't turn off IPv6 forwarding%s", VTY_NEWLINE); |