]> git.proxmox.com Git - mirror_frr.git/commit
This patch adds Yon's CLI 'walk back up tree' patch. Following are email
authorpaul <paul>
Sat, 18 Jan 2003 01:16:20 +0000 (01:16 +0000)
committerpaul <paul>
Sat, 18 Jan 2003 01:16:20 +0000 (01:16 +0000)
commit9ab6812d1dd27813f3ae01624312edc21c1a0bb6
tree0e74ebe8d75aa0217233de3045240579933395eb
parenteda031f6f3558239da5ceb196312ff71aa74fef1
This patch adds Yon's CLI 'walk back up tree' patch. Following are email
describing original patch and a shorter email describing changes to an
updated patch, the one which is applied:

From havanna_moon@gmx.net Sat Jan 18 00:37:13 2003
Date: Mon, 9 Dec 2002 05:32:58 +0100 (CET)
From: Yon Uriarte <havanna_moon@gmx.net>
To: "the list(tm) Zebra" <zebra@zebra.org>
Subject: [zebra 16671] [PATCH] CLI extensions.

Hi,

 this patch adds 2 improvements to the CLI (lib/command.c):

#1) When in subconfig mode (router XXX, interface XXX, ...) commands that
fail for that node are tried on the main CONFIG_NODE. This is great for
configuring interfaces or changing the sub-config mode quickly, without
the need to type 'exit' between commands:

ospfd(config)# int eth1
ospfd(config-if)# ip ospf cost 9
ospfd(config-if)# ip ospf prio 101
ospfd(config-if)# router ospf
ospfd(config-router)# network 1.1.1.0/24 area 51
ospfd(config-router)# int eth2
ospfd(config-if)# ip ospf authentication message-digest
ospfd(config-if)# ^Z
ospfd#

 Is this IOS-like or does IOS try to walk up the tree of config sub-modes
instead of directly trying the command on CONFIG_NODE?

CAVEATS: "?" and "TAB" don't work.  IIRC IOS doesnt show that help
neither.

NON-CAVEATS: This wont break much, as config_from_file() already does
try a failed command on the parent node of the actual vty->node. If
changing the code to walk the node tree instead of directly trying
the command on the ENABLE_NODE the same semantics would be in use
and no future bugs could creep in.

#2) When in config or subconfig mode use the "do " prefix to execute
commans of the ENABLE_NODE. "?" and "TAB" work. The space after the
"do" is needed:

ospfd(config-router)# do<?>
% There is no matched command.
ospfd(config-router)# do <?>
  clear      Reset functions
  configure  Configuration from vty interface
  copy       Copy configuration
  debug      Debugging functions (see also 'undebug')
  disable    Turn off privileged mode command
  end        End current mode and change to enable mode.
  exit       Exit current mode and down to previous mode
  help       Description of the interactive help system
  list       Print command list
  no         Negate a command or set its defaults
  quit       Exit current mode and down to previous mode
  show       Show running system information
  terminal   Set terminal line parameters
  who        Display who is on vty
  write      Write running configuration to memory, network, or terminal
ospfd(config-router)# do sho<TAB>
ospfd(config-router)# do show me<TAB>
ospfd(config-router)# do show memory r<TAB>
ospfd(config-router)# do show memory rip
RIP structure         :     0
RIP route info        :     0
RIP interface         :     0
RIP peer              :     0
RIP offset list       :     0
RIP distance          :     0
ospfd(config-router)# ^Z
ospfd#

CAVEATS: I don't have access to an IOS with this feature, so I implemented
it from the comments on this mailing list (in fact my personal motivation
was to implement feature #1, which I missed on zebra. But #2 sounded like
a nice one to have, and xemacs was already parked on command.c ...).
Is this IOS-like or are there differences?

 I will happily change this patch to mimick IOS or the mailing-list
consensus on CLI-usability.

regards,
 yon

From havanna_moon@gmx.net Sat Jan 18 01:13:11 2003
Date: Sat, 11 Jan 2003 23:36:51 +0100 (CET)
From: Yon Uriarte <havanna_moon@gmx.net>
To: zebra@zebra.org
Subject: [zebra 17218] Re: [PATCH] CLI extensions.

Hi,

[redacted]

> I prefer the IOS way for the node "up walking".

 This patch should walk the tree upwards:

bgpd(config)# router bgp 1
bgpd(config-router)# address-family ipv4 multicast
bgpd(config-router-af)# access-list 1 remark hola que tal
bgpd(config)#

 I cant test all combinations, so I cant rule out some bugs. I'd love to
get (long and explicit) bug reports.

[redacted]
lib/command.c