summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2026-03-16 13:45:28 +0000
committerGitHub <noreply@github.com>2026-03-16 13:45:28 +0000
commit09b0dc15a74f45d95dcccd0241bcaed994992439 (patch)
tree7cb5614af52e5178dcf38f768eee7f220222b735
parentc550c01277ef22c1556aab380887744345a46c92 (diff)
parentc7522546fe6b975de593a0edc4672d043c3f72e3 (diff)
downloadvyos-1x-09b0dc15a74f45d95dcccd0241bcaed994992439.tar.gz
vyos-1x-09b0dc15a74f45d95dcccd0241bcaed994992439.zip
Merge pull request #5046 from jestabro/option-silence-validator-output
T8269: add option to silence individual validator output
-rw-r--r--interface-definitions/include/bgp/protocol-common-config.xml.i2
-rw-r--r--schema/interface_definition.rnc1
-rw-r--r--schema/interface_definition.rng5
-rwxr-xr-xscripts/build-command-templates4
4 files changed, 11 insertions, 1 deletions
diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i
index e859fe804..f4bcf1509 100644
--- a/interface-definitions/include/bgp/protocol-common-config.xml.i
+++ b/interface-definitions/include/bgp/protocol-common-config.xml.i
@@ -1036,6 +1036,8 @@
<validator name="ip-address"/>
#include <include/constraint/interface-name.xml.i>
</constraint>
+ <constraintSilenceOutput/>
+ <constraintErrorMessage>BGP neighbor must be one of: IP address, IPv6 address, or interface name</constraintErrorMessage>
</properties>
<children>
<node name="address-family">
diff --git a/schema/interface_definition.rnc b/schema/interface_definition.rnc
index a338b875f..bded5b0a6 100644
--- a/schema/interface_definition.rnc
+++ b/schema/interface_definition.rnc
@@ -96,6 +96,7 @@ properties = element properties
constraintGroup* &
valueHelp* &
(element constraintErrorMessage { text })? &
+ (element constraintSilenceOutput { empty })? &
completionHelp* &
# "docs" is used to store documentation for a node in a structured format
diff --git a/schema/interface_definition.rng b/schema/interface_definition.rng
index f36d95eed..cb9b46ecb 100644
--- a/schema/interface_definition.rng
+++ b/schema/interface_definition.rng
@@ -174,6 +174,11 @@
<text/>
</element>
</optional>
+ <optional>
+ <element name="constraintSilenceOutput">
+ <empty/>
+ </element>
+ </optional>
<zeroOrMore>
<ref name="completionHelp"/>
</zeroOrMore>
diff --git a/scripts/build-command-templates b/scripts/build-command-templates
index 5d4d27e8c..9e5576e6d 100755
--- a/scripts/build-command-templates
+++ b/scripts/build-command-templates
@@ -177,9 +177,11 @@ def get_properties(p, default=None):
for vcg in vcge:
group_validator_string = group_validator_string + " --grp " + collect_validators(vcg)
+ silent = " --silent" if p.findall("constraintSilenceOutput") else ""
+
if vce is not None or len(vcge):
validator_script = '${vyos_libexec_dir}/validate-value'
- validator_string = "exec \"{0} {1} {2} --value \\\'$VAR(@)\\\'\"; \"{3}\"".format(validator_script, distinct_validator_string, group_validator_string, error_msg)
+ validator_string = "exec \"{0} {1} {2} --value \\\'$VAR(@)\\\'{3}\"; \"{4}\"".format(validator_script, distinct_validator_string, group_validator_string, silent, error_msg)
props["constraint"] = validator_string