summaryrefslogtreecommitdiff
path: root/python/vyos/frr.py
AgeCommit message (Collapse)Author
2024-09-04openfabric: T6652: Add support for OpenFabric protocolNataliia Solomko
OpenFabric is a routing protocol providing link-state routing with efficient flooding for topologies like spine-leaf networks. FRR implements OpenFabric in a daemon called fabricd
2024-04-03T6199: drop unused Python importsChristian Breunig
found using "git ls-files *.py | xargs pylint | grep W0611"
2024-03-20bgp: T6106: Valid commit error for route-reflector-client option defined in ↵khramshinr
peer-group handle vtysh bgp error
2023-11-13pim: T5733: add missing FRR PIM related featuresChristian Breunig
Migrate CLI configuration retrival to common get_config_dict(). In addition add new functionality to VyOS that is PIM related and already available in FRR.
2023-09-21frr: T5591: cleanup of daemons fileApachez
2023-09-08T5518: Add basic MLD supportYuxiang Zhu
Currently VyOS has `protocol igmp` option to enable IGMP querier and reports through FRR's pimd. I would like to add support for IPv6 as well since FRR's IPv6 multicast functionality has significantly improved. Enabling both MLD and IGMP on a VyOS router will allow us to turn on multicast snooping on layer-3 switches in dual-stack networks. Example commands: ``` // Enable on interface eth0 set protocols pim6 interface eth0 // Explicitly join multicast group ff18::1234 on interface eth1 set protocols pim6 interface eth1 mld join ff18::1234 // Explicitly join source-specific multicast group ff38::5678 with source address 2001:db8::1 on interface eth1 set protocols pim6 interface eth1 mld join ff38::5678 source 2001:db8::1 ```
2023-07-16T5195: fix remaining references to decommissioned vyos.utilChristian Breunig
2023-07-14T5195: vyos.util -> vyos.utils package refactoring (#2093)Christian Breunig
* T5195: move run, cmd, call, rc_cmd helper to vyos.utils.process * T5195: use read_file and write_file implementation from vyos.utils.file Changed code automatically using: find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import read_file$/from vyos.utils.file import read_file/g' {} + find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import write_file$/from vyos.utils.file import write_file/g' {} + * T5195: move chmod* helpers to vyos.utils.permission * T5195: use colon_separated_to_dict from vyos.utils.dict * T5195: move is_systemd_service_* to vyos.utils.process * T5195: fix boot issues with missing imports * T5195: move dict_search_* helpers to vyos.utils.dict * T5195: move network helpers to vyos.utils.network * T5195: move commit_* helpers to vyos.utils.commit * T5195: move user I/O helpers to vyos.utils.io
2023-02-08T4977: Add Babel routing protocol supportYuxiang Zhu
This PR adds basic Babel routing protocol support using the implementation in FRR. Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2022-11-28frr: T3753: extend ConfigurationNotValid() with failing daemonChristian Poessinger
2022-05-29vyos.frr: T2472: add wigrpd supportChristian Poessinger
2022-01-10frr: T4166: move log debug setting to init function for vyos-configdJohn Estabrook
frr.py debugging is set True if the file '/tmp/vyos.frr.debug' exists; this check needs to be called within an init function, as frr.py will have already been loaded by vyos-configd before the /tmp/*.debug files are created by vyos-router, or by call to 'touch'.
2021-11-27frr: T3753: autosave config when calling commit_configuration()Christian Poessinger
2021-11-27frr: T3753: raise ConfigurationNotValid if commit loop counter is exceededChristian Poessinger
2021-11-27frr: alwaws try to commit connfig 5 timesChristian Poessinger
As a result to some frr-reload bugs workarounded in commit 3800ea91 or fe0038c2 this commit adds the workaround in general.
2021-11-27vyos.frr: T3753: use "!" as replacement character over ""Christian Poessinger
2021-11-27frr: T3753: add default_add_before mnemonic for routing protocols to re-use codeChristian Poessinger
2021-11-27bfd: T3753: FRR 8 added support for bfdd when using frr-reload.pyChristian Poessinger
2021-04-25frr: T2638: fix error message grammar error and add debug howtoChristian Poessinger
2021-04-02frr: T3217: Abbility to save routing configssever-sever
2021-04-01frr: T3217: Fix permissions for saved configssever-sever
2021-03-23routing: T3217: Save configs of daemon per commitsever-sever
2021-02-09T2638: Enable more debugging in the FRR libraryRunar Borge
This will enable more debugging on the frr reload library, changes: * Adds a /tmp/vyos.frr.debug hook to enable system wide vyos.frr debugging * Log the initial imported configs * Log the FRR config submitted to frr-reload * redirecting frr-reload output to the debug log.
2021-01-22frr: T2826: add additional debug output when loading new configChristian Poessinger
2020-12-02T3103: Extended vyos.frr without multiline regexRunar Borge
using multiline regexes are quite hard to "read" and are really easy to mess up, this commit adds a new more pythonic implementation of the library that do not need any multiline regexes.
2020-08-25T2826: frr: frr python lib error in replace_sectionRunar Borge
because of a bug in frr.py the default before_re will not be working. it is by default without a group, but will be used in a match that needs a group. The whole string could be matched in the group, so the fix is easy to implement.
2020-06-28T2638: FRR: New framework for configuring FRRRunar Borge
This commit adds the python module vyos.frr that support reading and modifying the frr cofiguration. Functions get_configuration() : Collects the configuration from FRR and returns it as a string reload_configuration() : uses frr-reload.py to activate a new configuration. The configuration applied will overwrite the current configuration. mark_configuration() : Does syntax check/validation and add "end" tags to the configuration The marked configuration will be returned as a string A syntax fault will render an Exception execute() : Execute a command inside vtysh configure() : Executes a command in vtysh config mode replace_section() / _replace_section() : Adds the ability to replace a section of frr code remove_section() : Removes the specified configuration block from the config For now this supports replacing complete config sub-blocks of configuration and selecting the daemon to replace inside. This should work for most daemons, but static routing will still be an issue because this is not a separate sub-config mode