| Age | Commit message (Collapse) | Author | 
|---|
|  | Configtree functions delete/delete_value do not check return value of
libvyosconfig functions; raise error on non-zero return value. | 
|  |  | 
|  | process_named_running() was introduced in commit 16b2fc8fc4ca ("dns-forwarding:
T2298: fix path to control file") and thus remained more or less unchanged.
Smoketests use process_named_running() heavily and might spawn multiple
processes with the same name but ifferent options (e.g. dhcp6c or dhclient) and
it was yet not possible to properly filter on the "real-deal" like the process
bound to a given interface.
One can now optionally specify a string that is searched inside the command
line argument list of the process.
Example:
>>> process_named_running('dhcp6c', 'veth0')
['/usr/sbin/dhcp6c', '-D', '-k', '/run/dhcp6c/dhcp6c.veth0.sock', '-c',
 '/run/dhcp6c/dhcp6c.veth0.conf', '-p', '/run/dhcp6c/dhcp6c.veth0.pid', 'veth0']
4215
>>> process_named_running('dhcp6c', 'veth1')
['/usr/sbin/dhcp6c', '-D', '-k', '/run/dhcp6c/dhcp6c.veth1.sock', '-c',
 '/run/dhcp6c/dhcp6c.veth1.conf', '-p', '/run/dhcp6c/dhcp6c.veth1.pid', 'veth1']
4253
Where the debug list returned is the commandline searched. | 
|  | If non_local=False (default), cli_defined returns True if the node is a
child of the path in interface-definitions; otherwise True if node is a
descendent of the path. | 
|  | xml: T5218: revise vyos xml lib for bug fixes and extensions | 
|  | Operations get_defaults and get_config_defaults return default values
only for nodes with parent in the config dict (get_config_defaults) or
at the path (get_defaults). To include default values of decendent
nodes, set option recursive=True. | 
|  |  | 
|  | Revert "veth: T3829: Allow moving veth into netns" | 
|  | netns management for any Vyos interfaces doesn't work past the initial
creation, because Vyos always tries to recreate it/move it into the
netns even though it already exists. Until this is fixed, don't let
anyone even attempt to use this:
    set interfaces virtual-ethernet veth10 peer-name 'veth100'
    set interfaces virtual-ethernet veth100 netns 'ns01'
    set interfaces virtual-ethernet veth100 peer-name 'veth10'
    set netns name ns01
    commit
    vyos@r14# sudo ip netns exec ns01 ip link show
    1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    12: veth100@if13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether ee:8f:0b:bd:a2:f8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    [edit]
    vyos@r14#
    set interfaces virtual-ethernet veth100 description MyNetns
    commit
    Traceback (most recent call last):
      File "/usr/libexec/vyos/conf_mode/interfaces-virtual-ethernet.py", line 111, in <module>
        apply(c)
      File "/usr/libexec/vyos/conf_mode/interfaces-virtual-ethernet.py", line 101, in apply
        p.update(veth)
      File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 1413, in update
        self.set_netns(config.get('netns', ''))
      File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 552, in set_netns
        self.set_interface('netns', netns)
      File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 183, in set_interface
        return self._set_command(self.config, name, value)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 110, in _set_command
        return self._command_set[name].get('format', lambda _: _)(self._cmd(cmd))
                                                                  ^^^^^^^^^^^^^^
      File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 52, in _cmd
        return cmd(command, self.debug)
               ^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3/dist-packages/vyos/util.py", line 161, in cmd
        raise OSError(code, feedback)
    PermissionError: [Errno 1] failed to run command: ip link set dev veth100 netns ns01
    returned:
    exit code: 1
    noteworthy:
    cmd 'ip link set dev veth100 netns ns01'
    returned (out):
    returned (err):
    Cannot find device "veth100"
This reverts commit f5cc8453860568351cd9b3b7a05d06e1462460e8. | 
|  | There is no need for the backend code to call ethtool and try to change speed or
duplex settings every time there is a change in the interface configuration,
but no change for the speed/duplex subnodes. This also makes the commit itself
faster when working with ethernet interfaces.
Bonus: no repeating CLI messages that the driver does not support speed/duplex
changes, as we do not change anything here.
Extension to commit f2ecc9710 ("ethernet: T3891: honor auto-negotiation support
per NIC") | 
|  | This reverts commit dd59e375bee722c220c58b047ff5c6e533cc7a00. | 
|  | vrrp: T5215: fix the commit error when health check is not configured | 
|  |  | 
|  | that was replaced with Humps in all sciprts | 
|  | vyos.utils.dict.check_mutually_exclusive_options
on missing options error | 
|  |  | 
|  | veth: T3829: Allow moving veth into netns | 
|  | This makes netns infinitely more useful as they can be chained together
in many ways to build complex network structures all on the host.
Signed-off-by: Joe Groocock <me@frebib.net> | 
|  | vyos.utils: T5195: add vyos.utils.file | 
|  | vyos.utils: T5195: add vyos.utils.convert | 
|  | vyos.utils: T5195: add vyos.utils.io | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | Commit f2ecc9710d49 ("ethernet: T3891: honor auto-negotiation support per NIC")
added an if statement that always evaluated to True. | 
|  | Not all drivers/NICs or combination of NIC + transceiver support auto-
negotiation. The current auto-negotiation capability is evaluated and taken
into account when applying spped/duplex settings. If auto-negotiation is
not supported - we skip the setting to avoid errors during configuration. | 
|  | ... just oo many new lines for multiple Warnings. | 
|  |  | 
|  | Old functions still remain in vyos.util for now | 
|  |  | 
|  |  | 
|  | VLANIf('eth0.10').remove() will create and remove the VLAN in one command.
Thus one can ensure when calling remove() on a VLAN it will always
succeed. | 
|  | Fixed 'reset vpn ipsec profile' command
using vici library and new op-mode style.
Added ability to use 'reset vpn ipsec profile' command
with 'remote-host' option. | 
|  |  | 
|  |  | 
|  |  | 
|  | dhcp: pppoe: T5104: fix VRF comparisons | 
|  |  | 
|  | T5050: fix smoketest policy_route, which was failing after previos co… | 
|  | was merged | 
|  | T5050: Firewall: Add log options | 
|  |  | 
|  | T5055: NAT: extend packet-type to NAT | 
|  | in firewall, to NAT | 
|  | Exclude interfaces with 'veth' driver from duplex and speed check | 
|  | T5055: Firewall: add packet-type matcher in firewall and route policy | 
|  | Values of the list for the 'range_to_regex' could be not only range
values as ['10-20', '22-30'] but also and not range values like
['10-20', '30', '80']
Fix if we args is list and non range values are exists in ths list
  % range_to_regex(['10-20', '80'])
  '(1\\d|20|80)' | 
|  | graphql: T5068: generate client operations for code generation tools | 
|  | Fixed decoding of certificate value returned by vici
to UTF-8 string. |