diff --git a/VXLAN/vxlan-ospf/README.md b/VXLAN/vxlan-ospf/README.md new file mode 100644 index 0000000..85539c4 --- /dev/null +++ b/VXLAN/vxlan-ospf/README.md @@ -0,0 +1,23 @@ +# VXLAN Bridging with OSPF + +This directory demonstrates what might happen when you run OSPF on VXLAN-enabled VLAN interfaces. + +![Lab topology](vxlan-ospf.png) + +The directory contains two topologies: + +* `topology-broken.yml` runs the same OSPF instance on physical interfaces and VLAN interfaces, resulting in recursive routing +* `topology-fixed.yml` isolates tenant routing in a VRF resulting in a working network even when S1 and S2 run OSPF across a VXLAN-enabled VLAN + +## Changing Device Types + +This topology can be used with all network devices supporting VLAN, VXLAN, and OSPF configuration modules, and all virtualization providers supported by *netlab*: + +* To change the switch device type, use `-s groups.switch.device=xxx` CLI argument +* To change the virtualization provider, use `-p` CLI argument. + +For example, to start the lab with Nexus 9300v switches using _libvirt_, use: + +``` +netlab up -p libvirt -s groups.switches.device=nxos +``` diff --git a/VXLAN/vxlan-ospf/topology-broken.yml b/VXLAN/vxlan-ospf/topology-broken.yml new file mode 100644 index 0000000..adadf4e --- /dev/null +++ b/VXLAN/vxlan-ospf/topology-broken.yml @@ -0,0 +1,31 @@ +--- +message: | + This topology demonstrates what happens when you run OSPF on + "all interfaces" in a VXLAN IRB environment. + +provider: clab + +vlans: + red: + +groups: + switch: + members: [ s1, s2 ] + module: [ vxlan, vlan, ospf ] + device: eos + host: + members: [ h1, h2 ] + device: linux + +nodes: [ s1, s2, h1, h2 ] + +links: +- h1: + s1: + vlan.access: red +- h2: + s2: + vlan.access: red +- s1: + s2: + ospf.cost: 2000 diff --git a/VXLAN/vxlan-ospf/topology-fixed.yml b/VXLAN/vxlan-ospf/topology-fixed.yml new file mode 100644 index 0000000..7e367e9 --- /dev/null +++ b/VXLAN/vxlan-ospf/topology-fixed.yml @@ -0,0 +1,35 @@ +--- +message: | + This topology demonstrates how to segregate tenant routing from transport + (underlay) routing in a VXLAN IRB environment. + +provider: clab + +vrfs: + tenant: + +vlans: + red: + vrf: tenant + +groups: + switch: + members: [ s1, s2 ] + module: [ vxlan, vlan, ospf, vrf ] + device: eos + host: + members: [ h1, h2 ] + device: linux + +nodes: [ s1, s2, h1, h2 ] + +links: +- h1: + s1: + vlan.access: red +- h2: + s2: + vlan.access: red +- s1: + s2: + ospf.cost: 2000 diff --git a/VXLAN/vxlan-ospf/vxlan-ospf.png b/VXLAN/vxlan-ospf/vxlan-ospf.png new file mode 100644 index 0000000..03d9d97 Binary files /dev/null and b/VXLAN/vxlan-ospf/vxlan-ospf.png differ