summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-01ifconfig: T2752: fix string format in verify_interface_exists()Christian Poessinger
We do not have a formatted string here thus the "f" keyword is wrong and triggered an exception.
2020-07-31ifconfig: T2653: bugfix on wrong flush_addr APIChristian Poessinger
Commit 29dd5079 ("ifconfig: T2653: remove duplicated code for address flush") used the class method for address flushing, but it was cvalled in the wrong way.
2020-07-30Add CONTRIBUTING.mdChristian Poessinger
2020-07-30ifconfig: T2746: bugfix for non programmed link-local addressesChristian Poessinger
After the fresh rewrite of the interfaces to a unified solution (T2653) IPv6 link-local addresses are no longer added. This will result in e.g. broken RAs.
2020-07-30ifconfig: T2653: remove duplicated code for address flushChristian Poessinger
2020-07-30router-advert: T2745: migrate to get_config_dict()Christian Poessinger
2020-07-29op-mode: T2560: rename "show system usb serial" to "show hardware usb serial"Christian Poessinger
This is more inline with the overall op-mode.
2020-07-29wireguard: T2743: move key migration from config script to migration scriptChristian Poessinger
Migration files on the storage should be done one time by a migration script instead of every time the configuration changes. Moving this to an older migration script is fine as this is around for a long time and all rolling releases are already up2date. It only affects updates from VyOS 1.2 series.
2020-07-29mdns-repeater: T2742: migrate to get_config_dict()Christian Poessinger
2020-07-27Merge pull request #519 from sever-sever/T1117Daniil Baturin
op-mode: T1117: Add show ipv6 bgp route-map
2020-07-27op-mode: T1117: Add show ipv6 bgp route-mapsever-sever
2020-07-26wireguard: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-26wireguard: T2734: fwmark is a 32bit value - fix validatorChristian Poessinger
2020-07-26vxlan: ifconfig: T2653: move to get_interface_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-26pseudo-ethernet: ifconfig: T2733: support MTU configurationChristian Poessinger
2020-07-26Merge branch 'current' of https://github.com/vyos/vyos-1x into currentDaniil Baturin
2020-07-26Fix a typo in BFD command help.Daniil Baturin
2020-07-25l2tpv3: ifconfig: T2653: move implementation to get_interface_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-25Merge pull request #514 from jack9603301/T2723Christian Poessinger
traceroute: T2723: Support tcptraceroute
2020-07-25Revert "Merge pull request #423 from thomas-mangin/T2494"Christian Poessinger
This reverts commit bfbf51acb2d4b6b5fe2d22d39f7259686f98d2a0, reversing changes made to 1a85e758b105d493bb9d95916816bd206345bc5d.
2020-07-25Merge branch 'interface-rewrite' of github.com:c-po/vyos-1x into currentChristian Poessinger
* 'interface-rewrite' of github.com:c-po/vyos-1x: vyos.configverify: T2653: fix some formatting issues ifconfig: T2653: make ifname an optional argument to get_interface_dict() vyos.configdict: T2653: remove obsolete code from configdict and ifconfig_vlan wireless: ifconfig: T2653: move to get_config_dict() ifconfig: T2653: move get_ethertype() from configdict to interface vlan: ifconfig: T2653: move get_removed_vlans() to vyos.configdiff bonding: ifconfig: T2653: move to get_config_dict() ifconfig: T2653: move vlan configuration code to base class vyos.configdict: T2653: use dict_merge() over update() ifconfig: T2653: implement update() in derived classes for admin up/down vyos.configdict: T2653: add new reusable helper node_changed() geneve: ifconfig: T2653: move to get_config_dict() ifconfig: T2653: move bridge member check to base class interfaces: ifconfig: T2653: migrate to get_interface_dict() API pseudo-ethernet: ifconfig: T2653: move to get_config_dict() bridge: ifconfig: T2653: move to get_config_dict() vlan: ifconfig: T2653: only enable interface when lower interface is up ethernet: ifconfig: T2653: move to get_config_dict() ifconfig: T2653: set arp-cache-timeout default value of 30ms
2020-07-25vyos.configverify: T2653: fix some formatting issuesChristian Poessinger
2020-07-25Merge pull request #423 from thomas-mangin/T2494Christian Poessinger
systemd: T2494: allow to restart vyos-hostsd without consequence
2020-07-25ifconfig: T2653: make ifname an optional argument to get_interface_dict()Christian Poessinger
Further reduce the boiler-plate code to determine interface tag node or not. It can be passed into get_interface_dict() if explicitly required - else it is taken from the environment.
2020-07-25vyos.configdict: T2653: remove obsolete code from configdict and ifconfig_vlanChristian Poessinger
After all interfaces have been moved to the targetted implementation of T2653 the old implementations of migrating a CLI session to a configuration dict can be dropped.
2020-07-25wireless: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-25ifconfig: T2653: move get_ethertype() from configdict to interfaceChristian Poessinger
... as it is only used inside the interface class.
2020-07-25vlan: ifconfig: T2653: move get_removed_vlans() to vyos.configdiffChristian Poessinger
As we wrap up additional functions from this library it should be part of it.
2020-07-25bonding: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-25ifconfig: T2653: move vlan configuration code to base classChristian Poessinger
This is required as other interfaces (e.g. pseudo-ethernet or bond) will have VLANs, too.
2020-07-25vyos.configdict: T2653: use dict_merge() over update()Christian Poessinger
With dict.update() existing keys will get overwritten when blending in interface default values.
2020-07-25ifconfig: T2653: implement update() in derived classes for admin up/downChristian Poessinger
Every derived class must implement update() to set the interfaces admin up/down state. This is required to prevend extensive link flaps when e.g. reconfiguring bond interfaces.
2020-07-25vyos.configdict: T2653: add new reusable helper node_changed()Christian Poessinger
This can be used to see if a tagNode has been changed. It will return a list of changed nodes.
2020-07-25geneve: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge.
2020-07-25ifconfig: T2653: move bridge member check to base classChristian Poessinger
This test is reused by a lot of instances and thus must be moved to the base class.
2020-07-25interfaces: ifconfig: T2653: migrate to get_interface_dict() APIChristian Poessinger
After switching from raw parsing of the interface options to get_config_dict() this utilizes another utility function which wraps get_config_dict() and adds other common and reused parameters (like deleted or bridge member). Overall this drops redundant code (again) and makes the rest more maintainable as we only utilize a single function.
2020-07-25pseudo-ethernet: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge. While providing a new update() method in vyos.ifconfig.interfaces() this is extended for pdeudo-ethernet interfaces in the derived class.
2020-07-25bridge: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge. While providing a new update() method in vyos.ifconfig.interfaces() this is extended for bridge interfaces in the derived bridge class. Signed-off-by: Christian Poessinger <christian@poessinger.com>
2020-07-25vlan: ifconfig: T2653: only enable interface when lower interface is upChristian Poessinger
A VLAN interface can only be placed in admin up state when the lower interface is up, too. If this is not the case the operating system will throw and exception.
2020-07-25ethernet: ifconfig: T2653: move to get_config_dict()Christian Poessinger
The current VyOS CLI parser code written in Python contains a ton of duplicates which I can also hold myself accountable for - or maybe mainly me - depends on the angle of judge. While providing a new update() method in vyos.ifconfig.interfaces() this is extended for ethernet based interfaces which also supports 802.1q, 802.1ad VLANs. This commit migrates the existing codebase for an ethernet based interfaces and implements the missing parts for VLANs. Adding or migrating other interfaces (e.g. bridge or bond) will become much easier as they must reuse the entire functionality - we now walk towards a single codepath. Thanks for all who made this combined effort possible! Signed-off-by: Christian Poessinger <christian@poessinger.com>
2020-07-25ifconfig: T2653: set arp-cache-timeout default value of 30msChristian Poessinger
2020-07-25vyos.util: add common helper to load kernel modulesChristian Poessinger
l2tpv3, wireguard, wirelessmodem, nat all require additional Kernel modules to be present on the system. Each and every interface implemented their own way of loading a module - by copying code. Use a generic function, vyos.util.check_kmod() to load any arbitrary kernel module passed as string or list.
2020-07-24T2727: add a dotted decimal validator.Daniil Baturin
Since it's relatively rarely used, Python's startup time should't be much of a problem.
2020-07-24traceroute: T2723: Support tcptraceroutejack9603301
2020-07-22Merge pull request #481 from thomas-mangin/T2582John Estabrook
xml: T2582: use xml for is_tag and is_leaf
2020-07-22xml: T2582: use xml for is_tag and is_leafThomas Mangin
2020-07-22Merge pull request #499 from jestabro/config_sourceJohn Estabrook
T2707: allow alternative initialization data for config config: T2707: use ConfigSource and refactor Config methods load-config: subclass ConfigSourceSession instead of Config http-api: remove unneeded check for VyOSError config: T2707: add ConfigSource classes for alternative init data
2020-07-22config: T2707: use ConfigSource and refactor Config methodsJohn Estabrook
2020-07-22load-config: subclass ConfigSourceSession instead of ConfigJohn Estabrook
2020-07-22http-api: remove unneeded check for VyOSErrorJohn Estabrook
The only calls to config (return_value, return_values, exists) do not throw VyOSError; remove unneeded except.