summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-06-16 20:24:44 +0200
committerChristian Breunig <christian@breunig.cc>2026-06-16 20:24:44 +0200
commitfa853ed8f25b5b9bf396d6e819b2c6259e7f5f42 (patch)
tree9ee5a9c573512f393384d5adc9211457915a3bac /src/conf_mode
parent4fb32bc179127691f40c8e93c55877aa76f10416 (diff)
downloadvyos-1x-fa853ed8f25b5b9bf396d6e819b2c6259e7f5f42.tar.gz
vyos-1x-fa853ed8f25b5b9bf396d6e819b2c6259e7f5f42.zip
T8923: normalize "can not" to "cannot"
Replace two-word "can not" / "Can not" with "cannot" across comments, ConfigError messages, CLI help text, and op-mode output. Standard SNMP MIB files under mibs/ are left unchanged.
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/container.py10
-rwxr-xr-xsrc/conf_mode/interfaces_bonding.py2
-rwxr-xr-xsrc/conf_mode/interfaces_bridge.py4
-rwxr-xr-xsrc/conf_mode/interfaces_openvpn.py4
-rwxr-xr-xsrc/conf_mode/interfaces_pppoe.py2
-rwxr-xr-xsrc/conf_mode/interfaces_tunnel.py8
-rwxr-xr-xsrc/conf_mode/interfaces_vxlan.py4
-rwxr-xr-xsrc/conf_mode/interfaces_wireless.py2
-rw-r--r--src/conf_mode/load-balancing_haproxy.py2
-rwxr-xr-xsrc/conf_mode/netns.py2
-rwxr-xr-xsrc/conf_mode/policy.py6
-rwxr-xr-xsrc/conf_mode/protocols_bgp.py16
-rwxr-xr-xsrc/conf_mode/protocols_igmp-proxy.py2
-rwxr-xr-xsrc/conf_mode/protocols_isis.py6
-rwxr-xr-xsrc/conf_mode/protocols_ospf.py12
-rwxr-xr-xsrc/conf_mode/protocols_ospfv3.py2
-rwxr-xr-xsrc/conf_mode/protocols_rip.py4
-rwxr-xr-xsrc/conf_mode/protocols_ripng.py4
-rwxr-xr-xsrc/conf_mode/protocols_static.py2
-rwxr-xr-xsrc/conf_mode/qos.py4
-rwxr-xr-xsrc/conf_mode/service_conntrack-sync.py4
-rwxr-xr-xsrc/conf_mode/service_dhcp-server.py2
-rwxr-xr-xsrc/conf_mode/service_dns_forwarding.py2
-rwxr-xr-xsrc/conf_mode/service_ndp-proxy.py2
-rwxr-xr-xsrc/conf_mode/service_snmp.py6
-rwxr-xr-xsrc/conf_mode/service_webproxy.py6
-rwxr-xr-xsrc/conf_mode/system_console.py2
-rwxr-xr-xsrc/conf_mode/system_flow-accounting.py2
-rwxr-xr-xsrc/conf_mode/system_login.py4
-rwxr-xr-xsrc/conf_mode/system_option.py2
-rwxr-xr-xsrc/conf_mode/vpn_ipsec.py6
-rwxr-xr-xsrc/conf_mode/vrf.py2
32 files changed, 69 insertions, 69 deletions
diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py
index 19ff0da34..499097a12 100755
--- a/src/conf_mode/container.py
+++ b/src/conf_mode/container.py
@@ -190,9 +190,9 @@ def verify(container):
if ip_address(address) not in ip_network(network):
raise ConfigError(f'Used container address "{address}" not in network "{network}"!')
- # We can not use the first IP address of a network prefix as this is used by podman
+ # We cannot use the first IP address of a network prefix as this is used by podman
if ip_address(address) == ip_network(network)[1]:
- raise ConfigError(f'IP address "{address}" can not be used for a container, ' \
+ raise ConfigError(f'IP address "{address}" cannot be used for a container, ' \
'reserved for the container engine!')
if address in net_dict['address'].keys():
@@ -268,7 +268,7 @@ def verify(container):
if 'allow_host_networks' not in container_config and 'network' not in container_config:
raise ConfigError(f'Must either set "network" or "allow-host-networks" for container "{name}"!')
- # Can not set both allow-host-networks and network at the same time
+ # Cannot set both allow-host-networks and network at the same time
if {'allow_host_networks', 'network'} <= set(container_config):
raise ConfigError(
f'"allow-host-networks" and "network" for "{name}" cannot be both configured at the same time!')
@@ -337,12 +337,12 @@ def verify(container):
# Verify VRF exists
verify_vrf(network_config)
- # A network attached to a container can not be deleted
+ # A network attached to a container cannot be deleted
if {'network_remove', 'name'} <= set(container):
for network in container['network_remove']:
for c, c_config in container['name'].items():
if 'network' in c_config and network in c_config['network']:
- raise ConfigError(f'Can not remove network "{network}", used by container "{c}"!')
+ raise ConfigError(f'Cannot remove network "{network}", used by container "{c}"!')
if 'registry' in container:
for registry, registry_config in container['registry'].items():
diff --git a/src/conf_mode/interfaces_bonding.py b/src/conf_mode/interfaces_bonding.py
index 55581d6ad..fc3c05d3e 100755
--- a/src/conf_mode/interfaces_bonding.py
+++ b/src/conf_mode/interfaces_bonding.py
@@ -211,7 +211,7 @@ def verify(bond):
error_msg = f'Cannot add interface "{interface}" to bond, '
if interface == 'lo':
- raise ConfigError('Loopback interface "lo" can not be added to a bond')
+ raise ConfigError('Loopback interface "lo" cannot be added to a bond')
if not interface_exists(interface):
raise ConfigError(error_msg + 'it does not exist!')
diff --git a/src/conf_mode/interfaces_bridge.py b/src/conf_mode/interfaces_bridge.py
index 206d89d84..6b574639e 100755
--- a/src/conf_mode/interfaces_bridge.py
+++ b/src/conf_mode/interfaces_bridge.py
@@ -159,7 +159,7 @@ def verify(bridge):
error_msg = f'Cannot add interface "{interface}" to bridge, '
if interface == 'lo':
- raise ConfigError('Loopback interface "lo" can not be added to a bridge')
+ raise ConfigError('Loopback interface "lo" cannot be added to a bridge')
if 'is_bridge_member' in interface_config:
tmp = next(iter(interface_config['is_bridge_member']))
@@ -188,7 +188,7 @@ def verify(bridge):
else:
for option in ['allowed_vlan', 'native_vlan']:
if option in interface_config:
- raise ConfigError('Can not use VLAN options on non VLAN aware bridge')
+ raise ConfigError('Cannot use VLAN options on non VLAN aware bridge')
if interface.startswith('vtun') and not interface_config['valid_ovpn']:
raise ConfigError(error_msg + 'OpenVPN device-type must be set to "tap"')
diff --git a/src/conf_mode/interfaces_openvpn.py b/src/conf_mode/interfaces_openvpn.py
index d6b63ae2a..ea5cdd839 100755
--- a/src/conf_mode/interfaces_openvpn.py
+++ b/src/conf_mode/interfaces_openvpn.py
@@ -146,7 +146,7 @@ def get_config(config=None):
openvpn['client_only_changed'] = _only_client_config_changed(conf, base, ifname)
# We have to get the dict using 'get_config_dict' instead of 'get_interface_dict'
- # as 'get_interface_dict' merges the defaults in, so we can not check for defaults in there.
+ # as 'get_interface_dict' merges the defaults in, so we cannot check for defaults in there.
tmp = conf.get_config_dict(base + [openvpn['ifname']], get_first_key=True)
# We have to cleanup the config dict, as default values could enable features
@@ -379,7 +379,7 @@ def verify(openvpn):
raise ConfigError('"local-address" cannot be the same as "local-host"')
if dict_search('remote_host', openvpn) in dict_search('remote_address', openvpn):
- raise ConfigError('"remote-address" and "remote-host" can not be the same')
+ raise ConfigError('"remote-address" and "remote-host" cannot be the same')
if openvpn['device_type'] == 'tap' and 'local_address' in openvpn:
# we can only have one local_address, this is ensured above
diff --git a/src/conf_mode/interfaces_pppoe.py b/src/conf_mode/interfaces_pppoe.py
index 1fb2b7278..1a405e6b6 100755
--- a/src/conf_mode/interfaces_pppoe.py
+++ b/src/conf_mode/interfaces_pppoe.py
@@ -86,7 +86,7 @@ def verify(pppoe):
verify_mirror_redirect(pppoe)
if {'connect_on_demand', 'vrf'} <= set(pppoe):
- raise ConfigError('On-demand dialing and VRF can not be used at the same time')
+ raise ConfigError('On-demand dialing and VRF cannot be used at the same time')
# both MTU and MRU have default values, thus we do not need to check
# if the key exists
diff --git a/src/conf_mode/interfaces_tunnel.py b/src/conf_mode/interfaces_tunnel.py
index 053c831d1..6e50d778a 100755
--- a/src/conf_mode/interfaces_tunnel.py
+++ b/src/conf_mode/interfaces_tunnel.py
@@ -85,7 +85,7 @@ def verify(tunnel):
verify_bridge_delete(tunnel)
if 'nhrp' in tunnel and tunnel['ifname'] in tunnel['nhrp']:
- raise ConfigError('Tunnel used for NHRP, it can not be deleted!')
+ raise ConfigError('Tunnel used for NHRP, it cannot be deleted!')
return None
if 'nhrp' in tunnel:
@@ -148,7 +148,7 @@ def verify(tunnel):
their_source_if = dict_search('source_interface', o_tunnel_conf)
our_remote = dict_search('remote', tunnel)
their_remote = dict_search('remote', o_tunnel_conf)
- # If no IP GRE key is defined we can not have more then one GRE tunnel
+ # If no IP GRE key is defined we cannot have more then one GRE tunnel
# bound to any one interface/IP address and the same remote. This will
# result in a OS PermissionError: add tunnel "gre0" failed: File exists
if our_remote == their_remote:
@@ -186,7 +186,7 @@ def verify(tunnel):
if dict_search('parameters.ip.ttl', tunnel) != '0':
raise ConfigError('Disabled PMTU requires TTL set to "0"!')
if tunnel['encapsulation'] in ['ipip6', 'ip6ip6', 'ip6gre']:
- raise ConfigError('Can not disable PMTU discovery for given encapsulation')
+ raise ConfigError('Cannot disable PMTU discovery for given encapsulation')
if dict_search('parameters.ip.ignore_df', tunnel) != None:
if tunnel['encapsulation'] not in ['gretap']:
@@ -201,7 +201,7 @@ def generate(tunnel):
def apply(tunnel):
interface = tunnel['ifname']
- # If a gretap tunnel is already existing we can not "simply" change local or
+ # If a gretap tunnel is already existing we cannot "simply" change local or
# remote addresses. This returns "Operation not supported" by the Kernel.
# There is no other solution to destroy and recreate the tunnel.
encap = ''
diff --git a/src/conf_mode/interfaces_vxlan.py b/src/conf_mode/interfaces_vxlan.py
index 819920009..86e885807 100755
--- a/src/conf_mode/interfaces_vxlan.py
+++ b/src/conf_mode/interfaces_vxlan.py
@@ -114,7 +114,7 @@ def verify(vxlan):
if dict_search('parameters.external', vxlan) != None:
if 'vni' in vxlan:
- raise ConfigError('Can not specify both "external" and "VNI"!')
+ raise ConfigError('Cannot specify both "external" and "VNI"!')
if 'other_tunnels' in vxlan:
# When multiple VXLAN interfaces are defined and "external" is used,
@@ -173,7 +173,7 @@ def verify(vxlan):
protocol = 'ipv4'
if 'remote' in vxlan:
- error_msg = 'Can not mix both IPv4 and IPv6 for VXLAN underlay'
+ error_msg = 'Cannot mix both IPv4 and IPv6 for VXLAN underlay'
for remote in vxlan['remote']:
if is_ipv6(remote):
if protocol == 'ipv4':
diff --git a/src/conf_mode/interfaces_wireless.py b/src/conf_mode/interfaces_wireless.py
index 68aa71474..f7d4cd7c9 100755
--- a/src/conf_mode/interfaces_wireless.py
+++ b/src/conf_mode/interfaces_wireless.py
@@ -105,7 +105,7 @@ def get_config(config=None):
if wifi.from_defaults(['security', 'wpa']): # if not set by user
del wifi['security']['wpa']
- # XXX: Jinja2 can not operate on a dictionary key when it starts of with a number
+ # XXX: Jinja2 cannot operate on a dictionary key when it starts of with a number
if '40mhz_incapable' in (dict_search('capabilities.ht', wifi) or []):
wifi['capabilities']['ht']['fourtymhz_incapable'] = wifi['capabilities']['ht']['40mhz_incapable']
del wifi['capabilities']['ht']['40mhz_incapable']
diff --git a/src/conf_mode/load-balancing_haproxy.py b/src/conf_mode/load-balancing_haproxy.py
index 2a4f206f5..0f31880ba 100644
--- a/src/conf_mode/load-balancing_haproxy.py
+++ b/src/conf_mode/load-balancing_haproxy.py
@@ -119,7 +119,7 @@ def verify(lb):
if 'http_check' in back_config:
http_check = back_config['http_check']
if 'expect' in http_check and 'status' in http_check['expect'] and 'string' in http_check['expect']:
- raise ConfigError('"expect status" and "expect string" can not be configured together!')
+ raise ConfigError('"expect status" and "expect string" cannot be configured together!')
if 'health_check' in back_config:
if back_config['mode'] != 'tcp':
diff --git a/src/conf_mode/netns.py b/src/conf_mode/netns.py
index 5a3c4e7fa..c9aeeb440 100755
--- a/src/conf_mode/netns.py
+++ b/src/conf_mode/netns.py
@@ -74,7 +74,7 @@ def verify(netns):
if 'netns_remove' in netns:
for name, config in netns['netns_remove'].items():
if 'interface' in config:
- raise ConfigError(f'Can not remove network namespace "{name}", it '\
+ raise ConfigError(f'Cannot remove network namespace "{name}", it '\
f'still has member interfaces!')
if 'name' in netns:
diff --git a/src/conf_mode/policy.py b/src/conf_mode/policy.py
index 171ef23fd..e92c273f7 100755
--- a/src/conf_mode/policy.py
+++ b/src/conf_mode/policy.py
@@ -30,7 +30,7 @@ from vyos import airbag
airbag.enable()
# Sanity checks for large-community-list regex:
-# * Require complete 3-tuples, no blank members. Catch missed & doubled colons.
+# * Require complete 3-tuples, no blank members. Catch missed & doubled colons.
# * Permit appropriate community separators (whitespace, underscore)
# * Permit common regex between tuples while requiring at least one separator
# (eg, "1:1:1_.*_4:4:4", matching "1:1:1 4:4:4" and "1:1:1 2:2:2 4:4:4",
@@ -276,7 +276,7 @@ def verify(config_dict):
# When routing protocols are active some use prefix-lists, route-maps etc.
# to apply the systems routing policy to the learned or redistributed routes.
# When the "routing policy" changes and policies, route-maps etc. are deleted,
- # it is our responsibility to verify that the policy can not be deleted if it
+ # it is our responsibility to verify that the policy cannot be deleted if it
# is used by any routing protocol
# Check if any routing protocol is activated
if 'protocol' in policy:
@@ -293,7 +293,7 @@ def verify(config_dict):
if not found:
tmp = policy_type.replace('_', '-')
raise ConfigError(
- f'Can not delete {tmp} "{policy_name}", still in use!')
+ f'Cannot delete {tmp} "{policy_name}", still in use!')
return None
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py
index 53561a9a3..d562352f5 100755
--- a/src/conf_mode/protocols_bgp.py
+++ b/src/conf_mode/protocols_bgp.py
@@ -196,7 +196,7 @@ def verify(config_dict):
raise ConfigError(f'Cannot delete VRF instance "{vrf}", ' \
'unconfigure "import vrf" commands!')
else:
- # We are running in the default VRF context, thus we can not delete
+ # We are running in the default VRF context, thus we cannot delete
# our main BGP instance if there are dependent BGP VRF instances.
if 'dependent_vrfs' in bgp:
for vrf, vrf_options in bgp['dependent_vrfs'].items():
@@ -276,24 +276,24 @@ def verify(config_dict):
if len(peer_config['local_as']) > 1:
raise ConfigError(f'Only one local-as number can be specified for peer "{peer}"!')
- # Neighbor local-as override can not be the same as the local-as
+ # Neighbor local-as override cannot be the same as the local-as
# we use for this BGP instance!
asn = list(peer_config['local_as'].keys())[0]
if asn == bgp['system_as']:
raise ConfigError('Cannot have local-as same as system-as number')
- # Neighbor AS specified for local-as and remote-as can not be the same
+ # Neighbor AS specified for local-as and remote-as cannot be the same
if dict_search('remote_as', peer_config) == asn and neighbor != 'peer_group':
raise ConfigError(f'Neighbor "{peer}" has local-as specified which is '\
'the same as remote-as, this is not allowed!')
# ttl-security and ebgp-multihop can't be used in the same configuration
if 'ebgp_multihop' in peer_config and 'ttl_security' in peer_config:
- raise ConfigError('You can not set both ebgp-multihop and ttl-security hops')
+ raise ConfigError('You cannot set both ebgp-multihop and ttl-security hops')
# interface and ebgp-multihop can't be used in the same configuration
if 'ebgp_multihop' in peer_config and 'interface' in peer_config:
- raise ConfigError(f'Ebgp-multihop can not be used with directly connected '\
+ raise ConfigError(f'Ebgp-multihop cannot be used with directly connected '\
f'neighbor "{peer}"')
# Check if neighbor has both override capability and strict capability match
@@ -361,7 +361,7 @@ def verify(config_dict):
vrf_error_msg = f' in VRF "{vrf}"!'
if is_ip(peer) and is_addr_assigned(peer, vrf):
- raise ConfigError(f'Can not configure local address as neighbor "{peer}"{vrf_error_msg}')
+ raise ConfigError(f'Cannot configure local address as neighbor "{peer}"{vrf_error_msg}')
elif is_interface(peer):
if 'peer_group' in peer_config:
raise ConfigError(f'peer-group must be set under the interface node of "{peer}"')
@@ -405,7 +405,7 @@ def verify(config_dict):
'conditionally-advertise is in use!')
if {'exist_map', 'non_exist_map'} <= set(afi_config['conditionally_advertise']):
- raise ConfigError('Can not specify both exist-map and non-exist-map for ' \
+ raise ConfigError('Cannot specify both exist-map and non-exist-map for ' \
'conditionally-advertise!')
if 'exist_map' in afi_config['conditionally_advertise']:
@@ -455,7 +455,7 @@ def verify(config_dict):
# Throw an error if a peer group is not configured for allow range
for prefix in dict_search('listen.range', bgp) or []:
- # we can not use dict_search() here as prefix contains dots ...
+ # we cannot use dict_search() here as prefix contains dots ...
if 'peer_group' not in bgp['listen']['range'][prefix]:
raise ConfigError(f'Listen range for prefix "{prefix}" has no peer group configured.')
diff --git a/src/conf_mode/protocols_igmp-proxy.py b/src/conf_mode/protocols_igmp-proxy.py
index 7f53882b0..0da523af4 100755
--- a/src/conf_mode/protocols_igmp-proxy.py
+++ b/src/conf_mode/protocols_igmp-proxy.py
@@ -56,7 +56,7 @@ def verify(igmp_proxy):
return None
if 'igmp_configured' in igmp_proxy or 'pim_configured' in igmp_proxy:
- raise ConfigError('Can not configure both IGMP proxy and PIM '\
+ raise ConfigError('Cannot configure both IGMP proxy and PIM '\
'at the same time')
# at least two interfaces are required, one upstream and one downstream
diff --git a/src/conf_mode/protocols_isis.py b/src/conf_mode/protocols_isis.py
index 3812515a1..67c13418d 100755
--- a/src/conf_mode/protocols_isis.py
+++ b/src/conf_mode/protocols_isis.py
@@ -92,7 +92,7 @@ def verify(config_dict):
raise ConfigError(f'Interface "{interface}" is not a member of VRF "{vrf}"!')
# Fast reroute validation
- # LFA and TI-LFA of the same level can not be configured on the same interface
+ # LFA and TI-LFA of the same level cannot be configured on the same interface
# To configure Remote LFA, LFA of the same level should be configured on this interface.
if 'fast_reroute' in interface_config:
isis_frr_config = interface_config['fast_reroute']
@@ -103,7 +103,7 @@ def verify(config_dict):
and (dict_search(f'ti_lfa.{isis_level}', isis_frr_config) is not None)):
raise ConfigError(
f'LFA and TI-LFA at the "{str(isis_level).replace("_","-")}" '
- f'can not be configured on the same interface "{interface}"!')
+ f'cannot be configured on the same interface "{interface}"!')
if 'remote_lfa' in isis_frr_config:
for isis_level in levels:
if ((dict_search(f'remote_lfa.{isis_level}', isis_frr_config) is not None)
@@ -146,7 +146,7 @@ def verify(config_dict):
for redistr_level, redistr_config in proto_config.items():
if proc_level and proc_level != 'level_1_2' and proc_level != redistr_level:
raise ConfigError(f'"protocols isis redistribute {afi} {proto} {redistr_level}" ' \
- f'can not be used with \"protocols isis level {proc_level}\"!')
+ f'cannot be used with \"protocols isis level {proc_level}\"!')
# Segment routing checks
if dict_search('segment_routing.global_block', isis):
diff --git a/src/conf_mode/protocols_ospf.py b/src/conf_mode/protocols_ospf.py
index b20cea25a..33eb4a762 100755
--- a/src/conf_mode/protocols_ospf.py
+++ b/src/conf_mode/protocols_ospf.py
@@ -90,19 +90,19 @@ def verify(config_dict):
if 'interface' in ospf:
for interface, interface_config in ospf['interface'].items():
verify_interface_exists(ospf, interface)
- # One can not use dead-interval and hello-multiplier at the same
+ # One cannot use dead-interval and hello-multiplier at the same
# time. FRR will only activate the last option set via CLI.
if {'hello_multiplier', 'dead_interval'} <= set(interface_config):
- raise ConfigError(f'Can not use hello-multiplier and dead-interval ' \
+ raise ConfigError(f'Cannot use hello-multiplier and dead-interval ' \
f'concurrently for {interface}!')
- # One can not use the "network <prefix> area <id>" command and an
+ # One cannot use the "network <prefix> area <id>" command and an
# per interface area assignment at the same time. FRR will error
# out using: "Please remove all network commands first."
if 'area' in ospf and 'area' in interface_config:
for area, area_config in ospf['area'].items():
if 'network' in area_config:
- raise ConfigError('Can not use OSPF "interface area" and ' \
+ raise ConfigError('Cannot use OSPF "interface area" and ' \
'"area network" configuration at the same time!')
# FRR only allows a single authentication mode (MD5, NULL or plaintext)
@@ -111,7 +111,7 @@ def verify(config_dict):
auth_keys = set(interface_config['authentication'])
exclusive_auth_keys = {'md5', 'null', 'plaintext_password'}
if len(auth_keys & exclusive_auth_keys) >= 2:
- raise ConfigError('Can not use multiple authentication modes '
+ raise ConfigError('Cannot use multiple authentication modes '
f'simultaneously for interface "{interface}"!')
# If interface specific options are set, we must ensure that the
@@ -192,7 +192,7 @@ def verify(config_dict):
if 'summary_address' in ospf:
for prefix, prefix_options in ospf['summary_address'].items():
if {'tag', 'no_advertise'} <= set(prefix_options):
- raise ConfigError(f'Can not set both "tag" and "no-advertise" for Type-5 '\
+ raise ConfigError(f'Cannot set both "tag" and "no-advertise" for Type-5 '\
f'and Type-7 route summarisation of "{prefix}"!')
return None
diff --git a/src/conf_mode/protocols_ospfv3.py b/src/conf_mode/protocols_ospfv3.py
index acf6cadfb..04d4671f8 100755
--- a/src/conf_mode/protocols_ospfv3.py
+++ b/src/conf_mode/protocols_ospfv3.py
@@ -75,7 +75,7 @@ def verify(config_dict):
if 'ifmtu' in interface_config:
mtu = Interface(interface).get_mtu()
if int(interface_config['ifmtu']) > int(mtu):
- raise ConfigError(f'OSPFv3 ifmtu can not exceed physical MTU of "{mtu}"')
+ raise ConfigError(f'OSPFv3 ifmtu cannot exceed physical MTU of "{mtu}"')
# If interface specific options are set, we must ensure that the
# interface is bound to our requesting VRF. Due to the VyOS
diff --git a/src/conf_mode/protocols_rip.py b/src/conf_mode/protocols_rip.py
index c6adcde5b..315b02d59 100755
--- a/src/conf_mode/protocols_rip.py
+++ b/src/conf_mode/protocols_rip.py
@@ -62,10 +62,10 @@ def verify(config_dict):
for interface, interface_options in rip['interface'].items():
if 'authentication' in interface_options:
if {'md5', 'plaintext_password'} <= set(interface_options['authentication']):
- raise ConfigError('Can not use both md5 and plaintext-password at the same time!')
+ raise ConfigError('Cannot use both md5 and plaintext-password at the same time!')
if 'split_horizon' in interface_options:
if {'disable', 'poison_reverse'} <= set(interface_options['split_horizon']):
- raise ConfigError(f'You can not have "split-horizon poison-reverse" enabled ' \
+ raise ConfigError(f'You cannot have "split-horizon poison-reverse" enabled ' \
f'with "split-horizon disable" for "{interface}"!')
def generate(config_dict):
diff --git a/src/conf_mode/protocols_ripng.py b/src/conf_mode/protocols_ripng.py
index e5babf2e8..5e7aba6b6 100755
--- a/src/conf_mode/protocols_ripng.py
+++ b/src/conf_mode/protocols_ripng.py
@@ -62,10 +62,10 @@ def verify(config_dict):
for interface, interface_options in ripng['interface'].items():
if 'authentication' in interface_options:
if {'md5', 'plaintext_password'} <= set(interface_options['authentication']):
- raise ConfigError('Can not use both md5 and plaintext-password at the same time!')
+ raise ConfigError('Cannot use both md5 and plaintext-password at the same time!')
if 'split_horizon' in interface_options:
if {'disable', 'poison_reverse'} <= set(interface_options['split_horizon']):
- raise ConfigError(f'You can not have "split-horizon poison-reverse" enabled ' \
+ raise ConfigError(f'You cannot have "split-horizon poison-reverse" enabled ' \
f'with "split-horizon disable" for "{interface}"!')
def generate(config_dict):
diff --git a/src/conf_mode/protocols_static.py b/src/conf_mode/protocols_static.py
index d84cfd77f..0f3f735a7 100755
--- a/src/conf_mode/protocols_static.py
+++ b/src/conf_mode/protocols_static.py
@@ -77,7 +77,7 @@ def verify(config_dict):
verify_vrf(interface_config)
if {'blackhole', 'reject'} <= set(prefix_options):
- raise ConfigError(f'Can not use both blackhole and reject for '\
+ raise ConfigError(f'Cannot use both blackhole and reject for '\
f'prefix "{prefix}"!')
if 'multicast' in static and 'route' in static['multicast']:
diff --git a/src/conf_mode/qos.py b/src/conf_mode/qos.py
index 35b9c0aa2..e31c6b931 100755
--- a/src/conf_mode/qos.py
+++ b/src/conf_mode/qos.py
@@ -208,12 +208,12 @@ def _verify_match(cls_config: dict) -> None:
filters = set(match_config)
if {'ip', 'ipv6'} <= filters:
raise ConfigError(
- f'Can not use both IPv6 and IPv4 in one match ({match})!')
+ f'Cannot use both IPv6 and IPv4 in one match ({match})!')
if {'interface', 'vif'} & filters:
if {'ip', 'ipv6', 'ether'} & filters:
raise ConfigError(
- f'Can not combine protocol and interface or vlan tag match ({match})!')
+ f'Cannot combine protocol and interface or vlan tag match ({match})!')
def _verify_match_group_exist(cls_config, qos):
diff --git a/src/conf_mode/service_conntrack-sync.py b/src/conf_mode/service_conntrack-sync.py
index 5eb4ca0e5..b069378c3 100755
--- a/src/conf_mode/service_conntrack-sync.py
+++ b/src/conf_mode/service_conntrack-sync.py
@@ -80,11 +80,11 @@ def verify(conntrack):
if has_peer:
for interface, interface_config in conntrack['interface'].items():
if 'peer' not in interface_config:
- raise ConfigError('Can not mix unicast and multicast mode!')
+ raise ConfigError('Cannot mix unicast and multicast mode!')
if 'expect_sync' in conntrack:
if len(conntrack['expect_sync']) > 1 and 'all' in conntrack['expect_sync']:
- raise ConfigError('Can not configure expect-sync "all" with other protocols!')
+ raise ConfigError('Cannot configure expect-sync "all" with other protocols!')
if 'listen_address' in conntrack:
for address in conntrack['listen_address']:
diff --git a/src/conf_mode/service_dhcp-server.py b/src/conf_mode/service_dhcp-server.py
index 24df20bb7..bb38a088a 100755
--- a/src/conf_mode/service_dhcp-server.py
+++ b/src/conf_mode/service_dhcp-server.py
@@ -136,7 +136,7 @@ def dhcp_slice_range(exclude_list, range_dict):
# the exclude address
range_start = str(ip_address(e) + 1)
- # on subsequent exclude addresses we can not
+ # on subsequent exclude addresses we cannot
# append them to our output
if not (ip_address(r['start']) > ip_address(r['stop'])):
# Everything is fine, add range to result
diff --git a/src/conf_mode/service_dns_forwarding.py b/src/conf_mode/service_dns_forwarding.py
index cd0c6a38a..af02f82cc 100755
--- a/src/conf_mode/service_dns_forwarding.py
+++ b/src/conf_mode/service_dns_forwarding.py
@@ -249,7 +249,7 @@ def verify(dns):
if 'allow_from' not in dns:
raise ConfigError('DNS forwarding requires an allow-from network')
- # we can not use dict_search() when testing for domain servers
+ # we cannot use dict_search() when testing for domain servers
# as a domain will contains dot's which is out dictionary delimiter.
if 'domain' in dns:
for domain in dns['domain']:
diff --git a/src/conf_mode/service_ndp-proxy.py b/src/conf_mode/service_ndp-proxy.py
index 672f98c71..696c7bde5 100755
--- a/src/conf_mode/service_ndp-proxy.py
+++ b/src/conf_mode/service_ndp-proxy.py
@@ -74,7 +74,7 @@ def verify(ndpp):
continue
if prefix_interface:
- raise ConfigError(f'Prefix "{prefix}" does not use interface mode, thus interface can not be defined!')
+ raise ConfigError(f'Prefix "{prefix}" does not use interface mode, thus interface cannot be defined!')
return None
diff --git a/src/conf_mode/service_snmp.py b/src/conf_mode/service_snmp.py
index 00993d269..4387ee73e 100755
--- a/src/conf_mode/service_snmp.py
+++ b/src/conf_mode/service_snmp.py
@@ -158,7 +158,7 @@ def verify(snmp):
return None
if {'deleted', 'lldp_snmp'} <= set(snmp):
- raise ConfigError('Can not delete SNMP service, as LLDP still uses SNMP!')
+ raise ConfigError('Cannot delete SNMP service, as LLDP still uses SNMP!')
### check if the configured script actually exist
if 'script_extensions' in snmp and 'extension_name' in snmp['script_extensions']:
@@ -235,13 +235,13 @@ def verify(snmp):
raise ConfigError(f'Must specify one of authentication encrypted-password or plaintext-password for trap "{trap}"!')
if {'plaintext_password', 'encrypted_password'} <= set(trap_config['auth']):
- raise ConfigError(f'Can not specify both authentication encrypted-password and plaintext-password for trap "{trap}"!')
+ raise ConfigError(f'Cannot specify both authentication encrypted-password and plaintext-password for trap "{trap}"!')
if 'plaintext_password' not in trap_config['privacy'] and 'encrypted_password' not in trap_config['privacy']:
raise ConfigError(f'Must specify one of privacy encrypted-password or plaintext-password for trap "{trap}"!')
if {'plaintext_password', 'encrypted_password'} <= set(trap_config['privacy']):
- raise ConfigError(f'Can not specify both privacy encrypted-password and plaintext-password for trap "{trap}"!')
+ raise ConfigError(f'Cannot specify both privacy encrypted-password and plaintext-password for trap "{trap}"!')
if 'type' not in trap_config:
raise ConfigError('SNMP v3 trap "type" must be specified!')
diff --git a/src/conf_mode/service_webproxy.py b/src/conf_mode/service_webproxy.py
index eb45f8fcb..a5a85eecc 100755
--- a/src/conf_mode/service_webproxy.py
+++ b/src/conf_mode/service_webproxy.py
@@ -154,7 +154,7 @@ def verify(proxy):
for address, config in proxy['listen_address'].items():
if ldap_auth and 'disable_transparent' not in config:
- raise ConfigError('Authentication can not be configured when ' \
+ raise ConfigError('Authentication cannot be configured when ' \
'proxy is in transparent mode')
if 'outgoing_address' in proxy:
@@ -176,11 +176,11 @@ def verify(proxy):
if 'password' in ldap_config and 'bind_dn' not in ldap_config:
raise ConfigError(
- 'LDAP password can not be set when base-dn is undefined!')
+ 'LDAP password cannot be set when base-dn is undefined!')
if 'bind_dn' in ldap_config and 'password' not in ldap_config:
raise ConfigError(
- 'LDAP bind DN can not be set without password!')
+ 'LDAP bind DN cannot be set without password!')
if 'base_dn' not in ldap_config:
raise ConfigError('LDAP base-dn must be set!')
diff --git a/src/conf_mode/system_console.py b/src/conf_mode/system_console.py
index 51c95fcac..22a4a371e 100755
--- a/src/conf_mode/system_console.py
+++ b/src/conf_mode/system_console.py
@@ -66,7 +66,7 @@ def verify(console):
# to its dynamic device file - and create a new dict entry for it.
by_bus_device = f'{by_bus_dir}/{device}'
# If the device name still starts with usbXXX no matching tty was found
- # and it can not be used as a serial interface
+ # and it cannot be used as a serial interface
if not os.path.isdir(by_bus_dir) or not os.path.exists(by_bus_device):
raise ConfigError(f'Device "{device}" does not support being used as tty')
if not is_tty(device, warning=True):
diff --git a/src/conf_mode/system_flow-accounting.py b/src/conf_mode/system_flow-accounting.py
index 3318ad465..070b022de 100755
--- a/src/conf_mode/system_flow-accounting.py
+++ b/src/conf_mode/system_flow-accounting.py
@@ -136,7 +136,7 @@ def verify(flow_config):
regex_filter = re.compile(v9v10_filter)
if not regex_filter.search(flow_config['netflow']['engine_id']):
raise ConfigError(
- f'Can not use NetFlow engine-id "{engine_id}" together '
+ f'Cannot use NetFlow engine-id "{engine_id}" together '
f'with NetFlow protocol version "{version}"!'
)
diff --git a/src/conf_mode/system_login.py b/src/conf_mode/system_login.py
index 537a87ae9..8ae2bc19a 100755
--- a/src/conf_mode/system_login.py
+++ b/src/conf_mode/system_login.py
@@ -138,11 +138,11 @@ def verify(login):
if 'user' in login:
system_users = get_local_passwd_entries()
for user, user_config in login['user'].items():
- # Linux system users range up until UID 1000, we can not create a
+ # Linux system users range up until UID 1000, we cannot create a
# VyOS CLI user which already exists as system user
for s_user in system_users:
if s_user.pw_name == user and s_user.pw_uid < MIN_USER_UID:
- raise ConfigError(f'User "{user}" can not be created, conflict with local system account!')
+ raise ConfigError(f'User "{user}" cannot be created, conflict with local system account!')
plaintext_password = dict_search('authentication.plaintext_password', user_config)
if plaintext_password == DEFAULT_PASSWORD:
diff --git a/src/conf_mode/system_option.py b/src/conf_mode/system_option.py
index c1a62e7e7..2ea6bfd06 100755
--- a/src/conf_mode/system_option.py
+++ b/src/conf_mode/system_option.py
@@ -210,7 +210,7 @@ def verify(options):
if {'source_address', 'source_interface'} <= set(config):
raise ConfigError(
- 'Can not define both HTTP source-interface and source-address'
+ 'Cannot define both HTTP source-interface and source-address'
)
if 'source_address' in config:
diff --git a/src/conf_mode/vpn_ipsec.py b/src/conf_mode/vpn_ipsec.py
index f268f0861..78d5cbe83 100755
--- a/src/conf_mode/vpn_ipsec.py
+++ b/src/conf_mode/vpn_ipsec.py
@@ -442,14 +442,14 @@ def verify(ipsec):
if 'pool' in ra_conf:
if {'dhcp', 'radius'} <= set(ra_conf['pool']):
- raise ConfigError(f'Can not use both DHCP and RADIUS for address allocation '\
+ raise ConfigError(f'Cannot use both DHCP and RADIUS for address allocation '\
f'at the same time for "{name}"!')
if 'dhcp' in ra_conf['pool'] and len(ra_conf['pool']) > 1:
- raise ConfigError(f'Can not use DHCP and a predefined address pool for "{name}"!')
+ raise ConfigError(f'Cannot use DHCP and a predefined address pool for "{name}"!')
if 'radius' in ra_conf['pool'] and len(ra_conf['pool']) > 1:
- raise ConfigError(f'Can not use RADIUS and a predefined address pool for "{name}"!')
+ raise ConfigError(f'Cannot use RADIUS and a predefined address pool for "{name}"!')
for pool in ra_conf['pool']:
if pool == 'dhcp':
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py
index 405032ad5..e0dc43283 100755
--- a/src/conf_mode/vrf.py
+++ b/src/conf_mode/vrf.py
@@ -161,7 +161,7 @@ def verify(vrf):
# ensure VRF is not assigned to any interface
if 'vrf_remove' in vrf:
for name, config in vrf['vrf_remove'].items():
- err = f'Can not remove VRF "{name}",'
+ err = f'Cannot remove VRF "{name}",'
if 'interface' in config:
raise ConfigError(f'{err} it still has member interfaces!')
if 'route' in config: