summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_protocols_bgp.py
AgeCommit message (Collapse)Author
2022-04-01smoketest: bgp: adjust test parameter indentionChristian Poessinger
2022-04-01bgp: T4332: addpath-tx-per-as requires BGP deterministic-med paramtere to be setChristian Poessinger
2022-04-01smoketest: bgp: verify graceful-restart options per neighborChristian Poessinger
2022-03-31bgp: T4326: Add bgp parameter no-suppress-duplicatesViacheslav Hletenko
Add new bgp parameter 'no-suppress-duplicates' set protocols bgp parameters no-suppress-duplicates
2021-12-12bgp: T3967: add support for conditional advertisementChristian Poessinger
The BGP conditional advertisement feature uses the non-exist-map or the exist-map and the advertise-map keywords of the neighbor advertise-map command in order to track routes by the route prefix. non-exist-map ============= * If a route prefix is not present in the output of non-exist-map command, then advertise the route specified by the advertise-map command. * If a route prefix is present in the output of non-exist-map command, then do not advertise the route specified by the addvertise-map command. exist-map ========= * If a route prefix is present in the output of exist-map command, then advertise the route specified by the advertise-map command. * If a route prefix is not present in the output of exist-map command, then do not advertise the route specified by the advertise-map command. This feature is useful when some prefixes are advertised to one of its peers only if the information from the other peer is not present (due to failure in peering session or partial reachability etc). The conditional BGP announcements are sent in addition to the normal announcements that a BGP router sends to its peer. CLI nodes can be found under: * set protocols bgp neighbor <ip> address-family <afi> conditional-advertisement * set protocols bgp peer-group <p> address-family <afi> conditional-advertisement
2021-12-12bgp: smoketest: add proper peer-group assignment testsChristian Poessinger
In the past a peer-group was only assigned to the BGP process but not bound to any neighbor. This has been changed.
2021-12-12bgp: T4069: add "parameters suppress-fib-pending" CLI optionChristian Poessinger
This command is applicable at the global level and at an individual bgp level. If applied at the global level all bgp instances will wait for fib installation before announcing routes and there is no way to turn it off for a particular BGP vrf.
2021-12-12bgp: T4069: add "parameters shutdown" CLI optionChristian Poessinger
Administrative shutdown of all peers of a bgp instance. Drop all BGP peers, but preserve their configurations. The peers are notified in accordance with RFC 8203 by sending a NOTIFICATION message with error code Cease and subcode Administrative Shutdown prior to terminating connections. This global shutdown is independent of the neighbor shutdown, meaning that individually shut down peers will not be affected by lifting it.
2021-12-12bgp: T4069: add "parameters reject-as-sets" CLI optionChristian Poessinger
This command enables rejection of incoming and outgoing routes having AS_SET or AS_CONFED_SET type.
2021-12-12bgp: T4069: add "parameters minimum-holdtime <n>" CLI optionChristian Poessinger
This command allows user to prevent session establishment with BGP peers with lower holdtime less than configured minimum holdtime. When this command is not set, minimum holdtime does not work.
2021-12-12bgp: T4069: add "parameters fast-convergence" CLI optionChristian Poessinger
Whenever BGP peer address becomes unreachable we must bring down the BGP session immediately. Currently only single-hop EBGP sessions are brought down immediately. IBGP and multi-hop EBGP sessions wait for hold-timer expiry to bring down the sessions. This new configuration option helps user to teardown BGP sessions immediately whenever peer becomes unreachable. This configuration is available at the bgp level. When enabled, configuration is applied to all the neighbors configured in that bgp instance.
2021-12-12bgp: T3967: add "parameters conditional-advertisement timer <n>" optionChristian Poessinger
Set the period to rerun the conditional advertisement scanner process. The default is 60 seconds.
2021-12-09bgp: T4058: add support for BFD profilesChristian Poessinger
2021-10-04bgp: T3741: "parameter default no-ipv4-unicast" is now a default optionChristian Poessinger
2021-09-04bgp: T3798: "replace-as" option can only be used when "no-prepend" is definedChristian Poessinger
Commit 5f1c1ae4 ("bgp: T3798: add support for neighbor local-as <n> replace-as") added support for a new CLI option when the local-as is changed for a specified neighbor or peer-group. There was an error in the CLI / design as the "replace-as" option can only be used when "no-prepend" is defined. Thus "no-prepend" became a <node> and the new "replace-as" leafNode is now a child of "no-prepend".
2021-09-03bgp: T3798: add support for neighbor local-as <n> replace-asChristian Poessinger
2021-08-24smoketest: bgp: extend ipv4/ipv6 safi route-target testsChristian Poessinger
Commit 474db49a ("bgp: T3759: "l2vpn evpn" and ipv4/ipv6 safi route-targets differ") made it possible to specify a whitelist separated list of route-targets, this is now validated through the smoketests.
2021-08-20bgp: T3759: add IPv4/IPv6 unicast AFI route-map for VPN import/exportChristian Poessinger
This adds the following new commands: set protocols bgp address-family ipv4-unicast route-map vpn export foo-map-out set protocols bgp address-family ipv4-unicast route-map vpn import foo-map-in set protocols bgp address-family ipv6-unicast route-map vpn export foo-map-out set protocols bgp address-family ipv6-unicast route-map vpn import foo-map-in
2021-08-20smoketest: bgp: movo test for "solo" option to regular neighbor testcaseChristian Poessinger
2021-08-20smoketest: bgp: add support to extract only given SAFI from FRRChristian Poessinger
2021-08-18bgp: T3759: add l3vpn "route-target vpn" commandsChristian Poessinger
Add the following new commands: * set protocols bgp address-family ipv4-unicast route-target vpn both 1.1.1.1:100 * set protocols bgp address-family ipv4-unicast route-target vpn export 1.1.1.1:100 * set protocols bgp address-family ipv4-unicast route-target vpn import 1.1.1.1:100
2021-08-18bgp: T3759: add l3vpn "rd" route-distinguisher commandsChristian Poessinger
Add the following new commands: * set protocols bgp address-family ipv4-unicast rd vpn export * set protocols bgp address-family ipv6-unicast rd vpn export
2021-08-18bgp: T3759: add l3vpn "label vpn export" commandsChristian Poessinger
Add the following new commands: * set protocols bgp address-family ipv4-unicast label vpn export (auto | 0-1048575) * set protocols bgp address-family ipv6-unicast label vpn export (auto | 0-1048575)
2021-08-17bgp: T3759: add l3vpn "import vrf" commandsChristian Poessinger
2021-08-17bgp: T3759: add l3vpn import/export vpn command for IPv4/IPv6 AFIChristian Poessinger
2021-07-30bgp: T1176: Add solo option for neighborViacheslav
2021-06-29smoketest: bgp: T3657: test ipv6 link-local peeringChristian Poessinger
2021-06-16bgp: T3624: add "bandwidth" bestpath optionChristian Poessinger
2021-05-22smoketest: bgp: T3565: test confederation configurationChristian 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-04-24policy: T2425: verify() must check if a policy is still usedChristian Poessinger
When deleting a route-map, prefix-list or access-list, we must ensure that this routing policy is not referenced by any other protocol or policy. When trying to remove a policy still in use, raise an error.
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-09smoketest: bgp: enable peer-group ttl-security tests as this is now implementedChristian Poessinger
2021-04-08bgp: T3464: use common helper functions to verify route-maps and prefix-listsChristian Poessinger
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-17smoketest: add shim for every test to re-use common tastsChristian Poessinger
Currently every smoketest does the setup and destruction of the configsession on its own durin setUp(). This creates a lot of overhead and one configsession should be re-used during execution of every smoketest script. In addiion a test that failed will leaf the system in an unconsistent state. For this reason before the test is executed we will save the running config to /tmp and the will re-load the config after the test has passed, always ensuring a clean environment for the next test.
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-08bgp: T3391: migrate old IPv4 only maximum-paths config to new syntaxChristian Poessinger
2021-03-07bgp: T3391: add per AFI maximum-paths supportChristian Poessinger
* set protocols bgp ASN address-family ipv4-unicast maximum-paths * set protocols bgp ASN address-family ipv4-unicast maximum-paths-ibgp * set protocols bgp ASN address-family ipv6-unicast maximum-paths * set protocols bgp ASN address-family ipv6-unicast maximum-paths-ibgp
2021-02-27smoketest: bgp: T2100: fix "simple" testcase for ebgp-requires-policyChristian Poessinger
Commit 4bf55f97 ("BGP: T2100: Adding RFC8212 option toggle.") added a CLI option to enable RFC8212 ebgp-requires-policy checks. The extended smoketests assumed that this will lead to an FRR configuration line of "bgp ebgp-requires-policy" - which is not the case as this is a default option and FRR hides default options from the config. In order to properly verify this functionality we must conduct the negative test and ensure the option is not present in the CLI at all.
2021-02-26Merge pull request #744 from Cheeze-It/currentChristian Poessinger
bgp: T2100: Changing RFC8212 behavior and option toggle
2021-02-26BGP: T2100: Adding RFC8212 option toggle.Cheeze_It
In this commit we add the default operation within BGP to have RFC8212 disabled for eBGP routes. This default should preserve the normal behavior for VyOS from earlier releases of FRR to the current latest release. Another option that we add is the ability to toggle whether or not RFC8212 is enabled or disabled.
2021-02-23routing: T3211: Add redistribute protocol IS-IS to bgp ospf ripsever-sever
2021-02-14bgp: T2315: add CLI options for addpath-tx-(all-paths|bestpath-per-AS)Christian Poessinger
* protocols bgp 65000 neighbor 192.0.2.1 address-family ipv4-unicast addpath-tx-all * protocols bgp 65000 neighbor 192.0.2.1 address-family ipv4-unicast addpath-tx-per-as * protocols bgp 65000 neighbor 2001:db8::1 address-family ipv6-unicast addpath-tx-all * protocols bgp 65000 neighbor 2001:db8::1 address-family ipv6-unicast addpath-tx-per-as
2021-02-14bgp: T1513: add per VNI advertise-default-gw, advertise-svi-ip optionsChristian Poessinger
2021-02-14bgp: T2844: add IPv4 disable-send-community supportChristian Poessinger
2021-02-14bgp: T2387: bugfix missing options not added to FRRChristian Poessinger
The following options were not represented in the Jinja2 template: - port - advertisement-interval - strict-capability-match In addition the smoketests have been extended to support IPv6 neighbors, too.
2021-02-14bgp: T3308: add graceful-shutdown optionChristian Poessinger
2021-01-29rpki: T3255: provide full protocol support in XML and PythonChristian Poessinger
This commit provides the implementation of the OSPF CLI with a Jinja2 template that is loaded by FRR reload.