Im testing VyOS for product environment.
My topology as below:
Please note that all device in here are VM in Openstack cloud with vNIC, CE is just simple routing device do the static route, each single link between devices has about 15Gbps capacity, and I cannot configure the underlay/hardware network
My purpose is want to VM1 can connect to VM2 (tenant-a), and VM3 to VM4 (tenant-b), their network are isolated.
First solution is to use EVPN as specified in here: L3VPN EVPN with VyOS
Everything works great with tenant-a (VM1 and VM2), execept following issues:
- Iperf throughput between VM-1 and VM-2 is very low, about 400Mbps, even though each link can handle 15Gbps. later on I find out because of VXLAN encapsulation. If I remove VXLAN, only use BGP, the throughput can achieve 3.5Gbps
- As I prepared the 2nd tenant (tenant-b for VM3 and VM4), I created 2nd vrf with table ID, as soon as I commit the vni for 2nd vrf in PE-1, the bgp routing table for tenant-a is messed up, and VM1 cannot connect to VM2. More specific, PE1 did not advertise the static route for VM1 anymore.
So my question as below:
- How can I configure the second VRF without messing the BGP routing table of the first VRF?
- Why the performance with VXLAN is too low and how can I fix it? I tried all offload features, change MTU but not helping
- Even if I not use VXLAN, the performance is 3.5Gbps is way less than maximum capacity of the link, how can I improve it? the VyOS has 1 core and 1G ram but the CPU/RAM usage is very low during iperf, is that normal?