summaryrefslogtreecommitdiff
path: root/src/conf_mode/protocols_bgp.py
AgeCommit message (Collapse)Author
2021-06-28bgp: T3657: fix remote-as validator for IPv6 link-local peeringChristian Poessinger
The "v6only" CLI tree was not taken into account during validation. vyos@vyos:~$ show configuration commands | grep bgp set protocols bgp local-as '200' set protocols bgp neighbor eth0.204 address-family ipv6-unicast set protocols bgp neighbor eth0.204 interface v6only remote-as '100' vyos@vyos:~$ show bgp ipv6 sum IPv6 Unicast Summary: BGP router identifier 172.18.254.201, local AS number 200 vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 1, using 21 KiB of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt eth0.204 4 100 99 99 0 0 0 01:35:07 0 0 Total number of neighbors 1
2021-05-09bgp: T3530: add hyphen support for peer-group namesChristian Poessinger
2021-05-08vrf: bgp: T3523: bugfix Kernel route-map deploymentChristian Poessinger
Commit 4f9aa30f ("vrf: bgp: T3523: add route-map support for kernel routes") added the possibility to also filter BGP routes towards the OS kernel, but the smoketests failed. Reason was a non working CLI command applied to bgpd. Thus the VRF route-map and the BGP configuration is now split into two templates, one to be used for each daemon (zebra and bgpd). Nevertheless one more bug was found in vyos.frr which currently does not suppoort calling modify_section() inside a configuration "block". See [1] for more info. [1]: https://phabricator.vyos.net/T3529
2021-05-06vrf: T3523: fix regex when removing dynamic routing protocols with a kernel ↵Christian Poessinger
route-map
2021-04-30bgp: T3504: add support for per-peer graceful shutdownChristian Poessinger
This commit has a dependecy on https://github.com/FRRouting/frr/issues/8403, thus support will be "commented out" by default.
2021-04-27bgp: T3503: allow "route-reflector-client" when "remote-as" is "internal"Brandon Stepler
2021-04-15protocols: remove superfluous import of vyos.util.callChristian Poessinger
2021-04-15bgp: T2771: add vpn, multicast, flowspec address familiesCheeze-It
In this commit we add more address families within BGP. This should bring VyOS the ability to enable the rest of the capabilities within FRR. Co-authored-by: Cheeze_It <none@none.com>
2021-04-12bgp: T3328: route-map to zebra/kernel can not be removedChristian Poessinger
Removing the Zebra/Linux Kernel route-map added by "set protocols bgp route-map" was not removed once applied. This was because the removal must happen within the zebra daemon and not bgpd.
2021-04-11bgp: T3344: handle FRR vrf daemon configuration more elegantChristian Poessinger
2021-04-10bgp: T3460: add verify() steps for local-as overrideChristian Poessinger
It is only possible to set one local-as override per BGP neighbor/peer-group. In addition to this, the override AS number is not allowed to be the same as the one from the global BGP process. If this would still be the case frr-reload would error out: > frr-reload output: 184 % Cannot have local-as same as BGP AS number
2021-04-08bgp: T3464: use common helper functions to verify route-maps and prefix-listsChristian Poessinger
2021-04-05bgp: T3418: peer-group and remote-as must be present under interface nodeChristian Poessinger
When configuring a BGP neighbor via an interface, FRR requires that the peer-group and remote-as node from under the interface statement is used. This is now enforced by a verify() check.
2021-04-02frr: T3217: Abbility to save routing configssever-sever
2021-03-29bgp: T1711: remove ASN tagNode and move to "local-as"Christian Poessinger
Every time when set configuration bgp, you need set AS number. There is very less benefit in this system so the AS number is moved from a tagNode level down to a leafNode with the name "local-as", same as on the neighbor or peer-group level. This changes the CLI configuration from: set protocols bgp 100 neighbor 10.10.1.2 remote-as 200 to set protocols bgp local-as 100 set protocols bgp neighbor 10.10.1.2 remote-as 200
2021-03-23routing: T3217: Save configs of daemon per commitsever-sever
2021-03-14bgp: T3325: fix missleading error message on listen-range verify() stepsChristian Poessinger
2021-03-14vrf: T3344: move dynamic routing protocols under "vrf name <name> protocols"Christian Poessinger
Instead of having the dynamic routing protocols OSPF and BGP residing under the "protocols vrf <name> [ospf|bgp]" nodes, rather move them directly under the "vrf name <name> protocols [ospf|bgp]" node. Now all VRF related parts are placed under the same root node. This eases the verify steps tremendously, as we do not need to check wheter a VRF eists or not, it will always exist as we operate under a child node.
2021-03-14vrf: bgp: T2271: create individual BGP process for specified VRF nameChristian Poessinger
The following VyOS CLI config vrf red { bgp 100 { neighbor 1.1.1.1 { peer-group foo } peer-group foo { passive password bar remote-as 200 } } } Will generaste the FRR configuration: ! router bgp 100 vrf red no bgp ebgp-requires-policy no bgp network import-check neighbor foo peer-group neighbor foo remote-as 200 neighbor foo password bar neighbor foo passive neighbor 1.1.1.1 peer-group foo !
2021-02-27bgp: T3225: is_addr_assigned should check only ipv4 ipv6 neighborssever-sever
2021-02-26bgp: T3320: Add checks for peer-groupsever-sever
2021-02-26bgp: T3225: Move is_addr_assigned check to netighborsever-sever
2021-02-26bgp: T3225: Checks if neighbor configured as system addresssever-sever
2021-02-26bgp: T3324: Add checks for peer passwordsever-sever
2021-02-26bgp: T3323: Add verify for ttl-security and ebgp-multihopsever-sever
2021-02-19bgp: T3332: fix UnboundLocalError when using route-reflector-clientChristian Poessinger
local variable 'peer_group' referenced before assignment.
2021-02-15bgp: T3311: remove remote-as from address-familyChristian Poessinger
When moving from Quagga to FRR the BGP address-family was extended by an invalid peer-group statement. FRR always moved a configured peer-group from the AFI level down to the neighbor level. With the migration to FRR reload we must take care about this by ourselves.
2021-02-14frr: harden "router" regexChristian Poessinger
2021-02-14bgp: T2387: route-reflector-client is only supported for iBGP peersChristian Poessinger
2021-02-10frr: T2638: remove dedicated per protocol debuggingChristian Poessinger
With commit 015651a8 ("T2638: Enable more debugging in the FRR library") a global debug mechanism was added by creating a file named /tmp/vyos.frr.debug. With this change we can drop the duplicated debug code from every protocol.
2021-01-22bgp: T1875: support processing by vyos-configdChristian Poessinger
2021-01-21bgp: T1875: validate() that peer-group specified via listen range existsChristian Poessinger
2021-01-21Merge pull request #690 from Cheeze-It/currentChristian Poessinger
bgp: T1875: Adding BGP listen range FRR feature
2021-01-20bgp: T1875: Adding BGP listen range FRR featureCheeze_It
In this commit we are adding the FRR BGP listen range feature. Specifically it is useful for being able to specify a range in which BGP peers can connect to the local router.
2021-01-18bgp: T2174: fix validator for neighbor interface configChristian Poessinger
2021-01-18bgp: T2174: print debug output before passing config down to FRRChristian Poessinger
2021-01-17bgp: T2174: add debug optionChristian Poessinger
2021-01-14bgp: T2174: remove invalid "no bgp default ipv4-unicast" from default configChristian Poessinger
2021-01-14bgp: T2174: enable new implementationChristian Poessinger
2021-01-13bgp: T2174: bugfix FRR template generationChristian Poessinger
2021-01-12bgp: T2174: bail out early if config node does not existChristian Poessinger
2021-01-07bgp: T2174: verify() existence of route-map and prefix-listChristian Poessinger
2021-01-06bgp: T2174: verify() proper existance of remote-asChristian Poessinger
2020-12-08bgp: T2174: Fix Template. Update to use FRRConfig frameworksever-sever
2020-11-27vyos.template: T2720: always enable Jinja2 trim_blocks featureChristian Poessinger
2020-11-22bgp: T2174: refactor Jinja template and reduce redundant pathsChristian Poessinger
The Jinja2 template contained a lot of redundant paths which only differed in either the address-family or neighbor vs. peer-group. This paths have been combined into for loops and a macro for generating a neighbor statement as peer-groups and regular neighbors share ~95% of the config.
2020-11-12bgp-new: T2174: Fix abbility to del global route-map paramsever-sever
2020-10-27bgp: T2387: Fix XML sheme for new bgp and bgp.py handlersever-sever
2020-09-01frr-template: T2850: Add BGP template for FRRsever-sever
2020-06-01bgp: T2387: proof-of-concept using get_config_dict()Christian Poessinger