summaryrefslogtreecommitdiff
path: root/src/conf_mode/protocols_bfd.py
AgeCommit message (Collapse)Author
2024-12-18frrender: T6746: move get_frrender_dict from vyos.configdict to this moduleChristian Breunig
Keep all FRRender stuff in one place.
2024-12-16frr: T6746: do not use FRRender apply() method when vyos-configd is runningChristian Breunig
2024-12-16configd: T6746: handle FRR config reload as last step in commitChristian Breunig
2024-12-16frr: T6746: integrate FRRender class into vyos-configdChristian Breunig
When running under vyos-configd only a single apply() is done as last step in the commit algorithm. FRRender class address is provided via an attribute from vyos-configd process.
2024-12-16frr: T6747: migrate protocols to unified FRRender classChristian Breunig
With FRR 10.0 daemons started to be migrated to integrated FRR mgmtd and a northbound interface. This led to some drawbacks in the current state how changes to FRR are handled. The current implementation will use frr-reload.py and specifies excatly WHICH daemon needs a config update and will only replace this part inside FRR. With FRR10 and mgmtd when a partial configuration is sent to mgmtd, it will remove configuration parts from other daemons like bgpd or ospfd which have not yet been migrated to mgmtd. It's not possible to call frr-reload.py with daemon mgmtd - it will error out. This commit will also change the CLI for static routes: CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1" will be split into: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd source-address 1.1.1.1 * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop To make the XML blocks reusable, and comply with the FRR CLI - this was actually a wrong implementation from the beginning as you can not have multiple BFD source addresses. CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1 profile bar" is changed to: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd profile bar CLI commands "set protocols static multicast interface-route" is moved to: * set protocols static multicast route <x.x.x.x/x> interface To have an identical look and feel with regular static routes.
2024-12-16frr: T6747: make daemon definitions re-usable for both conf-mode and smoketestsChristian Breunig
2024-06-03bfd: T6440: BFD peer length typoHannes Tamme
2024-04-03T6199: drop unused Python importsChristian Breunig
found using "git ls-files *.py | xargs pylint | grep W0611"
2024-01-23bfd: T5967: add minimum-ttl optionChristian Breunig
* set protocols bfd peer <x.x.x.x> minimum-ttl <1-254> * set protocols bfd profile <name> minimum-ttl <1-254>
2023-08-07T5319: remove workarounds for defaults in protocols_bfd.pyJohn Estabrook
2023-08-06T5195: move helpers from vyos.validate to vyos.utils packageChristian Breunig
2022-04-14frr: T4353: fix Jinja2 linting errorsChristian Poessinger
2021-12-11bfd: T3310: bugfix on profile names using hyphensChristian Poessinger
2021-12-06bfd: T1183: use unified error styleChristian Poessinger
2021-12-06bfd: T4054: bugfix missing profile assignment to peerChristian Poessinger
2021-12-04bfd: T4044: add VRF support for peersChristian Poessinger
2021-12-04bfd: T3310: add key_mangling option when calling get_config_dict()Christian Poessinger
2021-11-27bfd: T3753: adjust to new FRR 8.1 syntaxChristian Poessinger
Every node in running config now has an explicit "exit" tag.
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-09-27frr: T2175: rename daemon Jinja2 templates to match (d)aemon suffixChristian Poessinger
2021-07-23frr: T2175: remove no longer required loop when removing routing protocolsChristian Poessinger
2021-04-15protocols: remove superfluous import of vyos.util.callChristian Poessinger
2021-02-15bfd: T3310: implement peer profile supportChristian Poessinger
2021-02-15bfd: T3310: migrate to get_config_dict() and FRR reloadChristian Poessinger
2020-11-13vyos.template: provide general is_ip(v4|v6) helpersChristian Poessinger
We had two places were the is_ip, is_ipv4 and is_ipv6 helpers had been defined. All places now have been converged into vyos.template as they are used both in the Jinja2 templates and also in our scripts.
2020-05-29airbag: T2088: explicit enabling of the featureThomas Mangin
airbag must now be explicitly installed. the patch also allow to fully disables the installation of the logging code at setup (and not just installing and doing nothing)
2020-05-17frr: combine all templates in frr directoryChristian Poessinger
2020-04-12template: T2230: use render to generate templatesThomas Mangin
convert all call to jinja to use template.render
2020-04-09util: T2226: os.system was wrongly converted to runThomas Mangin
os.system does print the ouput of the command, run() does not. A new function called call() does the printing and return the error code.
2020-04-07util: T2226: fix merge conflictThomas Mangin
2020-04-06util: T2226: covert most calls from os.system to utilThomas Mangin
As little change a possible but the function call The behaviour should be totally unchanged.
2020-04-05bfd: T2230: move inlined templates to dedicated filesChristian Poessinger
2020-01-09bfd: T1949: fix verification logic for IPv6 BFD peersBenjamin M. Hughes
IPv6 BFD peers only require a source address unless link-local addresses are used.
2019-08-14[bfd] T1183: Added validations and fixing bugs in BFD:zsdc
* added validations for "source address IP" and "bfd peer IP" * added check for configuring multihop together with an interface name * fixed "show protocols bfd peer X" for peers with custom options
2019-08-09[bfd] T1183: Added some new functionality and fixed bugs in BFD:zsdc
* added option "echo-mode" and "echo-interval" for BFD peers * added configuration check for usage "multihop" and "echo-mode" * added configuration check for denying deletion BFD peers, which are used in BGP configuration * fixed deleting/changing BFD peers with custom parameters (for example multihop, local-address, etc.) * deleted wrong skipping of configuration check for "shutdown" BFD peers
2019-06-22bfd: T1183: move "multiplier" configuration node to "interval multiplier"Christian Poessinger
2019-06-22bfd: T1183: add rx/tx interval configurationChristian Poessinger
vyos@vyos# show protocols bfd { peer 1.1.1.1 { interval { receive 400 transmit 300 } } }
2019-06-22bfd: T1183: multihop doesn't accept interface namesChristian Poessinger
2019-06-22bfd: T1183: add support to configure detection multiplierChristian Poessinger
Configures the detection multiplier to determine packet loss. The remote transmission interval will be multiplied by this value to determine the connection loss detection timer. The default value is 3. Example: when the local system has detect-multiplier 3 and the remote system has transmission interval 300, the local system will detect failures only after 900 milliseconds without receiving packets.
2019-06-22bfd: T1183: adjust CLI syntax for source address/interfaceChristian Poessinger
Place address/interface under new source node. vyis@vyos# show protocols bfd peer 1.1.1.1 { source { address 1.2.3.4 interface eth0.201 } }
2019-06-22bfd: T1183: add support for multihopChristian Poessinger
multihop tells the BFD daemon that we should expect packets with TTL less than 254 (because it will take more than one hop) and to listen on the multihop port (4784). When using multi-hop mode echo-mode will not work (see RFC 5883 section 3).
2019-06-22bfd: T1183: first working FRR bfd peer configurationChristian Poessinger
2019-06-22bfd: T1183: IPv6 peers require explicit local address/interfaceChristian Poessinger
2019-06-22bfd: T1183: initial CLI implementationChristian Poessinger
vyos@vyos# show protocols bfd peer 172.18.202.10 { local-address 172.18.201.10 local-interface eth0.201 shutdown } peer 172.18.202.12 { shutdown }