After starting the TNSR CLI, the administrator is in basic mode and not
configuration mode. To enter configuration mode, enter the
command. This command may be abbreviated to
config and it is also acceptable
terminal after, as a convenience for administrators familiar with
IOS who type it out of habit.
All of the following commands are equivalent:
tnsr# configure tnsr# configure terminal tnsr# config tnsr# conf t
After entering any one of the above commands, the prompt changes to reflect the new configuration mode:
tnsr# configure tnsr(config)#
After entering other configuration commands, the new configuration is stored in the candidate database (Configuration Database). A candidate database may be committed either when all of the required information is present, or when exiting the current context. Some commands are committed immediately.
Removing Configuration Items¶
Items are removed or negated using
no, followed by the option to remove. For
example, to remove an interface description:
tnsr(config)# interface GigabitEthernet0/14/1 tnsr(config-interface)# no description
In this case, since there is only one description, removing the description does
not require the existing content of that option. In most cases, the
command only requires enough parameters to uniquely identify an entry to be
removed or negated.
In certain cases, a partial command may remove multiple items or may be used as a shorthand method of removing a longer entry when the details do not uniquely identify an entry.
For example, this command removes one input ACL from an interface:
tnsr(config-interface)# no access-list input acl idsblock
Where this shorter version will remove all input ACL entries on an interface:
tnsr(config-interface)# no access-list input acl
Finally, this form would remove all ACLs of any type from an interface:
tnsr(config-interface)# no access-list
? help command (Finding Help) is useful in determining when these
actions are possible. For example, the CLI will show
return”) as an available keyword when testing a command:
tnsr(config-interface)# no access-list ? <cr> acl ACL Rule input ACL applies to ingress packets macip MACIP Rule output ACL applies to egress packets
Since the help request printed
<cr> among the choices, the command may be
completed by pressing
Interactive Large Delete Confirmation¶
When performing a delete operation in sensitive areas, TNSR checks the size of the pending change when exiting a mode or committing configuration changes. This feature prevents accidental removal of significant sections of the router configuration.
If TNSR considers a change too large to happen automatically, such as removing the entire OSPF configuration, then TNSR will prompt for confirmation before proceeding.
This feature is disabled by default, but may be enabled as follows:
tnsr# configure tnsr(config)# cli option check-delete-thresholds
To disable the feature, precede it with
tnsr# configure tnsr(config)# no cli option check-delete-thresholds
For example, with the feature enabled, attempting to make a large change results in a confirmation prompt:
tnsr(config)# route dynamic ospf tnsr(config-frr-ospf)# no server Really delete that? [yes/no]: y tnsr(config-frr-ospf)#
If a change to the candidate database fails a validation check or application of the change to the system fails for some reason, it is discarded automatically by default. TNSR resets the candidate database to the current contents of the running database to avoid further attempts to apply the faulty configuration contained in the candidate database.
This automatic behavior can be changed, however, in cases where power users want more control to troubleshoot failed configuration transactions:
tnsr# configure tnsr(config)# no cli option auto-discard
When auto-discard is disabled, if a configuration commit fails the candidate database retains the faulty configuration data. Further configuration commands may apply additional changes to the candidate database. However, until the configuration data which caused the failure is removed or set to a value which can be successfully applied, no further commit will succeed.
Disabling the auto-discard feature only persists for the duration of the current CLI session in which it was disabled. At the start of a new CLI session, auto-discard will again be enabled by default.
To view the status of the
auto-discard option, use
tnsr# show cli Discard erred candidate database: true
A faulty candidate can be viewed with the
show configuration candidate
command, as described in Configuration Database
There are three approaches to rectify this situation:
Issue alternate commands that directly correct the faulty configuration.
Abandon the attempted configuration:
tnsr# configure tnsr(config)# configuration candidate discard
Remove the fault from the candidate configuration by reverting to the running configuration:
tnsr# configure tnsr(config)# configuration copy running candidate tnsr(config)# configuration candidate commit