mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 20:27:14 +00:00
From: Hasso Tepper <hasso@estpak.ee>
http://hasso.linux.ee/zebra/ht-no_interface-23052003.patch Add the 'no interface' command to all the daemons and vtysh.
This commit is contained in:
parent
8d6b00e4f3
commit
68f43848fa
26
lib/if.c
26
lib/if.c
@ -440,6 +440,32 @@ DEFUN (interface,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN_NOSH (no_interface,
|
||||
no_interface_cmd,
|
||||
"no interface IFNAME",
|
||||
NO_STR
|
||||
"Delete a pseudo interface's configuration\n"
|
||||
"Interface's name\n")
|
||||
{
|
||||
// deleting interface
|
||||
struct interface *ifp;
|
||||
|
||||
ifp = if_lookup_by_name (argv[0]);
|
||||
|
||||
if (ifp == NULL)
|
||||
return CMD_SUCCESS;
|
||||
|
||||
if (if_is_up(ifp)) {
|
||||
vty_out (vty, "%% Only inactive interfaces can be deleted%s",
|
||||
VTY_NEWLINE);
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if_delete(ifp);
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
/* For debug purpose. */
|
||||
DEFUN (show_address,
|
||||
show_address_cmd,
|
||||
|
1
lib/if.h
1
lib/if.h
@ -220,6 +220,7 @@ extern list iflist;
|
||||
extern struct cmd_element interface_desc_cmd;
|
||||
extern struct cmd_element no_interface_desc_cmd;
|
||||
extern struct cmd_element interface_cmd;
|
||||
extern struct cmd_element no_interface_cmd;
|
||||
extern struct cmd_element interface_pseudo_cmd;
|
||||
extern struct cmd_element no_interface_pseudo_cmd;
|
||||
|
||||
|
@ -729,6 +729,7 @@ ospf6_init ()
|
||||
install_element (ENABLE_NODE, &reload_cmd);
|
||||
install_element (CONFIG_NODE, &router_ospf6_cmd);
|
||||
install_element (CONFIG_NODE, &interface_cmd);
|
||||
install_element (CONFIG_NODE, &no_interface_cmd);
|
||||
#ifdef OSPF6_STATISTICS
|
||||
install_element (VIEW_NODE, &show_ipv6_ospf6_statistics_cmd);
|
||||
install_element (ENABLE_NODE, &show_ipv6_ospf6_statistics_cmd);
|
||||
|
@ -7377,6 +7377,7 @@ ospf_vty_if_init ()
|
||||
install_node (&interface_node, config_write_interface);
|
||||
|
||||
install_element (CONFIG_NODE, &interface_cmd);
|
||||
install_element (CONFIG_NODE, &no_interface_cmd);
|
||||
install_default (INTERFACE_NODE);
|
||||
|
||||
/* "description" commands. */
|
||||
|
@ -822,6 +822,7 @@ ripng_if_init ()
|
||||
install_node (&interface_node, interface_config_write);
|
||||
|
||||
install_element (CONFIG_NODE, &interface_cmd);
|
||||
install_element (CONFIG_NODE, &no_interface_cmd);
|
||||
install_element (INTERFACE_NODE, &config_end_cmd);
|
||||
install_element (INTERFACE_NODE, &config_exit_cmd);
|
||||
install_element (INTERFACE_NODE, &config_help_cmd);
|
||||
|
@ -1165,6 +1165,13 @@ DEFUNSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_OSPFD|VTYSH_OSPF6D,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D,
|
||||
vtysh_no_interface_cmd,
|
||||
"no interface IFNAME",
|
||||
NO_STR
|
||||
"Delete a pseudo interface's configuration\n"
|
||||
"Interface's name\n")
|
||||
|
||||
DEFSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_OSPFD,
|
||||
interface_desc_cmd,
|
||||
"description .LINE",
|
||||
@ -1838,6 +1845,7 @@ vtysh_init_vty ()
|
||||
install_element (KEYCHAIN_NODE, &key_chain_cmd);
|
||||
install_element (KEYCHAIN_KEY_NODE, &key_chain_cmd);
|
||||
install_element (CONFIG_NODE, &vtysh_interface_cmd);
|
||||
install_element (CONFIG_NODE, &vtysh_no_interface_cmd);
|
||||
install_element (ENABLE_NODE, &vtysh_show_running_config_cmd);
|
||||
install_element (ENABLE_NODE, &vtysh_copy_runningconfig_startupconfig_cmd);
|
||||
install_element (ENABLE_NODE, &vtysh_write_file_cmd);
|
||||
|
@ -674,7 +674,7 @@ DEFUN_NOSH (zebra_interface,
|
||||
return ret;
|
||||
}
|
||||
|
||||
DEFUN (no_zebra_interface,
|
||||
DEFUN_NOSH (no_zebra_interface,
|
||||
no_zebra_interface_cmd,
|
||||
"no interface IFNAME",
|
||||
"Delete a pseudo interface's configuration\n"
|
||||
@ -694,7 +694,7 @@ DEFUN (no_zebra_interface,
|
||||
|
||||
if (CHECK_FLAG (ifp->status, ZEBRA_INTERFACE_ACTIVE))
|
||||
{
|
||||
vty_out(vty, "Only inactive interfaces can be deleted%s", VTY_NEWLINE);
|
||||
vty_out(vty, "%% Only inactive interfaces can be deleted%s", VTY_NEWLINE);
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user