summaryrefslogtreecommitdiff
path: root/python/vyos
AgeCommit message (Collapse)Author
2022-04-20configdiff: T4260: add support for diff_tree classJohn Estabrook
Add support for the configtree diff algorithm. A new function ConfigDiff().is_node_changed(path) -> bool is added to recursively detect changes in the tree below the node at path; existing functions take the keyword argument 'recursive: bool' to apply the algorithm in place of the existing, non-recursive, comparison. (cherry picked from commit e5d04b20be0ef270d20f1d5ac9203b3a03649135)
2022-04-20configtree: T4235: distinguish sub(-tract) tree from delete treeJohn Estabrook
The DiffTree class maintains both the 'sub'(-tract) configtree, containing all paths in the LHS of the comparison that are not in the RHS, and the 'delete' configtree: the delete tree is the minimal subtree containing only the first node of a path not present in the RHS. It is the delete tree that is needed to produce 'delete' commands for config mode, whereas the 'sub' tree contains full information, needed for recursively detecting changes to a node. (cherry picked from commit 193cbd15ba39a41614c63b997e6a62254589158a)
2022-04-20configtree: T4235: allow empty argumentsJohn Estabrook
(cherry picked from commit 4625fd41f99ddf77c104a657cd90a1ddf5449dd8)
2022-04-20configtree: T4235: simplification of diff_tree classJohn Estabrook
The return value of diff_tree is now a single config_tree, with initial children of names: ["add", "delete", "inter"] containing the config sub-trees of added paths; deleted paths; and intersection, respectively. The simplifies dumping to json, and checking existence of paths, hence, of node changes. (cherry picked from commit 3d28528ff84b4e874faf80028709bd08b2956933)
2022-04-20configtree: T4235: add utility get_subtreeJohn Estabrook
(cherry picked from commit ff7e2cd622cf3679cd9265b2cb766395a1830f50)
2022-04-20configtree: T4235: encapsulate config tree diff functionJohn Estabrook
(cherry picked from commit 2ee94418ce24429dbf6a52c2a327ed08a1935958)
2022-04-08Merge pull request #1263 from c-po/wwan-t4324-equuleusDaniil Baturin
T4324, T4338, T4339 WWAN interface bugfixes
2022-04-08Merge pull request #1273 from c-po/t4331-equuleusDaniil Baturin
T4331: IPv6 link local addresses are not configured when an interface is in a VRF (equuleus)
2022-04-07vyos.base: T4346: add common DeprecationWarning() classChristian Poessinger
(cherry picked from commit 957f73ed8c2c22afd5e56adc36b4d032b3f1a5f1)
2022-04-06interfaces: T4331: Fix assign link-local static IPv6 addr to vrfViacheslav Hletenko
If we have link-local static address and vrf, for example: set interfaces ethernet eth2 address 'fe80::5200:ff:fe55:222/64' set interfaces ethernet eth2 vrf 'foo' This IPv6 address was assigned before vrf, as result after attaching the intreface to vrf we lose this static linklocal address DEBUG/IFCONFIG cmd 'ip addr add fe80::5200:ff:fe55:222/64 dev eth2' DEBUG/IFCONFIG cmd 'ip link set dev eth2 master foo' DEBUG/IFCONFIG cmd 'ip addr add fe80::5208:ff:fe13:2/64 dev eth2' This commit fixes this, the address is assigned after vrf assign (cherry picked from commit d6e22b28887c7a3f7d2f8b955c2e90bcadaeeeba)
2022-04-03wwan: T4324: is_wwan_connected() must verify if ModemManager is runningChristian Poessinger
(cherry picked from commit 15c94a8706622927850eba8c22fcff2df32978b4)
2022-03-31vyos.ifconfig: T4330: MTU must be configured prior to any IPv6 option changeChristian Poessinger
This extends the fix from 53e20097 ("vyos.ifconfig: T4330: bugfix changing MTU when IPv6 is disabled") by ordering the execution in a way the Kernel does not complain. (cherry picked from commit 601ab19fd8c81a998b3c966cc83b85ed60ac5ae0)
2022-03-31vyos.ifconfig: T4330: bugfix changing MTU when IPv6 is disabledChristian Poessinger
Commit f8b3d8999c ("ipv6: T4319: do not configure IPv6 related settings if it's disabled") moved the MTU configuration part under the code path which is only run if IPv6 is enabled on the system. This prevented MTU changes on IPv6 disabled systems. (cherry picked from commit 53e20097d227ebf4bdb4dc6c85427ec9c5ec3982)
2022-03-30vyos.ifconfig: T4319: add_addr() should not add IPv6 address if it's disabledChristian Poessinger
(cherry picked from commit 60f009defadb9d36bf84def1e839cb11a0b3d619)
2022-03-30vyos.util: T4319: add is_ipv6_enabled() helper functionChristian Poessinger
(cherry picked from commit df0fbfeedce0f163e9d10be21d58ad4dc797a28a)
2022-03-30T4319: do not try to add ::1/128 to lo when IPv6 is disabledDaniil Baturin
2022-03-27graphql: T3993: add unsettable gql option; this is not exposed by CLIJohn Estabrook
(cherry picked from commit 9d3acc2b55f2d1c563f1941e59c98c159211dc58)
2022-03-25vyos.util: T4319: rename sysctl() -> sysctl_write()Christian Poessinger
(cherry picked from commit 364009e4317fb5c6732635726b511613aa2ed519)
2022-03-25ipv6: T4319: do not configure IPv6 related settings if it's disabledChristian Poessinger
(cherry picked from commit f8b3d8999cbea988ce8e7d303957558308ddc1bc)
2022-03-25vyos.util: T4319: provide generic sysctl_read() helperChristian Poessinger
(cherry picked from commit 52cb6185a4a51ffa92f10e0ded55a943bc21bc60)
2022-03-11Ethtool: T4297: Update drivers supporting speed/flow/duplexDaniel Berlin
The iavf, ice, and i40e drivers do not support speed, flow, or duplex control using ethtool. As a result, interface configuration changes fail to commit when using those drivers. This patch fixes that by correctly marking those drivers as not supporting those controls. (cherry picked from commit 2894b52454311f8e011bed910704064be7471275)
2022-02-22vyos.configdict: T4263: leaf_node_changed() must also honor valueLess CLI nodesChristian Poessinger
If a valueLess node is added or removed from the CLI, a call to leaf_node_changed() will not detect it. If node is valueLess, on change old or new (depending on addition or deletion) will be {} and is treated as None. Add handler for this special case where old or new is an instance of a dictionary but empty. (cherry picked from commit 149f704a172fb14f16d0ba00ef237b972539492f)
2022-02-21smoketest: vxlan: T4120: verify support for multiple remote addressesChristian Poessinger
(cherry picked from commit c3661c8d5d7e8f5c1d040cadf134e87f0d77e28e)
2022-02-21vxlan: T4120: code cleanup for multiple remotesChristian Poessinger
(cherry picked from commit 3a605ad020d8d20b08a72cb1284f6e590d1fd7b5)
2022-02-21vxlan: T4120: add ability to set multiple remotes (PR #1127)Andreas
VXLAN does support using multiple remotes but VyOS does not. Add the ability to set multiple remotes and add their flood lists using "bridge" command. (cherry picked from commit 0ecddff7cffa8900d351d5c15e32420f9d780c0b)
2022-02-20interface: T4203: prevent DHCP client restart if not necessaryChristian Poessinger
In the past whenever a change happened to any interface and it was configured as a DHCP client, VyOS always had a breif outage as DHCP released the old lease and re-aquired a new one - bad! This commit changes the behavior that DHCP client is only restarted if any one of the possible options one can set for DHCP client under the "dhcp-options" node is altered. (cherry picked from commit 3a1a7c40a13ee9f5561823a79876d88d3f5bf053)
2022-02-17vyos.configverify: T4255: fix unexpected print of dictionary instead of keyChristian Poessinger
(cherry picked from commit 9e626ce7bad2bd846826822a3622fedf2d937e09)
2022-02-17wireless: T4240: bugfix interface bridgingChristian Poessinger
VLAN isolation can not be "set" when interface is of type wifi. (cherry picked from commit 1ceaed55a629c92cf42baccdef4106e8d0e4914e)
2022-02-13vyos.util: T4191: add new sysctl() helper functionChristian Poessinger
(cherry picked from commit b40315b3c5051888f499961e63410e14c5d1bad7)
2022-02-13ethernet: T4242: speed/duplex can never be switched back to auto/autoChristian Poessinger
(cherry picked from commit 812d9770619b968b04961aebf3944fde13df491b)
2022-02-06config: T4228: is_member() must return all instances not only the last oneChristian Poessinger
(cherry picked from commit 5e7e96380b314587bbd8bd584848d39caef86f3f)
2022-01-11remote: T3950: Gracefully handle chained exceptionserkin
2022-01-06op-mode: T4142: Fix for show input ifbX interfacesViacheslav
Ability to see interface type "input" ifbX from op-mode (cherry picked from commit 5fdf4e5988344f7a890fe351183b58b8e21699c2)
2021-12-16T3356: Backport remote moduleerkin
2021-12-15pppoe-server: T3006: Add range to regex generatorDmitriyEshenko
2021-12-14http-api: T4071: allow API to bind to unix domain socketJohn Estabrook
(cherry picked from commit 0e3c35e6517f5cfebb4206c735a2ea976a7fd383)
2021-12-10ConfigError: T4068: automatically wrap message at 72 charactersChristian Poessinger
(cherry picked from commit 4948380a588dea59a01e6e33b9b8e1524ba6a4ed)
2021-12-09vyos.configdict: T4064: bugfix for IP addresses not removed from KernelChristian Poessinger
Commit e8c6595fc47 ("vyos.ifconfig: T2738: do not remove OS assigned IP addresses from interface") addressed an issue with IP addresses added to interfaces by daemons and not by the CLI. The solution in this commit for IP address removal unfortunately did not cover VLAN (802.1q and 802.1ad) IP address removal in the same way as it is done for non VLAN interfaces. The code was missing.
2021-12-09configquery: T4060: allow use before boot configuration is completeJohn Estabrook
(cherry picked from commit e51b9444a6a6a4640445c22a7f71ba1e035876da)
2021-12-09vyos.util: T4061: add function to check for completion of boot configJohn Estabrook
2021-12-04T4035: correct the interface basename extraction logicDaniil Baturin
to avoid confusing 'v' in GENEVE interface prefix ('gnv') with a "vXXX" part of a VRRP interface
2021-12-03configquery: T3402: use vyatta-op-cmd-wrapper to provide environmentJohn Estabrook
(cherry picked from commit ae16a51506cdc4de8e18f4678b8f55654d4abbba)
2021-11-19ethernet: T4011: deleting interface should place interface in admin down stateChristian Poessinger
Interface will still be visible to the operating system. (cherry picked from commit a14f93adfa633eabff90524e1f83d56092ec0c3c)
2021-11-19wwan: T3620: fix commend in remove()Christian Poessinger
Improve commend in WWANIf.remove() - remove() was implemented in commit 61e4d75a ("wwan: T3620: place interface in A/D state when removed"). (cherry picked from commit d9a19b77a56031fa3fbfa43a85c8be7ee83ae3d7)
2021-11-18wwan: T3620: place interface in A/D state when removedChristian Poessinger
2021-11-18wwan: T3795: make connect and disconnect op-mode commands aware to WWAN ↵Christian Poessinger
interfaces
2021-11-07http-api: T2768: example using GraphQL for high-level config operationsJohn Estabrook
(cherry picked from commit b168b4cc7da456f14714d917cdc7a1c6b8df9af5)
2021-11-07vyos.template: T2720: allow setting template directoryJohn Estabrook
(cherry picked from commit d3d4e3bedcc0b43e16554b1832b43da9d41e651f)
2021-11-05vyos.configdict: T3972: bugfix QinQ vif-c removal triggered KeyErrorChristian Poessinger
Generic get_removed_vlans() function replaced the entire config dict when any QinQ vif-c subinterface was deleted. (cherry picked from commit b3be36586c85005538d5cc994c7c9694b9907d81)
2021-11-03sstp: T2566: use XML defaultValue over Jinja2 hardcoded valueChristian Poessinger