summaryrefslogtreecommitdiffstats
path: root/collections-debian-merged/ansible_collections/dellemc/os10/playbooks
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
commita453ac31f3428614cceb99027f8efbdb9258a40b (patch)
treef61f87408f32a8511cbd91799f9cececb53e0374 /collections-debian-merged/ansible_collections/dellemc/os10/playbooks
parentInitial commit. (diff)
downloadansible-upstream.tar.xz
ansible-upstream.zip
Adding upstream version 2.10.7+merged+base+2.10.8+dfsg.upstream/2.10.7+merged+base+2.10.8+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'collections-debian-merged/ansible_collections/dellemc/os10/playbooks')
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/README.md37
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/datacenter.yaml11
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/all9
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/spine.yaml85
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf1.yaml77
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf2.yaml81
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf3.yaml81
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf4.yaml77
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine1.yaml61
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine2.yaml60
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/inventory.yaml20
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/README.md63
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/datacenter.yaml16
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep1.yaml210
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep2.yaml194
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep1.yaml206
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep2.yaml200
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine1.yaml95
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine2.yaml95
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/inventory.yaml20
-rw-r--r--collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/vxlan_evpn_topology.pngbin0 -> 101145 bytes
21 files changed, 1698 insertions, 0 deletions
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/README.md b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/README.md
new file mode 100644
index 00000000..f0affd95
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/README.md
@@ -0,0 +1,37 @@
+
+
+# Provision CLOS fabric using the Ansible collection for Dell EMC SmartFabric OS10
+
+This example describes how to use Ansible to build a CLOS fabric using Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. The sample topology is a two-tier CLOS fabric with two spines and four leaves connected as mesh. eBGP is running between the two tiers. All switches in spine have the same AS number, and each leaf switch has a unique AS number. All AS numbers used are private.
+
+For application load-balancing purposes, the same prefix is advertised from multiple leaf switches and uses _BGP multipath relax_ feature.
+
+![CLOS FABRIC Topology](https://ansible-dellos-docs.readthedocs.io/en/latest/_images/topo.png)
+
+## Create simple Ansible playbook
+
+**1**. Create an inventory file called `inventory.yaml`, then specify the device IP address.
+
+**2**. Create a group variable file called `group_vars/all`, then define credentials and SNMP variables.
+
+**3**. Create a group variable file called `group_vars/spine.yaml`, then define credentials, hostname, and BGP neighbors of spine group.
+
+**4**. Create a host variable file called `host_vars/spine1.yaml`, then define the host, credentials, and transport.
+
+**5**. Create a host variable file called `host_vars/spine2.yaml`, then define the host, credentials, and transport.
+
+**6**. Create a host variable file called `host_vars/leaf1.yaml`, then define the host, credentials, and transport.
+
+**7**. Create a host variable file called `host_vars/leaf2.yaml`, then define the host, credentials, and transport.
+
+**8**. Create a host variable file called `host_vars/leaf3.yaml`, then define the host, credentials, and transport.
+
+**9**. Create a host variable file called `host_vars/leaf4.yaml`, then define the host, credentials, and transport.
+
+**10**. Create a playbook called `datacenter.yaml`.
+
+**11**. Run the playbook.
+
+ ansible-playbook -i inventory.yaml datacenter.yaml
+
+(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. \ No newline at end of file
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/datacenter.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/datacenter.yaml
new file mode 100644
index 00000000..7174af84
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/datacenter.yaml
@@ -0,0 +1,11 @@
+---
+- hosts: datacenter
+ gather_facts: no
+ connection: network_cli
+ collections:
+ - dellemc.os10
+ roles:
+ - os10_interface
+ - os10_bgp
+ - os10_snmp
+ - os10_system
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/all b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/all
new file mode 100644
index 00000000..6985e8ad
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/all
@@ -0,0 +1,9 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_snmp:
+ snmp_community:
+ - name: public
+ access_mode: ro
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/spine.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/spine.yaml
new file mode 100644
index 00000000..3524eaaf
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/group_vars/spine.yaml
@@ -0,0 +1,85 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "{{ spine_hostname }}"
+
+os10_bgp:
+ asn: 64901
+ router_id: "{{ bgp_router_id }}"
+ best_path:
+ as_path: multipath-relax
+ as_path_state: present
+ med:
+ - attribute: missing-as-worst
+ state: present
+ neighbor:
+ - type: ipv4
+ remote_asn: "{{ bgp_neigh1_remote_asn }}"
+ ip: "{{ bgp_neigh1_ip }}"
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: "{{ bgp_neigh2_remote_asn }}"
+ ip: "{{ bgp_neigh2_ip }}"
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: "{{ bgp_neigh3_remote_asn }}"
+ ip: "{{ bgp_neigh3_ip }}"
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: "{{ bgp_neigh4_remote_asn }}"
+ ip: "{{ bgp_neigh4_ip }}"
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: "{{ bgp_neigh5_remote_asn }}"
+ ip: "{{ bgp_neigh5_ip }}"
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: "{{ bgp_neigh6_remote_asn }}"
+ ip: "{{ bgp_neigh6_ip }}"
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: "{{ bgp_neigh7_remote_asn }}"
+ ip: "{{ bgp_neigh7_ip }}"
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: "{{ bgp_neigh8_remote_asn }}"
+ ip: "{{ bgp_neigh8_ip }}"
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf1.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf1.yaml
new file mode 100644
index 00000000..38691a5e
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf1.yaml
@@ -0,0 +1,77 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+leaf_hostname: "leaf-1"
+os10_system:
+ hostname: "{{ leaf_hostname }}"
+ hash_algo:
+ algo:
+ - name: ecmp
+ mode: crc
+ state: present
+os10_interface:
+ ethernet 1/1/1:
+ desc: "Connected to Spine 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.1.2/24
+ ipv6_and_mask: 2001:100:1:1::2/64
+ state_ipv6: present
+ ethernet 1/1/9:
+ desc: "Connected to Spine 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.1.2/24
+ ipv6_and_mask: 2001:100:2:1::2/64
+ state_ipv6: present
+os10_bgp:
+ asn: 64801
+ router_id: 100.0.2.1
+ address_family_ipv4: true
+ address_family_ipv6: true
+ best_path:
+ as_path: multipath-relax
+ as_path_state: present
+ med:
+ - attribute: missing-as-worst
+ state: present
+ neighbor:
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.1.1.1
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.2.1.1
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:1:1::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:2:1::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf2.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf2.yaml
new file mode 100644
index 00000000..d760626d
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf2.yaml
@@ -0,0 +1,81 @@
+hostname: leaf2
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+leaf_hostname: "leaf-2"
+os10_system:
+ hostname: "{{ leaf_hostname }}"
+ hash_algo:
+ algo:
+ - name: ecmp
+ mode: crc
+ state: present
+os10_interface:
+ ethernet 1/1/1:
+ desc: "Connected to Spine 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.17.2/24
+ ipv6_and_mask: 2001:100:1:11::2/64
+ state_ipv6: present
+ ethernet 1/1/9:
+ desc: "Connected to Spine 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.17.2/24
+ ipv6_and_mask: 2001:100:2:11::2/64
+os10_bgp:
+ asn: 64802
+ router_id: 100.0.2.2
+ address_family_ipv4: true
+ address_family_ipv6: true
+ best_path:
+ as_path: multipath-relax
+ as_path_state: present
+ med:
+ - attribute: missing-as-worst
+ state: present
+ neighbor:
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.1.18.1
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.1.17.1
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.2.17.1
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:1:11::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:2:11::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf3.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf3.yaml
new file mode 100644
index 00000000..7b199125
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf3.yaml
@@ -0,0 +1,81 @@
+hostname: leaf3
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+leaf_hostname: "leaf-3"
+os10_system:
+ hostname: "{{ leaf_hostname }}"
+ hash_algo:
+ algo:
+ - name: ecmp
+ mode: crc
+ state: present
+os10_interface:
+ ethernet 1/1/1:
+ desc: "Connected to Spine 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.33.2/24
+ ipv6_and_mask: 2001:100:1:21::2/64
+ state_ipv6: present
+ ethernet 1/1/9:
+ desc: "Connected to Spine 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.33.2/24
+ ipv6_and_mask: 2001:100:2:21::2/64
+os10_bgp:
+ asn: 64803
+ router_id: 100.0.2.3
+ address_family_ipv4: true
+ address_family_ipv6: true
+ best_path:
+ as_path: multipath-relax
+ as_path_state: present
+ med:
+ - attribute: missing-as-worst
+ state: present
+ neighbor:
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.1.33.1
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.2.33.1
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:1:21::1
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:1:22::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:2:21::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf4.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf4.yaml
new file mode 100644
index 00000000..e06099e5
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/leaf4.yaml
@@ -0,0 +1,77 @@
+hostname: leaf4
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+leaf_hostname: "leaf-4"
+os10_system:
+ hostname: "{{ leaf_hostname }}"
+ hash_algo:
+ algo:
+ - name: ecmp
+ mode: crc
+ state: present
+os10_interface:
+ ethernet 1/1/5:
+ desc: "Connected to Spine 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.49.2/24
+ ipv6_and_mask: 2001:100:1:31::2/64
+ state_ipv6: present
+ ethernet 1/1/17:
+ desc: "Connected to Spine 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.49.2/24
+ ipv6_and_mask: 2001:100:2:31::2/64
+ state_ipv6: present
+os10_bgp:
+ asn: 64804
+ router_id: 100.0.2.4
+ address_family_ipv4: true
+ address_family_ipv6: true
+ best_path:
+ as_path: multipath-relax
+ as_path_state: present
+ med:
+ - attribute: missing-as-worst
+ state: present
+ neighbor:
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.1.49.1
+ admin: up
+ state: present
+ - type: ipv4
+ remote_asn: 64901
+ ip: 100.2.49.1
+ admin: up
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:1:31::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
+ - type: ipv6
+ remote_asn: 64901
+ ip: 2001:100:2:31::1
+ admin: up
+ address_family:
+ - type: ipv4
+ activate: false
+ state: present
+ - type: ipv6
+ activate: true
+ state: present
+ state: present
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine1.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine1.yaml
new file mode 100644
index 00000000..2d926034
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine1.yaml
@@ -0,0 +1,61 @@
+hostname: spine1
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+spine_hostname: "spine-1"
+
+os10_interface:
+ ethernet 1/1/1:
+ desc: "Connected to leaf 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.1.1/24
+ ipv6_and_mask: 2001:100:1:1::1/64
+ state_ipv6: present
+ ethernet 1/1/17:
+ desc: "Connected to leaf 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.33.1/24
+ ipv6_and_mask: 2001:100:1:21::1/64
+ state_ipv6: present
+ ethernet 1/1/25:
+ desc: "Connected to leaf 3"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.17.1/24
+ ipv6_and_mask: 2001:100:1:11::1/64
+ state_ipv6: present
+ ethernet 1/1/9:
+ desc: "Connected to leaf 4"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.1.49.1/24
+ ipv6_and_mask: 2001:100:1:31::1/64
+ state_ipv6: present
+
+bgp_router_id: "100.0.1.1"
+bgp_neigh1_remote_asn: 64801
+bgp_neigh1_ip: "100.1.1.2"
+bgp_neigh2_remote_asn: 64803
+bgp_neigh2_ip: "100.1.33.2"
+bgp_neigh3_remote_asn: 64802
+bgp_neigh3_ip: "100.1.17.2"
+bgp_neigh4_remote_asn: 64804
+bgp_neigh4_ip: "100.1.49.2"
+bgp_neigh5_remote_asn: 64801
+bgp_neigh5_ip: "2001:100:1:1::2"
+bgp_neigh6_remote_asn: 64802
+bgp_neigh6_ip: "2001:100:1:11::2"
+bgp_neigh7_remote_asn: 64803
+bgp_neigh7_ip: "2001:100:1:21::2"
+bgp_neigh8_remote_asn: 64804
+bgp_neigh8_ip: "2001:100:1:31::2"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine2.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine2.yaml
new file mode 100644
index 00000000..7c616e9f
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/host_vars/spine2.yaml
@@ -0,0 +1,60 @@
+hostname: spine2
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+spine_hostname: "spine-2"
+os10_interface:
+ ethernet 1/1/1:
+ desc: "Connected to leaf 1"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.1.1/24
+ ipv6_and_mask: 2001:100:2:1::1/64
+ state_ipv6: present
+ ethernet 1/1/25:
+ desc: "Connected to leaf 2"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.17.1/24
+ ipv6_and_mask: 2001:100:2:11::1/64
+ state_ipv6: present
+ ethernet 1/1/17:
+ desc: "Connected to leaf 3"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.33.1/24
+ ipv6_and_mask: 2001:100:2:21::1/64
+ state_ipv6: present
+ ethernet 1/1/9:
+ desc: "Connected to leaf 4"
+ mtu: 9216
+ portmode:
+ admin: up
+ switchport: False
+ ip_and_mask: 100.2.49.1/24
+ ipv6_and_mask: 2001:100:2:31::1/64
+ state_ipv6: present
+
+bgp_router_id: "100.0.1.2"
+bgp_neigh1_remote_asn: 64801
+bgp_neigh1_ip: "100.2.1.2"
+bgp_neigh2_remote_asn: 64802
+bgp_neigh2_ip: "100.2.33.2"
+bgp_neigh3_remote_asn: 64803
+bgp_neigh3_ip: "100.2.17.2"
+bgp_neigh4_remote_asn: 64804
+bgp_neigh4_ip: "100.2.49.2"
+bgp_neigh5_remote_asn: 64801
+bgp_neigh5_ip: "2001:100:2:1::2"
+bgp_neigh6_remote_asn: 64802
+bgp_neigh6_ip: "2001:100:2:11::2"
+bgp_neigh7_remote_asn: 64803
+bgp_neigh7_ip: "2001:100:2:21::2"
+bgp_neigh8_remote_asn: 64804
+bgp_neigh8_ip: "2001:100:2:31::2"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/inventory.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/inventory.yaml
new file mode 100644
index 00000000..9516f660
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/clos_fabric_ebgp/inventory.yaml
@@ -0,0 +1,20 @@
+spine1 ansible_host=10.11.182.25
+spine2 ansible_host=10.11.182.26
+leaf1 ansible_host=10.11.182.27
+leaf2 ansible_host=10.11.182.28
+leaf3 ansible_host=10.11.182.29
+leaf4 ansible_host=10.11.182.30
+
+[spine]
+spine1
+spine2
+
+[leaf]
+leaf1
+leaf2
+leaf3
+leaf4
+
+[datacenter:children]
+spine
+leaf
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/README.md b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/README.md
new file mode 100644
index 00000000..6d1af994
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/README.md
@@ -0,0 +1,63 @@
+# VxLAN Symmetric-IRB configuration using BGP EVPN using the Ansible collection for Dell EMC SmartFabric OS10
+
+
+This example describes how to use Ansible to build a Leaf-Spine topology with Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10, using a VxLAN Symmetric-IRB configuration model.
+
+VxLAN Symmetric-IRB is configured using BGP EVPN with Leaf-Spine topology. BGP unnumbered is configured between the Leaf and Spine over VLANS for both underlay and overlay. VLT is configured between the pair of Leaf nodes.
+
+In all Leaf nodes, the L3 VRF VNI "test" is configured to route between different VNs spanned across the topology, and the VTEP router MAC is configured to identify the remote VTEPs.
+VN 100 and VN 300 is configured in a pair of Leaf nodes, and VN 200 and VN 300 configured in an other pair of Leaf nodes.
+
+## Create simple Ansible playbook
+
+**1**. Create an inventory file called `inventory.yaml`, then specify the device IP address.
+
+**2**. Create a host variable file called `host_vars/spine1.yaml`, then define the host, credentials, and transport.
+
+**3**. Create a host variable file called `host_vars/spine2.yaml`, then define the host, credentials, and transport.
+
+**4**. Use the *os10_interface* and *os10_vlan* roles to configure the required VLANs.
+
+**5**. Use the *os10_bgp* role to configure BGP unnumbered.
+
+**Configurations for VTEP-1**
+
+**1**. Create a host variable file called `host_vars/prim-vtep1.yaml`.
+
+**2**. Create a host variable file called `host_vars/sec-vtep1.yaml`.
+
+**3**. Define the host, credentials, and transport.
+
+**4**. Use the *os10_interface* and *os10_vlan* roles to configure the required VLANs.
+
+**5**. Use the *os10_bgp* role to configure BGP unnumbered.
+
+**6**. Use the *os10_vxlan* role to configure VN networks, EVPN and Symmetric IRB functionality.
+
+**7**. Use *os10_vlt* role to configure VLT between leaves prim-vtep1 and sec-vtep1.
+
+**Configurations for VTEP-2**
+
+**1**. Create a host variable file called `host_vars/prim-vtep2.yaml`.
+
+**2**. Create a host variable file called `host_vars/sec-vtep2.yaml`.
+
+**3**. Define the host, credentials, and transport.
+
+**4**. Use *os10_interface* and *os10_vlan* roles to configure the required VLANs.
+
+**5**. Use the *os10_bgp* role to configure BGP unnumbered.
+
+**6**. Use *os10_vxlan* role to configure VN networks, EVPN and Symmetric IRB functionality.
+
+**7**. Use the *os10_vlt* role to configure VLT between leaves prim-vtep2 and sec-vtep2.
+
+**Create and run the playbook**
+
+**1**. Create a playbook called `datacenter.yaml`.
+
+**2**. Run the playbook.
+
+ ansible-playbook -i inventory.yaml datacenter.yaml
+
+(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/datacenter.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/datacenter.yaml
new file mode 100644
index 00000000..d8b1d413
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/datacenter.yaml
@@ -0,0 +1,16 @@
+---
+- hosts: datacenter
+ connection: network_cli
+ collections:
+ - dellemc.os10
+ vars:
+ build_dir: "/home/administrator/ansible/debug"
+ roles:
+ - os10_vrf
+ - os10_interface
+ - os10_system
+ - os10_bgp
+ - os10_lag
+ - os10_vlan
+ - os10_vxlan
+ - os10_vlt
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep1.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep1.yaml
new file mode 100644
index 00000000..5ad28505
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep1.yaml
@@ -0,0 +1,210 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "VLT1-Primary"
+
+os10_bgp:
+ asn: 100
+ router_id: 1.1.1.10
+ neighbor:
+ - type: ipv4
+ interface: vlan20
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan10
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan11
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ ipv4_network: 1.1.1.1/32
+ redistribute:
+ - route_type: connected
+ address_type: ipv4
+ state: present
+ state: "present"
+
+
+os10_interface:
+ loopback 0:
+ admin: up
+ ip_and_mask: 1.1.1.1/32
+ ethernet 1/1/6:
+ switchport: False
+ admin: up
+ ethernet 1/1/4:
+ admin: up
+ switchport: False
+ ethernet 1/1/5:
+ admin: up
+ switchport: False
+ ethernet 1/1/1:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+# ethernet 1/1/2:
+ ethernet 1/1/3:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ port-channel 10:
+ portmode: "trunk"
+ admin: up
+ vlan 10:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 11:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 20:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ virtual-network 100:
+ vrf: "test"
+ ip_and_mask: "15.1.1.1/24"
+ ip_virtual_gateway_ip: "15.1.1.254"
+ admin: up
+ virtual-network 300:
+ vrf: "test"
+ ip_and_mask: "25.1.1.1/24"
+ ip_virtual_gateway_ip: "25.1.1.254"
+ admin: up
+
+os10_lag:
+ port-channel 10:
+ type: dynamic
+ channel_members:
+# - port: ethernet1/1/5
+ - port: ethernet1/1/6
+ mode: active
+ state: present
+
+os10_vlan:
+ vlan 10:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 20:
+ tagged_members:
+# - port: ethernet 1/1/2
+ - port: ethernet 1/1/3
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+
+os10_vrf:
+ vrfdetails:
+ - vrf_name: "test"
+ state: "present"
+
+os10_vxlan:
+ anycast_gateway_mac: "00:00:aa:bb:ee:ff"
+ nve:
+ source_interface: 0
+ state: "present"
+ evpn:
+ evi:
+ - id: 100
+ vni:
+ id: 100
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65532"
+ route_target_type: "both"
+ state: "present"
+ state: "present"
+ - id: 300
+ vni:
+ id: 300
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "auto"
+ state: "present"
+ state: "present"
+ vrf:
+ - name: "test"
+ vni: 1000
+ adv_ipv4:
+ - type: "connected"
+ state: "present"
+ - type: "bgp"
+ state: "present"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65534"
+ route_target_type: "both"
+ state: "present"
+ rmac: 00:11:11:11:11:11
+ dis_rt_asn: "true"
+ virtual_network:
+ virtual_net:
+ - id: 100
+ vlt_vlan_id: 100
+ member_interface:
+ - ifname: "port-channel10"
+ type: "tagged"
+ vlanid: 100
+ state: "present"
+ vxlan_vni:
+ id: 100
+ state: "present"
+ state: "present"
+ - id: 300
+ vlt_vlan_id: 300
+ member_interface:
+ - ifname: "port-channel10"
+ type: "tagged"
+ vlanid: 300
+ state: "present"
+ vxlan_vni:
+ id: 300
+ state: "present"
+ state: "present"
+
+os10_vlt:
+ domain: 1
+ destination_type: "ipv4"
+ peer_routing: True
+# discovery_intf: "1/1/3-1/1/4"
+ discovery_intf: "1/1/4-1/1/5"
+ vlt_mac: 00:00:00:11:22:33
+ vlt_peers:
+ Po 10:
+ peer_lag: 10
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep2.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep2.yaml
new file mode 100644
index 00000000..ea49d19d
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/prim-vtep2.yaml
@@ -0,0 +1,194 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "VLT2-Primary"
+
+os10_bgp:
+ asn: 300
+ router_id: 2.2.2.10
+ ipv4_network: 2.2.2.2/32
+ redistribute:
+ - route_type: connected
+ address_type: ipv4
+ state: present
+ state: "present"
+ neighbor:
+ - type: ipv4
+ interface: vlan50
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan60
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan11
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+
+os10_interface:
+ loopback 0:
+ admin: up
+ ip_and_mask: 2.2.2.2/32
+ loopback 10:
+ admin: up
+ vrf: "test"
+ ip_and_mask: 50.1.1.10/32
+ loopback 20:
+ admin: up
+ vrf: "test"
+ ip_and_mask: 60.1.1.10/32
+ ethernet 1/1/1:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ ethernet 1/1/2:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ ethernet 1/1/3:
+ switchport: False
+ admin: up
+ ethernet 1/1/4:
+ admin: up
+ switchport: False
+ ethernet 1/1/5:
+ switchport: False
+ vrf: "test"
+ ip_and_mask: "21.21.21.20/24"
+ admin: up
+ vlan 11:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 50:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 60:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ virtual-network 200:
+ vrf: "test"
+ ip_and_mask: "30.1.1.100/24"
+ ip_virtual_gateway_ip: "30.1.1.254"
+ admin: up
+ virtual-network 300:
+ vrf: "test"
+ ip_and_mask: "25.1.1.100/24"
+ ip_virtual_gateway_ip: "25.1.1.254"
+ admin: up
+
+os10_vlan:
+ vlan 50:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 60:
+ tagged_members:
+ - port: ethernet 1/1/2
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+
+os10_vrf:
+ vrfdetails:
+ - vrf_name: "test"
+ state: "present"
+
+os10_vxlan:
+ anycast_gateway_mac: "00:00:aa:bb:ee:ff"
+ nve:
+ source_interface: 0
+ state: "present"
+ evpn:
+ evi:
+ - id: 200
+ vni:
+ id: 200
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65533"
+ route_target_type: "both"
+ state: "present"
+ state: "present"
+ - id: 300
+ vni:
+ id: 300
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "auto"
+ state: "present"
+ state: "present"
+ vrf:
+ - name: "test"
+ vni: 1000
+ adv_ipv4:
+ - type: "connected"
+ state: "present"
+ - type: "bgp"
+ state: "present"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65534"
+ route_target_type: "both"
+ state: "present"
+ rmac: 00:00:22:22:22:22
+ dis_rt_asn: "true"
+ virtual_network:
+ virtual_net:
+ - id: 200
+ vlt_vlan_id: 200
+ vxlan_vni:
+ id: 200
+ state: "present"
+ state: "present"
+ - id: 300
+ vlt_vlan_id: 300
+ vxlan_vni:
+ id: 300
+ state: "present"
+ state: "present"
+
+os10_vlt:
+ domain: 1
+ destination_type: "ipv4"
+ peer_routing: True
+ discovery_intf: "1/1/3-1/1/4"
+ vlt_mac: 00:00:00:44:55:66
+ vlt_peers:
+ Po 10:
+ peer_lag: 10
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep1.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep1.yaml
new file mode 100644
index 00000000..ac04c3c6
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep1.yaml
@@ -0,0 +1,206 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "VLT1-SEC"
+
+os10_bgp:
+ asn: 100
+ router_id: 1.1.1.20
+ neighbor:
+ - type: ipv4
+ interface: vlan40
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan30
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan11
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ ipv4_network: 1.1.1.1/32
+ redistribute:
+ - route_type: connected
+ address_type: ipv4
+ state: present
+ state: "present"
+
+
+os10_interface:
+ loopback 0:
+ admin: up
+ ip_and_mask: 1.1.1.1/32
+ ethernet 1/1/3:
+ switchport: False
+ admin: up
+ ethernet 1/1/4:
+ admin: up
+ switchport: False
+ ethernet 1/1/5:
+ admin: up
+ switchport: False
+ ethernet 1/1/1:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ ethernet 1/1/2:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ port-channel 10:
+ portmode: "trunk"
+ admin: up
+ vlan 30:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 11:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 40:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ virtual-network 100:
+ vrf: "test"
+ ip_and_mask: "15.1.1.2/24"
+ ip_virtual_gateway_ip: "15.1.1.254"
+ admin: up
+ virtual-network 300:
+ vrf: "test"
+ ip_and_mask: "25.1.1.2/24"
+ ip_virtual_gateway_ip: "25.1.1.254"
+ admin: up
+
+os10_lag:
+ port-channel 10:
+ type: dynamic
+ channel_members:
+ - port: ethernet1/1/5
+ mode: active
+ state: present
+
+os10_vlan:
+ vlan 30:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 40:
+ tagged_members:
+ - port: ethernet 1/1/2
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+
+os10_vrf:
+ vrfdetails:
+ - vrf_name: "test"
+ state: "present"
+
+os10_vxlan:
+ anycast_gateway_mac: "00:00:aa:bb:ee:ff"
+ nve:
+ source_interface: 0
+ state: "present"
+ evpn:
+ evi:
+ - id: 100
+ vni:
+ id: 100
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65532"
+ route_target_type: "both"
+ state: "present"
+ state: "present"
+ - id: 300
+ vni:
+ id: 300
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "auto"
+ state: "present"
+ state: "present"
+ vrf:
+ - name: "test"
+ vni: 1000
+ adv_ipv4:
+ - type: "connected"
+ state: "present"
+ - type: "bgp"
+ state: "present"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65534"
+ route_target_type: "both"
+ state: "present"
+ rmac: 00:11:11:11:11:11
+ dis_rt_asn: "true"
+ virtual_network:
+ virtual_net:
+ - id: 100
+ vlt_vlan_id: 100
+ member_interface:
+ - ifname: "port-channel10"
+ type: "tagged"
+ vlanid: 100
+ state: "present"
+ vxlan_vni:
+ id: 100
+ state: "present"
+ state: "present"
+ - id: 300
+ vlt_vlan_id: 300
+ member_interface:
+ - ifname: "port-channel10"
+ type: "tagged"
+ vlanid: 300
+ state: "present"
+ vxlan_vni:
+ id: 300
+ state: "present"
+ state: "present"
+
+os10_vlt:
+ domain: 1
+ destination_type: "ipv4"
+ peer_routing: True
+ discovery_intf: "1/1/3-1/1/4"
+ vlt_mac: 00:00:00:11:22:33
+ vlt_peers:
+ Po 10:
+ peer_lag: 10
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep2.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep2.yaml
new file mode 100644
index 00000000..e23ed9c5
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/sec-vtep2.yaml
@@ -0,0 +1,200 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "VLT2-SEC"
+
+os10_bgp:
+ asn: 300
+ router_id: 2.2.2.20
+ neighbor:
+ - type: ipv4
+ interface: vlan70
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan80
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan11
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ admin: up
+ state: present
+ vrf:
+ name: "test"
+ address_type: ipv4
+ redistribute:
+ - route_type: l2vpn
+ ipv4_network: 2.2.2.2/32
+ redistribute:
+ - route_type: connected
+ address_type: ipv4
+ state: present
+ state: "present"
+
+
+os10_interface:
+ loopback 0:
+ admin: up
+ ip_and_mask: 2.2.2.2/32
+ loopback 10:
+ admin: up
+ vrf: "test"
+ ip_and_mask: 80.1.1.10/32
+ loopback 20:
+ admin: up
+ vrf: "test"
+ ip_and_mask: 90.1.1.10/32
+ ethernet 1/1/1:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ ethernet 1/1/2:
+ admin: up
+ switchport: False
+ portmode: "trunk"
+ ethernet 1/1/3:
+ switchport: False
+ admin: up
+ ethernet 1/1/4:
+ admin: up
+ switchport: False
+ ethernet 1/1/5:
+ switchport: False
+ vrf: "test"
+ ip_and_mask: "20.20.20.20/24"
+ admin: up
+ vlan 11:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 70:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 80:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ virtual-network 200:
+ vrf: "test"
+ ip_and_mask: "30.1.1.101/24"
+ ip_virtual_gateway_ip: "30.1.1.254"
+ admin: up
+ virtual-network 300:
+ vrf: "test"
+ ip_and_mask: "25.1.1.101/24"
+ ip_virtual_gateway_ip: "25.1.1.254"
+ admin: up
+
+os10_vlan:
+ vlan 70:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 80:
+ tagged_members:
+ - port: ethernet 1/1/2
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+
+os10_vrf:
+ vrfdetails:
+ - vrf_name: "test"
+ state: "present"
+
+os10_vxlan:
+ anycast_gateway_mac: "00:00:aa:bb:ee:ff"
+ nve:
+ source_interface: 0
+ state: "present"
+ evpn:
+ evi:
+ - id: 200
+ vni:
+ id: 200
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65533"
+ route_target_type: "both"
+ state: "present"
+ state: "present"
+ - id: 300
+ vni:
+ id: 300
+ state: "present"
+ rd: "auto"
+ route_target:
+ - type: "auto"
+ state: "present"
+ state: "present"
+ vrf:
+ - name: "test"
+ vni: 1000
+ adv_ipv4:
+ - type: "connected"
+ state: "present"
+ - type: "bgp"
+ state: "present"
+ route_target:
+ - type: "manual"
+ asn_value: "65530:65534"
+ route_target_type: "both"
+ state: "present"
+ rmac: 00:00:22:22:22:22
+ dis_rt_asn: "true"
+ virtual_network:
+ virtual_net:
+ - id: 200
+ vlt_vlan_id: 200
+ vxlan_vni:
+ id: 200
+ state: "present"
+ state: "present"
+ - id: 300
+ vlt_vlan_id: 300
+ vxlan_vni:
+ id: 300
+ state: "present"
+ state: "present"
+
+os10_vlt:
+ domain: 1
+ destination_type: "ipv4"
+ peer_routing: True
+ discovery_intf: "1/1/3-1/1/4"
+ vlt_mac: 00:00:00:44:55:66
+ vlt_peers:
+ Po 10:
+ peer_lag: 10
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine1.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine1.yaml
new file mode 100644
index 00000000..4672562b
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine1.yaml
@@ -0,0 +1,95 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "spine1"
+
+os10_bgp:
+ asn: 200
+ router_id: 9.9.9.10
+ neighbor:
+ - type: "peergroup"
+ name: "ebgp_session"
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ state: present
+ - type: ipv4
+ interface: vlan10
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan30
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan50
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan70
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ state: "present"
+
+
+os10_interface:
+ vlan 10:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 30:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 50:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 70:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+
+os10_vlan:
+ vlan 10:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 30:
+ tagged_members:
+ - port: ethernet 1/1/2
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 50:
+ tagged_members:
+ - port: ethernet 1/1/3
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 70:
+ tagged_members:
+ - port: ethernet 1/1/4
+ state: "present"
+ access_vlan: "false"
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine2.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine2.yaml
new file mode 100644
index 00000000..0e953b88
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/host_vars/spine2.yaml
@@ -0,0 +1,95 @@
+ansible_ssh_user: xxxxx
+ansible_ssh_pass: xxxxx
+ansible_network_os: dellemc.os10.os10
+
+os10_system:
+ hostname: "spine2"
+
+os10_bgp:
+ asn: 201
+ router_id: 9.9.9.20
+ neighbor:
+ - type: "peergroup"
+ name: "ebgp_session"
+ send_community:
+ - type: extended
+ state: present
+ address_family:
+ - type: l2vpn
+ activate: true
+ state: present
+ state: present
+ - type: ipv4
+ interface: vlan20
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan40
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan60
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ - type: ipv4
+ interface: vlan80
+ peergroup: ebgp_session
+ peergroup_type: ebgp
+ admin: up
+ state: present
+ state: "present"
+
+
+os10_interface:
+ vlan 20:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 40:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 60:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+ vlan 80:
+ suppress_ra: absent
+ min_ra: 3
+ max_ra: 4
+ admin: up
+
+os10_vlan:
+ vlan 20:
+ tagged_members:
+ - port: ethernet 1/1/1
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 40:
+ tagged_members:
+ - port: ethernet 1/1/2
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 60:
+ tagged_members:
+ - port: ethernet 1/1/3
+ state: "present"
+ access_vlan: "false"
+ state: "present"
+ vlan 80:
+ tagged_members:
+ - port: ethernet 1/1/4
+ state: "present"
+ access_vlan: "false"
+ state: "present"
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/inventory.yaml b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/inventory.yaml
new file mode 100644
index 00000000..104712dc
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/inventory.yaml
@@ -0,0 +1,20 @@
+spine1 ansible_host=101.104.34.141
+prim-vtep1 ansible_host=101.104.34.217
+sec-vtep1 ansible_host=101.104.34.218
+spine2 ansible_host=101.104.34.142
+prim-vtep2 ansible_host=101.104.34.219
+sec-vtep2 ansible_host=101.104.34.220
+
+[site1]
+prim-vtep1
+sec-vtep1
+spine1
+
+[site2]
+prim-vtep2
+spine2
+sec-vtep2
+
+[datacenter:children]
+site1
+site2
diff --git a/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/vxlan_evpn_topology.png b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/vxlan_evpn_topology.png
new file mode 100644
index 00000000..b2f695b4
--- /dev/null
+++ b/collections-debian-merged/ansible_collections/dellemc/os10/playbooks/vxlan_evpn/vxlan_evpn_topology.png
Binary files differ