From cae1c6cc42fa786095433692a6d685f029bbde2e Mon Sep 17 00:00:00 2001 From: omnom62 <75066712+omnom62@users.noreply.github.com> Date: Fri, 20 Dec 2024 05:33:39 +1000 Subject: VyOS v1.4 support for BGP (T6892 & T6888 & T6822) (#367) * VyOS v1.4 support for BGP (T6892) * WIP: chnages to scanners and facts for BGP on v1.4 * scanners and facts modification to support as_numberless commands * remove optional regex groups * VyOS v1.4 BGP system-as functionality * bgp_af linter * bgp_global mods and testing * bgp_global v.1.4 support * linter fixes * bgp_global and bgp_af fixed 1.3 test cases * unit tests for bgp modules for both versions * obsolete stranzas removed from bgp_global for both versions * some typos removed * bgp_global rst updates * t6829 related draft changes * Draft changes to unit tests fot original set and t6888 updates * changelog * D.R.Y for bgp_global and testmodule names * linter fixes * fixtures for bgp_af options testts * stranzas options processing * T6888 bgp option test func and cases * clean-up draft code and update to rm_templates * v14 system-as change supported in conf and tests * T6822 BGP global passive bugfix * clean-up * T6829: update integration tests * T6829: fix integration tests for global * T6829: fix integration tests for bgp_global * T6829: fix for 1.4 AF integration tests * T6829: fix unit tests after removing obsolete items * T6829: fix sanity test failures * T6829: fix documentation * Lint and comments are addressed * rtt.yaml and fix to integration tests * updated fragments for bgp_global * lint fixes --------- Co-authored-by: Gaige B. Paulsen --- docs/vyos.vyos.vyos_bgp_address_family_module.rst | 1 + docs/vyos.vyos.vyos_bgp_global_module.rst | 913 ++-------------------- 2 files changed, 73 insertions(+), 841 deletions(-) (limited to 'docs') diff --git a/docs/vyos.vyos.vyos_bgp_address_family_module.rst b/docs/vyos.vyos.vyos_bgp_address_family_module.rst index ec4a639..e17dfdd 100644 --- a/docs/vyos.vyos.vyos_bgp_address_family_module.rst +++ b/docs/vyos.vyos.vyos_bgp_address_family_module.rst @@ -18,6 +18,7 @@ Version added: 1.0.0 Synopsis -------- - This module manages BGP address family configuration of interfaces on devices running VYOS. +- Tested against VYOS 1.3, 1.4 diff --git a/docs/vyos.vyos.vyos_bgp_global_module.rst b/docs/vyos.vyos.vyos_bgp_global_module.rst index 4479124..64a1b7e 100644 --- a/docs/vyos.vyos.vyos_bgp_global_module.rst +++ b/docs/vyos.vyos.vyos_bgp_global_module.rst @@ -18,6 +18,7 @@ Version added: 1.0.0 Synopsis -------- - This module manages BGP global configuration of interfaces on devices running VYOS. +- Tested against VYOS 1.3, 1.4 @@ -50,83 +51,6 @@ Parameters - -
- aggregate_address - -
- list - / elements=dictionary -
- - - - -
BGP aggregate network.
- - - - - - -
- as_set - -
- boolean -
- - - - - -
Generate AS-set path information for this aggregate address.
- - - - - - -
- prefix - -
- string -
- - - - -
BGP aggregate network.
- - - - - - -
- summary_only - -
- boolean -
- - - - - -
Announce the aggregate summary network only.
- - - - -
as_number @@ -478,7 +402,8 @@ Parameters -
Deactivate IPv4 unicast for a peer by default
+
Deactivate IPv4 unicast for a peer by default + Deprecated: Unavailable after 1.4
@@ -738,58 +663,6 @@ Parameters - - - -
- maximum_paths - -
- list - / elements=dictionary -
- - - - -
BGP multipaths
- - - - - - -
- count - -
- integer -
- - - - -
No. of paths.
- - - - - - -
- path - -
- string -
- - - - -
BGP multipaths
- - - @@ -846,24 +719,25 @@ Parameters
- allowas_in + capability
- integer + dictionary
-
Number of occurrences of AS number.
+
Advertise capabilities to this neighbor.
- + - + +
- as_override + dynamic
boolean @@ -876,33 +750,16 @@ Parameters -
AS for routes sent to this neighbor to be the local AS.
+
Advertise dynamic capability to this neighbor.
- -
- attribute_unchanged - -
- dictionary -
- - - - -
BGP attributes are sent unchanged.
- - - - -
- as_path + extended_nexthop
boolean @@ -915,78 +772,71 @@ Parameters -
as_path
+
Advertise extended nexthop capability to this neighbor.
+ - - +
- med + default_originate
- boolean + string
-
    Choices: -
  • no
  • -
  • yes
  • -
-
med
+
Send default route to this neighbor
- - +
- next_hop + description
- boolean + string
-
    Choices: -
  • no
  • -
  • yes
  • -
-
next_hop
+
Description of the neighbor
-
- capability + disable_capability_negotiation
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Advertise capabilities to this neighbor.
+
Disbale capability negotiation with the neighbor
- - + - +
- dynamic + disable_connected_check
boolean @@ -999,16 +849,15 @@ Parameters -
Advertise dynamic capability to this neighbor.
+
Disable check to see if EBGP peer's address is a connected route.
- - +
- orf + disable_send_community
string @@ -1016,30 +865,29 @@ Parameters
    Choices: -
  • send
  • -
  • receive
  • +
  • extended
  • +
  • standard
-
Advertise ORF capability to this neighbor.
+
Disable sending community attributes to this neighbor.
-
- default_originate + ebgp_multihop
- string + integer
-
Send default route to this neighbor
+
Allow this EBGP neighbor to not be on a directly connected network. Specify the number hops.
@@ -1047,16 +895,16 @@ Parameters
- description + local_as
- string + integer
-
Description of the neighbor
+
local as number not to be prepended to updates from EBGP peers
@@ -1064,7 +912,7 @@ Parameters
- disable_capability_negotiation + override_capability
boolean @@ -1077,7 +925,7 @@ Parameters -
Disbale capability negotiation with the neighbor
+
Ignore capability negotiation with specified neighbor.
@@ -1085,7 +933,7 @@ Parameters
- disable_connected_check + passive
boolean @@ -1098,7 +946,7 @@ Parameters -
Disable check to see if EBGP peer's address is a connected route.
+
Do not initiate a session with this neighbor
@@ -1106,20 +954,16 @@ Parameters
- disable_send_community + password
string
-
    Choices: -
  • extended
  • -
  • standard
  • -
-
Disable sending community attributes to this neighbor.
+
BGP MD5 password
@@ -1127,66 +971,62 @@ Parameters
- distribute_list + peer_group
- list - / elements=dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Access-list to filter route updates to/from this neighbor.
+
True if all the configs under this neighbor key is for peer group template.
- - + - +
- acl + peer_group_name
- integer + string
-
Access-list number.
+
IPv4 peer group for this peer
- - +
- action + port
- string + integer
-
    Choices: -
  • export
  • -
  • import
  • -
-
Access-list to filter outgoing/incoming route updates to this neighbor
+
Neighbor's BGP port
-
- ebgp_multihop + remote_as
integer @@ -1195,7 +1035,7 @@ Parameters -
Allow this EBGP neighbor to not be on a directly connected network. Specify the number hops.
+
Neighbor BGP AS number
@@ -1203,433 +1043,7 @@ Parameters
- filter_list - -
- list - / elements=dictionary -
- - - - -
As-path-list to filter route updates to/from this neighbor.
- - - - - - - -
- action - -
- string -
- - -
    Choices: -
  • export
  • -
  • import
  • -
- - -
filter outgoing/incoming route updates
- - - - - - - -
- path_list - -
- string -
- - - - -
As-path-list to filter
- - - - - - - -
- local_as - -
- integer -
- - - - -
local as number not to be prepended to updates from EBGP peers
- - - - - - -
- maximum_prefix - -
- integer -
- - - - -
Maximum number of prefixes to accept from this neighbor nexthop-self Nexthop for routes sent to this neighbor to be the local router.
- - - - - - -
- nexthop_self - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Nexthop for routes sent to this neighbor to be the local router.
- - - - - - -
- override_capability - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Ignore capability negotiation with specified neighbor.
- - - - - - -
- passive - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Do not initiate a session with this neighbor
- - - - - - -
- password - -
- string -
- - - - -
BGP MD5 password
- - - - - - -
- peer_group - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
True if all the configs under this neighbor key is for peer group template.
- - - - - - -
- peer_group_name - -
- string -
- - - - -
IPv4 peer group for this peer
- - - - - - -
- port - -
- integer -
- - - - -
Neighbor's BGP port
- - - - - - -
- prefix_list - -
- list - / elements=dictionary -
- - - - -
Prefix-list to filter route updates to/from this neighbor.
- - - - - - - -
- action - -
- string -
- - -
    Choices: -
  • export
  • -
  • import
  • -
- - -
filter outgoing/incoming route updates
- - - - - - - -
- prefix_list - -
- string -
- - - - -
Prefix-list to filter
- - - - - - - -
- remote_as - -
- integer -
- - - - -
Neighbor BGP AS number
- - - - - - -
- remove_private_as - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Remove private AS numbers from AS path in outbound route updates
- - - - - - -
- route_map - -
- list - / elements=dictionary -
- - - - -
Route-map to filter route updates to/from this neighbor.
- - - - - - - -
- action - -
- string -
- - -
    Choices: -
  • export
  • -
  • import
  • -
- - -
filter outgoing/incoming route updates
- - - - - - - -
- route_map - -
- string -
- - - - -
route-map to filter
- - - - - - - -
- route_reflector_client - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Neighbor as a route reflector client
- - - - - - -
- route_server_client - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Neighbor is route server client
- - - - - - -
- shutdown + shutdown
boolean @@ -1650,7 +1064,7 @@ Parameters
- soft_reconfiguration + solo
boolean @@ -1663,7 +1077,7 @@ Parameters -
Soft reconfiguration for neighbor
+
Do not send back prefixes learned from the neighbor
@@ -1773,24 +1187,7 @@ Parameters -
Ttl security mechanism for this BGP peer
- - - - - - -
- unsuppress_map - -
- string -
- - - - -
Route-map to selectively unsuppress suppressed routes
+
Number of the maximum number of hops to the BGP peer
@@ -1810,172 +1207,6 @@ Parameters
Source IP of routing updates
- - - - -
- weight - -
- integer -
- - - - -
Default weight for routes from this neighbor
- - - - - - -
- network - -
- list - / elements=dictionary -
- - - - -
BGP network
- - - - - - -
- address - -
- string -
- - - - -
BGP network address
- - - - - - -
- backdoor - -
- boolean -
- - -
    Choices: -
  • no
  • -
  • yes
  • -
- - -
Network as a backdoor route
- - - - - - -
- route_map - -
- string -
- - - - -
Route-map to modify route attributes
- - - - - - -
- redistribute - -
- list - / elements=dictionary -
- - - - -
Redistribute routes from other protocols into BGP
- - - - - - -
- metric - -
- integer -
- - - - -
Metric for redistributed routes.
- - - - - - -
- protocol - -
- string -
- - -
    Choices: -
  • connected
  • -
  • kernel
  • -
  • ospf
  • -
  • rip
  • -
  • static
  • -
- - -
types of routes to be redistributed.
- - - - - - -
- route_map - -
- string -
- - - - -
Route map to filter redistributed routes
- - -- cgit v1.2.3