diff --git a/PR408_README.md b/PR408_README.md
new file mode 100644
index 000000000..0423b56fb
--- /dev/null
+++ b/PR408_README.md
@@ -0,0 +1,163 @@
+# ๐ฆ Pull Request Documentation
+
+## ๐งพ Summary
+
+
+
+This is a new Ansible module to manage VyOS VRF configuration as requested by https://vyos.dev/T6836
+
+---
+
+## ๐ Implementation
+
+
+
+The module implements a set of VyOS 1.4.2 and 1.5.x commands related to VRF configuration, described in https://docs.vyos.io/en/1.4/configuration/vrf/index.html
+The module allows to configure a global attribute (bind-all), as well as, VRF instance configuration.
+
+The structure of the parameters is depicted below
+
+
+The module supports the following states:
+
+- "deleted"
+- "merged"
+- "replaced"
+- "overridden"
+- "gathered"
+- "rendered"
+- "parsed"
+
+---
+
+## ๐ Examples
+
+### Replaced (to demo individual attribute processing)
+
+Initial coonfiguration
+
+```
+ - set vrf bind-to-all
+ - set vrf name vrf-blue description 'blue-vrf'
+ - set vrf name vrf-blue table '100'
+ - set vrf name vrf-blue vni '1000'
+ - set vrf name vrf-red description 'red-vrf'
+ - set vrf name vrf-red disable
+ - set vrf name vrf-red ip disable-forwarding
+ - set vrf name vrf-red ip protocol kernel route-map 'rm1'
+ - set vrf name vrf-red ip protocol rip route-map 'rm1'
+ - set vrf name vrf-red ipv6 nht no-resolve-via-default
+ - set vrf name vrf-red table '101'
+ - set vrf name vrf-red vni '1001'
+ - set vrf name vrf-pink table 111
+ - set vrf name vrf-pink vni 1111
+ - set vrf name vrf-pink description pink-vrf
+ - set vrf name vrf-pink protocols bgp system-as 65000
+ - set vrf name vrf-pink protocols bgp neighbor 192.0.2.1 remote-as 65002
+ - set vrf name vrf-pink protocols bgp neighbor 1.1.1.3 passive
+ - set vrf name vrf-pink protocols bgp neighbor 1.1.1.3 remote-as 400
+ - set vrf name vrf-pink protocols ospf log-adjacency-changes 'detail'
+ - set vrf name vrf-pink protocols ospf max-metric router-lsa administrative
+ - set vrf name vrf-pink protocols ospf max-metric router-lsa on-shutdown 10
+ - set vrf name vrf-pink protocols ospf max-metric router-lsa on-startup 10
+ - set vrf name vrf-pink protocols ospf default-information originate always
+ - set vrf name vrf-pink protocols ospf default-information originate metric 10
+ - set vrf name vrf-pink protocols ospf default-information originate metric-type 2
+ - set vrf name vrf-pink protocols ospf mpls-te router-address '192.0.11.12'
+ - set vrf name vrf-pink protocols ospf auto-cost reference-bandwidth '2'
+ - set vrf name vrf-pink protocols ospf neighbor 192.0.11.12
+ - set vrf name vrf-pink protocols ospf neighbor 192.0.11.12 poll-interval 10
+ - set vrf name vrf-pink protocols ospf neighbor 192.0.11.12 priority 2
+ - set vrf name vrf-pink protocols ospf redistribute bgp
+ - set vrf name vrf-pink protocols ospf redistribute bgp metric 10
+ - set vrf name vrf-pink protocols ospf redistribute bgp metric-type 2
+ - set vrf name vrf-pink protocols ospf parameters router-id '192.0.1.1'
+ - set vrf name vrf-pink protocols ospf parameters rfc1583-compatibility
+ - set vrf name vrf-pink protocols ospf parameters abr-type 'cisco'
+ - set vrf name vrf-pink protocols ospf area '2'
+ - set vrf name vrf-pink protocols ospf area 2 area-type normal
+ - set vrf name vrf-pink protocols ospf area 2 authentication plaintext-password
+ - set vrf name vrf-pink protocols ospf area 2 shortcut enable
+ - set vrf name vrf-pink protocols ospf area '3'
+ - set vrf name vrf-pink protocols ospf area 3 area-type nssa
+ - set vrf name vrf-pink protocols ospf area '4'
+ - set vrf name vrf-pink protocols ospf area 4 area-type stub default-cost 20
+ - set vrf name vrf-pink protocols ospf area 4 network 192.0.2.0/24
+ - set vrf name vrf-pink protocols ospf area 4 range 192.0.3.0/24
+ - set vrf name vrf-pink protocols ospf area 4 range 192.0.3.0/24 cost 10
+ - set vrf name vrf-pink protocols ospf area 4 range 192.0.4.0/24
+ - set vrf name vrf-pink protocols ospf area 4 range 192.0.4.0/24 cost 12
+ - set vrf name vrf-pink protocols ospfv3 area '2'
+ - set vrf name vrf-pink protocols ospfv3 area 2 export-list export1
+ - set vrf name vrf-pink protocols ospfv3 area 2 import-list import1
+ - set vrf name vrf-pink protocols ospfv3 area 2 range 2001:db10::/32
+ - set vrf name vrf-pink protocols ospfv3 area 2 range 2001:db20::/32
+ - set vrf name vrf-pink protocols ospfv3 area 2 range 2001:db30::/32
+ - set vrf name vrf-pink protocols ospfv3 area '3'
+ - set vrf name vrf-pink protocols ospfv3 area 3 range 2001:db40::/32
+ - set vrf name vrf-pink protocols ospfv3 parameters router-id '192.0.2.10'
+ - set vrf name vrf-pink protocols ospfv3 redistribute bgp
+ - set vrf name vrf-pink protocols static route 192.0.2.0/24
+ - set vrf name vrf-pink protocols static route 192.0.2.0/24 blackhole distance '10'
+ - set vrf name vrf-pink protocols static route 192.0.2.0/24 next-hop '203.0.113.1'
+ - set vrf name vrf-pink protocols static route 192.0.2.0/24 next-hop '203.0.113.2'
+ - set vrf name vrf-pink protocols static route6 2001:db8::/32
+ - set vrf name vrf-pink protocols static route6 2001:db8::/32 blackhole distance '20'
+ - set vrf name vrf-pink protocols static route6 2001:db8::/32 next-hop '2001:db8::1'
+```
+
+Module configuration
+
+```yaml
+vyos.vyos.vyos_vrf:
+ config:
+ instances:
+ - name: "vrf-blue"
+ description: "blue-vrf"
+ disable: true
+ table_id: 100
+ vni: 1000
+ - name: "vrf-red"
+ description: "Vermillion_VRF"
+ disable: false
+ table_id: 101
+ vni: 1011
+ address_family:
+ - afi: "ipv6"
+ nht_no_resolve_via_default: false
+ - name: "vrf-pink"
+ table_id: 111
+ protocols:
+ ospf:
+ default_information:
+ originate:
+ always: true
+ metric: 20
+ metric_type: 1
+ state: replaced
+```
+
+Will result in
+
+````
+- delete vrf bind-to-all
+- set vrf name vrf-blue disable
+- set vrf name vrf-red vni 1011
+- set vrf name vrf-red description Vermillion_VRF
+- delete vrf name vrf-red disable
+- delete vrf name vrf-red ipv6 nht no-resolve-via-default
+- delete vrf name vrf-pink vni 1111
+- delete vrf name vrf-pink description pink-vrf
+- delete vrf name vrf-pink protocols ospf log-adjacency-changes 'detail'
+- delete vrf name vrf-pink protocols ospf auto-cost
+- delete vrf name vrf-pink protocols ospf max-metric
+- delete vrf name vrf-pink protocols ospf mpls-te
+- delete vrf name vrf-pink protocols ospf area
+- delete vrf name vrf-pink protocols ospf parameters
+- delete vrf name vrf-pink protocols ospf neighbor
+- delete vrf name vrf-pink protocols ospf redistribute
+- set vrf name vrf-pink protocols ospf default-information originate metric 20
+- set vrf name vrf-pink protocols ospf default-information originate metric-type 1
+```
+---
+````
diff --git a/README.md b/README.md
index df9d916e2..c453038b8 100644
--- a/README.md
+++ b/README.md
@@ -70,6 +70,7 @@ Name | Description
[vyos.vyos.vyos_system](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_system_module.rst)|Run `set system` commands on VyOS devices
[vyos.vyos.vyos_user](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_user_module.rst)|Manage the collection of local users on VyOS device
[vyos.vyos.vyos_vlan](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_vlan_module.rst)|Manage VLANs on VyOS network devices
+[vyos.vyos.vyos_vrf](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_vrf_module.rst)|VRF resource module
diff --git a/changelogs/fragments/t6838_vrf.yml b/changelogs/fragments/t6838_vrf.yml
new file mode 100644
index 000000000..9483e4667
--- /dev/null
+++ b/changelogs/fragments/t6838_vrf.yml
@@ -0,0 +1,3 @@
+---
+minor_changes:
+ - vyos_vrf - Add VRF support
diff --git a/docs/vyos.vyos.vyos_vrf_module.rst b/docs/vyos.vyos.vyos_vrf_module.rst
new file mode 100644
index 000000000..9976ac9c2
--- /dev/null
+++ b/docs/vyos.vyos.vyos_vrf_module.rst
@@ -0,0 +1,5140 @@
+.. _vyos.vyos.vyos_vrf_module:
+
+
+******************
+vyos.vyos.vyos_vrf
+******************
+
+**VRF resource module**
+
+
+Version added: 1.0.0
+
+.. contents::
+ :local:
+ :depth: 1
+
+
+Synopsis
+--------
+- This module manages vrf configuration on devices running Vyos
+
+
+
+
+Parameters
+----------
+
+.. raw:: html
+
+
+
+ | Parameter |
+ Choices/Defaults |
+ Comments |
+
+
+ |
+
+ config
+
+
+ dictionary
+
+ |
+
+ |
+
+ List of vrf configuration.
+ |
+
+
+ |
+
+
+ bind_to_all
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enable binding services to all VRFs
+ |
+
+
+ |
+
+
+ instances
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Virtual Routing and Forwarding instance
+ |
+
+
+ |
+ |
+
+
+ address_family
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Address family configuration
+ |
+
+
+ |
+ |
+ |
+
+
+ afi
+
+
+ string
+
+ |
+
+
+ |
+
+ Address family identifier
+ |
+
+
+ |
+ |
+ |
+
+
+ disable_forwarding
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable forwarding for this address family
+ |
+
+
+ |
+ |
+ |
+
+
+ nht_no_resolve_via_default
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable next-hop resolution via default route
+ |
+
+
+ |
+ |
+ |
+
+
+ route_maps
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ List of route maps for this address family
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ protocol
+
+
+ string
+
+ |
+
+ Choices:
+ - any
+ - babel
+ - bgp
+ - connected
+ - eigrp
+ - isis
+ - kernel
+ - ospf
+ - rip
+ - static
+ - table
+
+ |
+
+ Protocol to which the route map applies
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ rm_name
+
+
+ string
+ / required
+
+ |
+
+ |
+
+ Route map name
+ |
+
+
+
+
+ |
+ |
+
+
+ description
+
+
+ string
+
+ |
+
+ |
+
+ Description
+ |
+
+
+ |
+ |
+
+
+ disable
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Administratively disable interface
+ aliases: disabled
+ |
+
+
+ |
+ |
+
+
+ name
+
+
+ string
+ / required
+
+ |
+
+ |
+
+ VRF instance name
+ |
+
+
+ |
+ |
+
+
+ protocols
+
+
+ dictionary
+
+ |
+
+ |
+
+ Protocol configuration
+ |
+
+
+ |
+ |
+ |
+
+
+ bgp
+
+
+ dictionary
+
+ |
+
+ |
+
+ BGP configuration
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ as_number
+
+
+ integer
+
+ |
+
+ |
+
+ AS number.
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ bgp_params
+
+
+ dictionary
+
+ |
+
+ |
+
+ BGP parameters
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ always_compare_med
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Always compare MEDs from different neighbors
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ bestpath
+
+
+ dictionary
+
+ |
+
+ |
+
+ Default bestpath selection mechanism
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ as_path
+
+
+ string
+
+ |
+
+ Choices:
+ - confed
+ - ignore
+
+ |
+
+ AS-path attribute comparison parameters
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ compare_routerid
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Compare the router-id for identical EBGP paths
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ med
+
+
+ string
+
+ |
+
+ Choices:
+ - confed
+ - missing-as-worst
+
+ |
+
+ MED attribute comparison parameters
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ cluster_id
+
+
+ string
+
+ |
+
+ |
+
+ Route-reflector cluster-id
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ confederation
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ AS confederation parameters
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ identifier
+
+
+ integer
+
+ |
+
+ |
+
+ Confederation AS identifier
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ peers
+
+
+ integer
+
+ |
+
+ |
+
+ Peer ASs in the BGP confederation
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ dampening
+
+
+ dictionary
+
+ |
+
+ |
+
+ Enable route-flap dampening
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ half_life
+
+
+ integer
+
+ |
+
+ |
+
+ Half-life penalty in seconds
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ max_suppress_time
+
+
+ integer
+
+ |
+
+ |
+
+ Maximum duration to suppress a stable route
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ re_use
+
+
+ integer
+
+ |
+
+ |
+
+ Time to start reusing a route
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ start_suppress_time
+
+
+ integer
+
+ |
+
+ |
+
+ When to start suppressing a route
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ default
+
+
+ dictionary
+
+ |
+
+ |
+
+ BGP defaults
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ local_pref
+
+
+ integer
+
+ |
+
+ |
+
+ Default local preference
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ no_ipv4_unicast
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Deactivate IPv4 unicast for a peer by default
+ Deprecated: Unavailable after 1.4
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ deterministic_med
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Compare MEDs between different peers in the same AS
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ disable_network_import_check
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable IGP route check for network statements
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ distance
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Administrative distances for BGP routes
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ prefix
+
+
+ integer
+
+ |
+
+ |
+
+ Administrative distance for a specific BGP prefix
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ type
+
+
+ string
+
+ |
+
+ Choices:
+ - external
+ - internal
+ - local
+
+ |
+
+ Type of route
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ value
+
+
+ integer
+
+ |
+
+ |
+
+ distance
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ enforce_first_as
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Require first AS in the path to match peer's AS
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ graceful_restart
+
+
+ integer
+
+ |
+
+ |
+
+ Maximum time to hold onto restarting peer's stale paths
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ log_neighbor_changes
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Log neighbor up/down changes and reset reason
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ no_client_to_client_reflection
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable client to client route reflection
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ no_fast_external_failover
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable immediate session reset if peer's connected link goes down
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ router_id
+
+
+ string
+
+ |
+
+ |
+
+ BGP router-id
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ scan_time
+
+
+ integer
+
+ |
+
+ |
+
+ BGP route scanner interval
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ neighbor
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ BGP neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ address
+
+
+ string
+
+ |
+
+ |
+
+ BGP neighbor address (v4/v6).
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ advertisement_interval
+
+
+ integer
+
+ |
+
+ |
+
+ Minimum interval for sending routing updates.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ capability
+
+
+ dictionary
+
+ |
+
+ |
+
+ Advertise capabilities to this neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ dynamic
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Advertise dynamic capability to this neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ extended_nexthop
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Advertise extended nexthop capability to this neighbor.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ default_originate
+
+
+ string
+
+ |
+
+ |
+
+ Send default route to this neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ description
+
+
+ string
+
+ |
+
+ |
+
+ Description of the neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ disable_capability_negotiation
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disbale capability negotiation with the neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ disable_connected_check
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable check to see if EBGP peer's address is a connected route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ disable_send_community
+
+
+ string
+
+ |
+
+ Choices:
+ - extended
+ - standard
+
+ |
+
+ Disable sending community attributes to this neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ ebgp_multihop
+
+
+ integer
+
+ |
+
+ |
+
+ Allow this EBGP neighbor to not be on a directly connected network. Specify the number hops.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ local_as
+
+
+ integer
+
+ |
+
+ |
+
+ local as number not to be prepended to updates from EBGP peers
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ override_capability
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Ignore capability negotiation with specified neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ passive
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Do not initiate a session with this neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ password
+
+
+ string
+
+ |
+
+ |
+
+ BGP MD5 password
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ peer_group
+
+
+ boolean
+
+ |
+
+
+ |
+
+ 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
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ remote_as
+
+
+ integer
+
+ |
+
+ |
+
+ Neighbor BGP AS number
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ shutdown
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Administratively shut down neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ solo
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Do not send back prefixes learned from the neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ strict_capability_match
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enable strict capability negotiation
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ timers
+
+
+ dictionary
+
+ |
+
+ |
+
+ Neighbor timers
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ connect
+
+
+ integer
+
+ |
+
+ |
+
+ BGP connect timer for this neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ holdtime
+
+
+ integer
+
+ |
+
+ |
+
+ BGP hold timer for this neighbor
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ keepalive
+
+
+ integer
+
+ |
+
+ |
+
+ BGP keepalive interval for this neighbor
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ ttl_security
+
+
+ integer
+
+ |
+
+ |
+
+ Number of the maximum number of hops to the BGP peer
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ update_source
+
+
+ string
+
+ |
+
+ |
+
+ Source IP of routing updates
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ timers
+
+
+ dictionary
+
+ |
+
+ |
+
+ BGP protocol timers
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ holdtime
+
+
+ integer
+
+ |
+
+ |
+
+ Hold time interval
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ keepalive
+
+
+ integer
+
+ |
+
+ |
+
+ Keepalive interval
+ |
+
+
+
+
+ |
+ |
+ |
+
+
+ ospf
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 configuration
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ areas
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ OSPFv2 area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ area_id
+
+
+ string
+
+ |
+
+ |
+
+ OSPFv2 area identity.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ area_type
+
+
+ dictionary
+
+ |
+
+ |
+
+ Area type.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ normal
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Normal OSPFv2 area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ nssa
+
+
+ dictionary
+
+ |
+
+ |
+
+ NSSA OSPFv2 area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ default_cost
+
+
+ integer
+
+ |
+
+ |
+
+ Summary-default cost of NSSA area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ no_summary
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Do not inject inter-area routes into stub.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ set
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enabling NSSA.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ translate
+
+
+ string
+
+ |
+
+ Choices:
+ - always
+ - candidate
+ - never
+
+ |
+
+ NSSA-ABR.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ stub
+
+
+ dictionary
+
+ |
+
+ |
+
+ Stub OSPFv2 area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ default_cost
+
+
+ integer
+
+ |
+
+ |
+
+ Summary-default cost of stub area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ no_summary
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Do not inject inter-area routes into stub.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ set
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enabling stub.
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ authentication
+
+
+ string
+
+ |
+
+ Choices:
+ - plaintext-password
+ - md5
+
+ |
+
+ OSPFv2 area authentication type.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ network
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ OSPFv2 network.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ address
+
+
+ string
+ / required
+
+ |
+
+ |
+
+ OSPFv2 IPv4 network address.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ range
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Summarize routes matching prefix (border routers only).
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ address
+
+
+ string
+
+ |
+
+ |
+
+ border router IPv4 address.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ cost
+
+
+ integer
+
+ |
+
+ |
+
+ Metric for this range.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ not_advertise
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Don't advertise this range.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ substitute
+
+
+ string
+
+ |
+
+ |
+
+ Announce area range (IPv4 address) as another prefix.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ shortcut
+
+
+ string
+
+ |
+
+ Choices:
+ - default
+ - disable
+ - enable
+
+ |
+
+ Area's shortcut mode.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ virtual_link
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Virtual link address.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ address
+
+
+ string
+
+ |
+
+ |
+
+ virtual link address.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ authentication
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 area authentication type.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ md5
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ MD5 key id based authentication.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ key_id
+
+
+ integer
+
+ |
+
+ |
+
+ MD5 key id.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ md5_key
+
+
+ string
+
+ |
+
+ |
+
+ MD5 key.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ plaintext_password
+
+
+ string
+
+ |
+
+ |
+
+ Plain text password.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ dead_interval
+
+
+ integer
+
+ |
+
+ |
+
+ Interval after which a neighbor is declared dead.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ hello_interval
+
+
+ integer
+
+ |
+
+ |
+
+ Interval between hello packets.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ retransmit_interval
+
+
+ integer
+
+ |
+
+ |
+
+ Interval between retransmitting lost link state advertisements.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ transmit_delay
+
+
+ integer
+
+ |
+
+ |
+
+ Link state transmit delay.
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ auto_cost
+
+
+ dictionary
+
+ |
+
+ |
+
+ Calculate OSPFv2 interface cost according to bandwidth.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ reference_bandwidth
+
+
+ integer
+
+ |
+
+ |
+
+ Reference bandwidth cost in Mbits/sec.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ default_information
+
+
+ dictionary
+
+ |
+
+ |
+
+ Control distribution of default information.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ originate
+
+
+ dictionary
+
+ |
+
+ |
+
+ Distribute a default route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ always
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Always advertise default route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ metric
+
+
+ integer
+
+ |
+
+ |
+
+ OSPFv2 default metric.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ metric_type
+
+
+ integer
+
+ |
+
+ |
+
+ OSPFv2 Metric types for default routes.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ route_map
+
+
+ string
+
+ |
+
+ |
+
+ Route map references.
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ default_metric
+
+
+ integer
+
+ |
+
+ |
+
+ Metric of redistributed routes
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ distance
+
+
+ dictionary
+
+ |
+
+ |
+
+ Administrative distance.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ global
+
+
+ integer
+
+ |
+
+ |
+
+ Global OSPFv2 administrative distance.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ ospf
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 administrative distance.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ external
+
+
+ integer
+
+ |
+
+ |
+
+ Distance for external routes.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ inter_area
+
+
+ integer
+
+ |
+
+ |
+
+ Distance for inter-area routes.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ intra_area
+
+
+ integer
+
+ |
+
+ |
+
+ Distance for intra-area routes.
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ log_adjacency_changes
+
+
+ string
+
+ |
+
+
+ |
+
+ Log changes in adjacency state.
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ max_metric
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 maximum/infinite-distance metric.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ router_lsa
+
+
+ dictionary
+
+ |
+
+ |
+
+ Advertise own Router-LSA with infinite distance (stub router).
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ administrative
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Administratively apply, for an indefinite period.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ on_shutdown
+
+
+ integer
+
+ |
+
+ |
+
+ Time to advertise self as stub-router.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ on_startup
+
+
+ integer
+
+ |
+
+ |
+
+ Time to advertise self as stub-router
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ mpls_te
+
+
+ dictionary
+
+ |
+
+ |
+
+ MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ enabled
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enable MPLS-TE functionality.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ router_address
+
+
+ string
+
+ |
+
+ |
+
+ Stable IP address of the advertising router.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ neighbor
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Neighbor IP address.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ neighbor_id
+
+
+ string
+
+ |
+
+ |
+
+ Identity (number/IP address) of neighbor.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ poll_interval
+
+
+ integer
+
+ |
+
+ |
+
+ Seconds between dead neighbor polling interval.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ priority
+
+
+ integer
+
+ |
+
+ |
+
+ Neighbor priority.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ parameters
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 specific parameters.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ abr_type
+
+
+ string
+
+ |
+
+ Choices:
+ - cisco
+ - ibm
+ - shortcut
+ - standard
+
+ |
+
+ OSPFv2 ABR Type.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ opaque_lsa
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enable the Opaque-LSA capability (rfc2370).
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ rfc1583_compatibility
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Enable rfc1583 criteria for handling AS external routes.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ router_id
+
+
+ string
+
+ |
+
+ |
+
+ Override the default router identifier.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ passive_interface
+
+
+ list
+ / elements=string
+
+ |
+
+ |
+
+ Suppress routing updates on an interface.
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ passive_interface_exclude
+
+
+ list
+ / elements=string
+
+ |
+
+ |
+
+ Interface to exclude when using passive-interface default.
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ redistribute
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Redistribute information from another routing protocol.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ metric
+
+
+ integer
+
+ |
+
+ |
+
+ Metric for redistribution routes.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ metric_type
+
+
+ integer
+
+ |
+
+ |
+
+ OSPFv2 Metric types.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ route_map
+
+
+ string
+
+ |
+
+ |
+
+ Route map references.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ route_type
+
+
+ string
+
+ |
+
+ Choices:
+ - bgp
+ - connected
+ - kernel
+ - rip
+ - static
+
+ |
+
+ Route type to redistribute.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ route_map
+
+
+ list
+ / elements=string
+
+ |
+
+ |
+
+ Filter routes installed in local route map.
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ timers
+
+
+ dictionary
+
+ |
+
+ |
+
+ Adjust routing timers.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ refresh
+
+
+ dictionary
+
+ |
+
+ |
+
+ Adjust refresh parameters.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ timers
+
+
+ integer
+
+ |
+
+ |
+
+ refresh timer.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ throttle
+
+
+ dictionary
+
+ |
+
+ |
+
+ Throttling adaptive timers.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ spf
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv2 SPF timers.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ delay
+
+
+ integer
+
+ |
+
+ |
+
+ Delay (msec) from first change received till SPF calculation.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ initial_holdtime
+
+
+ integer
+
+ |
+
+ |
+
+ Initial hold time(msec) between consecutive SPF calculations.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ max_holdtime
+
+
+ integer
+
+ |
+
+ |
+
+ maximum hold time (sec).
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ ospfv3
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv3 configuration
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ areas
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ OSPFv3 area.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ area_id
+
+
+ string
+
+ |
+
+ |
+
+ OSPFv3 Area name/identity.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ export_list
+
+
+ string
+
+ |
+
+ |
+
+ Name of export-list.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ import_list
+
+
+ string
+
+ |
+
+ |
+
+ Name of import-list.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ interface
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Enable OSPVv3 on an interface for this area.
+ aliases: interfaces
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ name
+
+
+ string
+
+ |
+
+ |
+
+ Interface name.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ range
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Summarize routes matching prefix (border routers only).
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ address
+
+
+ string
+
+ |
+
+ |
+
+ border router IPv4 address.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ advertise
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Advertise this range.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ not_advertise
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Don't advertise this range.
+ |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ parameters
+
+
+ dictionary
+
+ |
+
+ |
+
+ OSPFv3 specific parameters.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ router_id
+
+
+ string
+
+ |
+
+ |
+
+ Override the default router identifier.
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ redistribute
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Redistribute information from another routing protocol.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ route_map
+
+
+ string
+
+ |
+
+ |
+
+ Route map references.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ route_type
+
+
+ string
+
+ |
+
+ Choices:
+ - bgp
+ - connected
+ - kernel
+ - ripng
+ - static
+
+ |
+
+ Route type to redistribute.
+ |
+
+
+
+
+ |
+ |
+ |
+
+
+ static
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Static routes configuration
+ |
+
+
+ |
+ |
+ |
+ |
+
+
+ address_families
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ A dictionary specifying the address family to which the static route(s) belong.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ afi
+
+
+ string
+ / required
+
+ |
+
+
+ |
+
+ Specifies the type of route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ routes
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ A dictionary that specify the static route configurations.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ blackhole_config
+
+
+ dictionary
+
+ |
+
+ |
+
+ Configured to silently discard packets.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ distance
+
+
+ integer
+
+ |
+
+ |
+
+ Distance for the route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ type
+
+
+ string
+
+ |
+
+ |
+
+ This is to configure only blackhole.
+ |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ dest
+
+
+ string
+ / required
+
+ |
+
+ |
+
+ An IPv4/v6 address in CIDR notation that specifies the destination network for the static route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ next_hops
+
+
+ list
+ / elements=dictionary
+
+ |
+
+ |
+
+ Next hops to the specified destination.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ admin_distance
+
+
+ integer
+
+ |
+
+ |
+
+ Distance value for the route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ enabled
+
+
+ boolean
+
+ |
+
+
+ |
+
+ Disable IPv4/v6 next-hop static route.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ forward_router_address
+
+
+ string
+
+ |
+
+ |
+
+ The IP address of the next hop that can be used to reach the destination network.
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ interface
+
+
+ string
+
+ |
+
+ |
+
+ Name of the outgoing interface.
+ |
+
+
+
+
+
+
+
+ |
+ |
+
+
+ table_id
+
+
+ integer
+
+ |
+
+ |
+
+ Routing table associated with this instance
+ |
+
+
+ |
+ |
+
+
+ vni
+
+
+ integer
+
+ |
+
+ |
+
+ Virtual Network Identifier
+ |
+
+
+
+
+ |
+
+ running_config
+
+
+ string
+
+ |
+
+ |
+
+ This option is used only with state parsed.
+ The value of this option should be the output received from the VYOS device by executing the command show configuration commands | match "set vrf".
+ The states replaced and overridden have identical behaviour for this module.
+ The state parsed reads the configuration from show configuration commands | match "set vrf" option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result.
+ |
+
+
+ |
+
+ state
+
+
+ string
+
+ |
+
+ Choices:
+ - deleted
+ merged ←
+ - overridden
+ - replaced
+ - gathered
+ - rendered
+ - parsed
+
+ |
+
+ The state the configuration should be left in.
+ |
+
+
+