[ovs-discuss] VXLAN - MAC address learning/propagation through EVPN/FRR

Raymond Burkholder ray at oneunified.net
Tue Jun 12 12:44:20 UTC 2018


On 06/12/2018 02:40 AM, Nicola Bucci wrote:
> Would you be able to provide a fully functional example with configs? That would be awesome.

Rather than a fully functional config, here are some config extracts:

Part of a shell script to configure and connect the ovs/kernel bridges, 
vxlan interface, and regular vlan.  You define how you want to map local 
vlans to global vni numbering.

VNI=$1
NAME=$2
TYPE=$3
VLAN=$4
# kernel bridge, bring it up without spanning tree
brctl addbr br${NAME}
ip link set dev br${NAME} up
brctl stp br${NAME} off
# create vxlan interface, where VNI is tied to vni in FRR, lo is a loopback
# nolearning is on the same line, but line-wrapped in email
ip link add vx${NAME} type vxlan id ${VNI} dstport 4789 local ${lo} 
nolearning
# add the vxlan interface to kernel bridge, bring itup
brctl addif br${NAME} vx${NAME}
ip link set dev vx${NAME} up
# add a veth to tie kernel bridge to ovs
ip link add vo${NAME} type veth peer name vb${NAME}
# add veth to kernel bridge
brctl addif br${NAME} vb${NAME}
# add veth to ovs bridge
ovs-vsctl --if-exists del-port ovsbr0 vo${NAME}
ovs-vsctl add-port ovsbr0 vo${NAME} ${TYPE}=${VLAN}
# bring up both ends of veth
ip link set dev vo${NAME} up
ip link set dev vb${NAME} up
# container and kvm links are then added to the ovs bridge
....


Here is an extract from an FRR EVPN configuration in the BGP 
configuration file.  For this example, there are two FRR instances 
involved for sharing VNI information.  This configuration is for one of 
the two.  For scaling, you choose the import/export statements based 
upon selecting which instances the VNI needs to be associated (where the 
vlan needs to be 'stretched')

In my case, the relationships are defined in a separate master file, and 
I use SaltStack to build the specific configs for each instance.

The addresses in the RD/RT are the instance loopbacks.

   address-family l2vpn evpn
     neighbor 10.20.3.2 activate
     vni 1012
       rd 10.20.1.1:1012
       route-target export 10.20.1.1:1012
       route-target import 10.20.1.2:1012
     exit-vni
     vni 1101
       rd 10.20.1.1:1101
       route-target export 10.20.1.1:1101
       route-target import 10.20.1.2:1101
     exit-vni
     vni 1421
       rd 10.20.1.1:1421
       route-target export 10.20.1.1:1421
       route-target import 10.20.1.2:1421
     exit-vni
     advertise-all-vni
   exit-address-family

Some more reading material I have gathered:

https://blog.raymond.burkholder.net/index.php?/archives/799-EVPN-Reading-Material.html

> Thanks

I hope the above is some value

> Nico

-- 
Raymond Burkholder
ray at oneunified.net
https://blog.raymond.burkholder.net

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the discuss mailing list