- write configuration-mode enabled <true|false> (default false)
Enables sending the '[undo ]configuration exclusive' command.
- write configuration-mode exclusive <true|false> (default false)
Set to true to send 'configuration exclusive' command after system-view enter and 'undo configuration exclusive' after commit.
Set to false to send 'undo configuration exclusive'
- write remove-and-redeploy-bgp-peer <true|false> (default false)
Enable this to remove the bgp peer and re-add it, when the ipv4-family unicast peer group is changed.
Doing this, clears the bgp configuration and redeploys it, including the ipv4-family unicast configuration,
and avoids that the device sets default values for "route-policy export" and "default-route-advertise", causing
out-of-sync.
The outstanding configs from the above is a default behaviour of Huawei VRP, such that when peer group is changed,
it will try to compare the attributes of current peer group and the last one and try to add back those from the
last peer group which is not present in the current one.
E.g:
```
config
bgp 7545
ipv4-family unicast
peer 123.123.123.123 enable
peer 123.123.123.123 group INTERNET-FULL
peer 123.123.123.123 route-policy INT_BLOCK_ALL export
peer 123.123.123.123 route-policy INT_BGP_IMPORT_BF295158 import
peer 123.123.123.123 default-route-advertise route-policy INT_SEND_DEFAULT
!
!
```
In this case, route-policy INT_BLOCK_ALL export and default-route-advertise route-policy INT_SEND_DEFAULT are
only available in INTERNET-DEFAULTONLY so they are added back directly under the peer.
“peer 123.123.123.123 route-policy INT_BGP_IMPORT_BF295158 import” is not affected because initially it’s
configured to the peer directly.
In order to have a clear cut and not trying to let the device add back the diff of attributes back to the peer,
the only workaround is to remove the peer from the ipv4 address family and add it back starting from the bgp level,
following by enabling it in ipv4 address family and the original attributes around it.
Default: false. This means that there is a remove-before-change behavior.
- write commit-before-ethTrunk-set <true|false> (default false)
Set this to true to inject a "commit" command before setting a physical interface to a eth-trunk.
This is useful when, in the same transaction, the Eth-Trunk interface is created and a
physical interface is assigned to it. The commit is needed because the device throws an error if the
Eth-Trunk is not saved at the momment of assigning it.
Note that the error message that the device throws is not very clear and might suggest some other
part of configuration that is missing
Note that when this is enabled, in some scenarios the intermediary commit might lead to connectivity
loss in a large transaction where for example the configuration regarding connecticity to the device is
changed and is expected to be changed in the same device commit to keep connection the whole time.
An unexpected commit in the middle of this might break the connectivity to the device.
Warning! Use with caution.
Using this intermediary commit, means that NSO is not in charge of the
commit, but only the NED. This path is dangerous as any problems at that
commit will have to be handle only by the Ned (that handles only known scenarios).
As NSO/service is not aware of the intermediary commit, that is also
added at abort, unforeseen things might happen, without NSO being able to properly recover.
Workaround available: disable intermediary commit(default false), and use 2
dedicated transactions for eth-trunk setting.
- write ranged-leaf-as-list <true|false> (default false)
Enable vlan ranged list a...b as opposed to a leaf <a to b>.
Applied to vlans in the following Yang paths:
- // interface * / dot1q termination *
- // interface * / traffic-policy *
- // interface * / qinq termination pe-vid * ce-vid *
NOTE: only these paths are supported for auto-expansion of the range, other paths, that use the same format, will be ignored.
Enable this to make NSO list ranges aware in cases where the ranged is specified as a leaf or two, of format <a to b>.
When this is enabled, the NSO format will stop to be <a to b> (only the device format will be that way), and every
entry within the range must be set one by one.
When this is set to false (default), NSO is not aware of the range, hence any modify operations within the range will
be considered as a new entry and not as an operation over existing entry and not triggering remove-before-change
behavior - if present.
WARNING: enabling this will lead to multiple additional lines in the configuration input (up to 4096 lines for vlan range 1 to 4096),
which might be a problem for large ranges (e.g: qinq termination pe-vid * ce-vid * with 4096x4096 entries) leading
to huge XML files. Use with caution.
E.g for a vlan range 1 to 4096, the input is requiring all 4096 lines.
When disabled, the input requires the range format - one line - as "1 to 4096".
For this to take effect, a sync-from is required after setting it.
Default = false
Example with /interface */traffic-policy:
Default behavior: ranged-leaf-as-list = false:
admin@ncs(config-GigabitEthernet-0/2/9)# traffic-policy tp-1 inbound vlan ?
Possible completions:
<TEXT> VLAN IDs, quoted with "" if multiple entries
Show:
traffic-policy tp-1 inbound vlan "3580 to 3584"
Changing behavior to list, the vlan data type is set to integer:
#ned-settings huawei-vrp write ranged-leaf-as-list true
#commit
#sync-from
admin@ncs(config-GigabitEthernet-0/2/9)# traffic-policy tp-1 inbound vlan ?
Possible completions:
<INTEGER> VLAN IDs
Show:
traffic-policy tp-1 inbound vlan 3580
traffic-policy tp-1 inbound vlan 3581
traffic-policy tp-1 inbound vlan 3582
traffic-policy tp-1 inbound vlan 3583
traffic-policy tp-1 inbound vlan 3584
Example with /interface */ qinq termination pe-vid * ce-vid *:
Instead of default behavior, where the ranges are specified as `to` leafs:
qinq termination pe-vid 3482 to 3488 ce-vid 1035 to 1037
When using the ranged-leaf-as-list = true, the input is expanded to a list
of all entries within the ranges. As this is a list within a list construct,
the expansion done in a nested way, hence the output is:
qinq termination pe-vid 3482 ce-vid 1035
qinq termination pe-vid 3482 ce-vid 1036
qinq termination pe-vid 3482 ce-vid 1037
qinq termination pe-vid 3483 ce-vid 1035
qinq termination pe-vid 3483 ce-vid 1036
qinq termination pe-vid 3483 ce-vid 1037
qinq termination pe-vid 3484 ce-vid 1035
qinq termination pe-vid 3484 ce-vid 1036
qinq termination pe-vid 3484 ce-vid 1037
qinq termination pe-vid 3485 ce-vid 1035
qinq termination pe-vid 3485 ce-vid 1036
qinq termination pe-vid 3485 ce-vid 1037
qinq termination pe-vid 3486 ce-vid 1035
qinq termination pe-vid 3486 ce-vid 1036
qinq termination pe-vid 3486 ce-vid 1037
qinq termination pe-vid 3487 ce-vid 1035
qinq termination pe-vid 3487 ce-vid 1036
qinq termination pe-vid 3487 ce-vid 1037
qinq termination pe-vid 3488 ce-vid 1035
qinq termination pe-vid 3488 ce-vid 1036
qinq termination pe-vid 3488 ce-vid 1037
NOTE: Set this to avoid destroying per-VLAN backpointers and refcounters.
Without it, as the NED is not range aware, it will cause orphaned VLANs and
configuration drift when individual service instances sharing a compacted range are deleted.
NOTE: this is the oposite behavior of ENCAP_VLAN_AS_LEAF option
- write lock-local-user <true|false> (default false)
Will trigger exception if NSO output contains aaa/local-user{ned-user}.
- write memory-setting <enum> (default persist)
Select the config persistence method for Huawei device (default is 'persist').
persist - Save device config to persistent storage as part of NCS transaction (default).
none - Never save config on device as part of NCS transaction.
- write commit-trial-seconds <INTEGER<0|60-65535>> (default 0)
Set to >= 60 to use commit trial <seconds> along with a
confirming commit when transaction is done, utilizing the
implict rollback on revert by calling abort trial.
- write commit-trial-seconds-wait <INTEGER<0-65535>> (default 0)
Time for system running on a trial basis waits until commit after trial. 0 to disable
(default).
- write disable-alt-no-syntax <true|false> (default false)
This setting can be used to disable the alternative syntax used to delete some nodes on some
VRP versions. The nodes affected are marked in yang-model with meta-data 'vrp-alt-no-syntax'.
When enabled (default on vrp OS version > 5.16)) some tokens/values will be stripped when
deleted. Use this setting to disable stripping. Default false.
- write disable-redeploy-on-change <true|false> (default false)
This setting can be used to disable the vrp cli extension vrp:redeploy-on-change, which
updates the NSO output by redeployingconfiguration being reset on device by another config
change. Default false.
- write disable-if-qos-queue-reset-percentage <true|false> (default false)
This settings can be used to disable the vrp cli extensionvrp:qos-queue-reset-percentage,
which updates the NSO output toset percentage to 0 before setting the value present in CDB.
Default false.
- write disable-suppress-vlan-delete <true|false> (default false)
This settings can be used to disable the vrp cli extension vrp:suppress-vlan-delete. The
extension updates the NSO output to suppress the removal of vlan list entries, since an empty
entry is not displayed on device and the command affects vlan batch leaf-list. Default false.
- write disable-redeploy-route-policy-if-match-on-ip-ip-prefix-change <true|false> (default false)
This settings can be used to disable the vrp cli
extensionredeploy-route-policy-if-match-on-ip-ip-prefix-change. Default false.
- write suppress-interface-portswitch-command <true|false> (default false)
This settings can be used to instruct the ned to suppress thesending of interface portswitch
commands. Default false.
- write enable-updated-interface-qos-profile <true|false> (default false)
This settings can be used to instruct the ned to support the updated interface qos-profile
legacy model from v6.28. Default false.
- write force-redeploy-vsi-on-id-change <true|false> (default true)
This settings can be used to instruct the ned to redeploy vsi config even if vsi id has not
changed. Default true.
- write range-syntax-command-len <uint16> (default 90)
This settings is used to split a NSO command line into
multiple device commands, when the number of parameters is too high and
the device reports an error about it (ussually in ranged lists). Disabled with 0.
Default 90
- write rollback enable <true|false> (default false)
Enable use of rollback command.