[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