]> git.proxmox.com Git - pve-docs.git/blame - vxlan-and-evpn.adoc
fix #1850: small additions
[pve-docs.git] / vxlan-and-evpn.adoc
CommitLineData
445822a9
DM
1
2////
3
4This is currently not included, because
5- it requires ifupdown2
6- routing needs more documentation
7
8////
9
10
11VXLAN layer2 with vlan unware linux bridges
12~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13
14VXLAN is an overlay network to carry Ethernet traffic over an existing IP network
15while accommodating a very large number of tenants. It is defined in RFC 7348.
16Each overlay network is known as a VXLAN Segment and identified by a unique
1724-bit segment ID called a VXLAN Network Identifier (VNI).
18
19For BUM traffic (broadcast / unknown unicast traffic, multicast),
20we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
21
22image::images/vxlan-l2-vlanunaware.svg["vxlan l2 bridge vlan unaware",align="center"]
23
24multicast mode
25^^^^^^^^^^^^^^
26
27This scenario relies in head end replication, meaning that end host in case
28of not having any entry for the destination MAC address will send out an ARP
29to other devices / VTEPs in the VXLAN network.
30This is done by sending the request to the VXLAN multicast group,
31remote VTEPs will get the packet and answer accordingly direct to the originating VTEP.
32
33
34* node1
35
36----
37auto eno1
38iface eno1 inet manual
39
40auto vmbr0
41iface vmbr0 inet static
42 address 192.168.0.1
43 netmask 255.255.255.0
44 bridge_ports eno1
45 bridge_stp off
46 bridge_fd 0
47
48auto vxlan2
49iface vxlan2 inet manual
50 vxlan-svcnodeip 225.20.1.1
51 vxlan-physdev eno1
52
53auto vmbr2
54iface vmbr2 inet manual
55 bridge_ports vxlan2
56 bridge_stp off
57 bridge_fd 0
58
59auto vxlan3
60iface vxlan3 inet manual
61 vxlan-svcnodeip 225.20.1.1
62 vxlan-physdev eno1
63
64auto vmbr3
65iface vmbr3 inet manual
66 bridge_ports vxlan3
67 bridge_stp off
68 bridge_fd 0
69----
70
71
72* node2
73
74----
75auto eno1
76iface eno1 inet manual
77
78auto vmbr0
79iface vmbr0 inet static
80 address 192.168.0.2
81 netmask 255.255.255.0
82 bridge_ports eno1
83 bridge_stp off
84 bridge_fd 0
85
86auto vxlan2
87iface vxlan2 inet manual
88 vxlan-svcnodeip 225.20.1.1
89 vxlan-physdev eno1
90
91auto vmbr2
92iface vmbr2 inet manual
93 bridge_ports vxlan2
94 bridge_stp off
95 bridge_fd 0
96
97
98auto vxlan3
99iface vxlan3 inet manual
100 vxlan-svcnodeip 225.20.1.1
101 vxlan-physdev eno1
102
103auto vmbr3
104iface vmbr3 inet manual
105 bridge_ports vxlan3
106 bridge_stp off
107 bridge_fd 0
108----
109
110
111* node3
112
113----
114auto eno1
115iface eno1 inet manual
116
117auto vmbr0
118iface vmbr0 inet static
119 address 192.168.0.3
120 netmask 255.255.255.0
121 bridge_ports eno1
122 bridge_stp off
123 bridge_fd 0
124
125auto vxlan2
126iface vxlan2 inet manual
127 vxlan-svcnodeip 225.20.1.1
128 vxlan-physdev eno1
129
130auto vmbr2
131iface vmbr2 inet manual
132 bridge_ports vxlan2
133 bridge_stp off
134 bridge_fd 0
135
136
137auto vxlan3
138iface vxlan3 inet manual
139 vxlan-svcnodeip 225.20.1.1
140 vxlan-physdev eno1
141
142auto vmbr3
143iface vmbr3 inet manual
144 bridge_ports vxlan3
145 bridge_stp off
146 bridge_fd 0
147----
148
149
150unicast mode
151^^^^^^^^^^^^
152
153We can replace multicast by head-end replication of BUM frames to a statically configured lists of remote VTEPs.
154The VXLAN is defined without a remote multicast group.
155Instead, all the remote VTEPs are associated with the all-zero address:
156a BUM frame will be duplicated to all these destinations.
157The VXLAN device will still learn remote addresses automatically using source-address learning.
158
159* node1
160
161----
162auto eno1
163iface eno1 inet manual
164
165auto vmbr0
166iface vmbr0 inet static
167 address 192.168.0.1
168 netmask 255.255.255.0
169 bridge_ports eno1
170 bridge_stp off
171 bridge_fd 0
172
173
174auto vxlan2
175iface vxlan2 inet manual
176 vxlan_remoteip 192.168.0.2
177 vxlan_remoteip 192.168.0.3
178
179
180auto vmbr2
181iface vmbr2 inet manual
182 bridge_ports vxlan2
183 bridge_stp off
184 bridge_fd 0
185
186
187auto vxlan3
188iface vxlan2 inet manual
189 vxlan_remoteip 192.168.0.2
190 vxlan_remoteip 192.168.0.3
191
192
193auto vmbr3
194iface vmbr3 inet manual
195 bridge_ports vxlan3
196 bridge_stp off
197 bridge_fd 0
198----
199
200
201* node2
202
203----
204auto eno1
205iface eno1 inet manual
206
207auto vmbr0
208iface vmbr0 inet static
209 address 192.168.0.2
210 netmask 255.255.255.0
211 bridge_ports eno1
212 bridge_stp off
213 bridge_fd 0
214
215auto vxlan2
216iface vxlan2 inet manual
217 vxlan_remoteip 192.168.0.1
218 vxlan_remoteip 192.168.0.3
219
220
221
222auto vmbr2
223iface vmbr2 inet manual
224 bridge_ports vxlan2
225 bridge_stp off
226 bridge_fd 0
227
228auto vxlan3
229iface vxlan2 inet manual
230 vxlan_remoteip 192.168.0.1
231 vxlan_remoteip 192.168.0.3
232
233
234auto vmbr3
235iface vmbr3 inet manual
236 bridge_ports vxlan3
237 bridge_stp off
238 bridge_fd 0
239----
240
241
242* node3
243
244----
245auto eno1
246iface eno1 inet manual
247
248auto vmbr0
249iface vmbr0 inet static
250 address 192.168.0.3
251 netmask 255.255.255.0
252 bridge_ports eno1
253 bridge_stp off
254 bridge_fd 0
255
256auto vxlan2
257iface vxlan2 inet manual
258 vxlan_remoteip 192.168.0.2
259 vxlan_remoteip 192.168.0.3
260
261
262
263auto vmbr2
264iface vmbr2 inet manual
265 bridge_ports vxlan2
266 bridge_stp off
267 bridge_fd 0
268
269auto vxlan3
270iface vxlan2 inet manual
271 vxlan_remoteip 192.168.0.2
272 vxlan_remoteip 192.168.0.3
273
274
275auto vmbr3
276iface vmbr3 inet manual
277 bridge_ports vxlan3
278 bridge_stp off
279 bridge_fd 0
280----
281
282
283bgp-evpn
284^^^^^^^^
285
286VTEPs use control plane learning/distribution via BGP for remote MAC addresses instead of data plane learning.
287VTEPs have the ability to suppress ARP flooding over VXLAN tunnels.
288
289The control plane used here is FRR, a bgp routing software.
290Each node in the proxmox cluster peer with each others nodes.
291For bigger networks, or multiple proxmox clusters,
292it's possible to use external bgp route reflector servers.
293
294* node1
295
296----
297auto eno1
298iface eno1 inet manual
299
300auto vmbr0
301iface vmbr0 inet static
302 address 192.168.0.1
303 netmask 255.255.255.0
304 bridge_ports eno1
305 bridge_stp off
306 bridge_fd 0
307
308auto vxlan2
309iface vxlan2 inet manual
310 vxlan-local-tunnelip 192.168.0.1
311 bridge-learning off
312 bridge-arp-nd-suppress on
313 bridge-unicast-flood off
314 bridge-multicast-flood off
315
316
317auto vmbr2
318iface vmbr2 inet manual
319 bridge_ports vxlan2
320 bridge_stp off
321 bridge_fd 0
322
323
324auto vxlan3
325iface vxlan3 inet manual
326 vxlan-local-tunnelip 192.168.0.1
327 bridge-learning off
328 bridge-arp-nd-suppress on
329 bridge-unicast-flood off
330 bridge-multicast-flood off
331
332
333auto vmbr3
334iface vmbr3 inet manual
335 bridge_ports vxlan3
336 bridge_stp off
337 bridge_fd 0
338----
339
340
341/etc/frr/frr.conf
342
343----
344router bgp 1234
345 no bgp default ipv4-unicast
346 coalesce-time 1000
347 neighbor 192.168.0.2 remote-as 1234
348 neighbor 192.168.0.3 remote-as 1234
349 !
350 address-family l2vpn evpn
351 neighbor 192.168.0.2 activate
352 neighbor 192.168.0.3 activate
353 advertise-all-vni
354 exit-address-family
355!
356line vty
357!
358----
359
360
361* node2
362
363----
364auto eno1
365iface eno1 inet manual
366
367auto vmbr0
368iface vmbr0 inet static
369 address 192.168.0.2
370 netmask 255.255.255.0
371 bridge_ports eno1
372 bridge_stp off
373 bridge_fd 0
374
375auto vxlan2
376iface vxlan2 inet manual
377 vxlan-local-tunnelip 192.168.0.2
378 bridge-learning off
379 bridge-arp-nd-suppress on
380 bridge-unicast-flood off
381 bridge-multicast-flood off
382
383
384auto vmbr2
385iface vmbr2 inet manual
386 bridge_ports vxlan2
387 bridge_stp off
388 bridge_fd 0
389
390auto vxlan3
391iface vxlan3 inet manual
392 vxlan-local-tunnelip 192.168.0.2
393 bridge-learning off
394 bridge-arp-nd-suppress on
395 bridge-unicast-flood off
396 bridge-multicast-flood off
397
398
399auto vmbr3
400iface vmbr3 inet manual
401 bridge_ports vxlan3
402 bridge_stp off
403 bridge_fd 0
404----
405
406
407/etc/frr/frr.conf
408
409----
410router bgp 1234
411 no bgp default ipv4-unicast
412 coalesce-time 1000
413 neighbor 192.168.0.1 remote-as 1234
414 neighbor 192.168.0.3 remote-as 1234
415 !
416 address-family l2vpn evpn
417 neighbor 192.168.0.1 activate
418 neighbor 192.168.0.3 activate
419 advertise-all-vni
420 exit-address-family
421!
422line vty
423!
424----
425
426
427* node3
428
429----
430auto eno1
431iface eno1 inet manual
432
433auto vmbr0
434iface vmbr0 inet static
435 address 192.168.0.2
436 netmask 255.255.255.0
437 bridge_ports eno1
438 bridge_stp off
439 bridge_fd 0
440
441auto vxlan2
442iface vxlan2 inet manual
443 vxlan-local-tunnelip 192.168.0.3
444 bridge-learning off
445 bridge-arp-nd-suppress on
446 bridge-unicast-flood off
447 bridge-multicast-flood off
448
449
450auto vmbr2
451iface vmbr2 inet manual
452 bridge_ports vxlan2
453 bridge_stp off
454 bridge_fd 0
455
456auto vxlan3
457iface vxlan3 inet manual
458 vxlan-local-tunnelip 192.168.0.3
459 bridge-learning off
460 bridge-arp-nd-suppress on
461 bridge-unicast-flood off
462 bridge-multicast-flood off
463
464
465auto vmbr3
466iface vmbr3 inet manual
467 bridge_ports vxlan3
468 bridge_stp off
469 bridge_fd 0
470----
471
472
473/etc/frr/frr.conf
474
475
476----
477router bgp 1234
478 no bgp default ipv4-unicast
479 coalesce-time 1000
480 neighbor 192.168.0.1 remote-as 1234
481 neighbor 192.168.0.2 remote-as 1234
482 !
483 address-family l2vpn evpn
484 neighbor 192.168.0.1 activate
485 neighbor 192.168.0.2 activate
486 advertise-all-vni
487 exit-address-family
488!
489line vty
490!
491----
492
493
494VXLAN layer2 with vlan aware linux bridges
495~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
496
497We use 1 vmbr bridge, each vxlan is mapped to a vlan
498
499image::images/vxlan-l2-vlanaware.svg["vxlan l2 bridge vlan aware",align="center"]
500
501multicast mode
502^^^^^^^^^^^^^^
503
504* node1
505
506----
507auto eno1
508iface eno1 inet manual
509
510auto vmbr0
511iface vmbr0 inet static
512 address 192.168.0.1
513 netmask 255.255.255.0
514 bridge_ports eno1 vxlan2 vxlan3
515 bridge_stp off
516 bridge_fd 0
517 bridge_vlan_aware yes
518
519auto vxlan2
520iface vxlan2 inet manual
521 vxlan-svcnodeip 225.20.1.1
522 vxlan-physdev eno1
523 bridge-access 2
524
525auto vxlan3
526iface vxlan3 inet manual
527 vxlan-svcnodeip 225.20.1.1
528 vxlan-physdev eno1
529 bridge-access 3
530----
531
532
533* node2
534
535----
536auto eno1
537iface eno1 inet manual
538
539auto vmbr0
540iface vmbr0 inet static
541 address 192.168.0.2
542 netmask 255.255.255.0
543 bridge_ports eno1 vxlan2 vxlan3
544 bridge_stp off
545 bridge_fd 0
546 bridge_vlan_aware yes
547
548auto vxlan2
549iface vxlan2 inet manual
550 vxlan-svcnodeip 225.20.1.1
551 vxlan-physdev eno1
552 bridge-access 2
553
554auto vxlan3
555iface vxlan3 inet manual
556 vxlan-svcnodeip 225.20.1.1
557 vxlan-physdev eno1
558 bridge-access 3
559----
560
561
562* node3
563
564----
565auto eno1
566iface eno1 inet manual
567
568auto vmbr0
569iface vmbr0 inet static
570 address 192.168.0.3
571 netmask 255.255.255.0
572 bridge_ports eno1 vxlan2 vxlan3
573 bridge_stp off
574 bridge_fd 0
575 bridge_vlan_aware yes
576
577auto vxlan2
578iface vxlan2 inet manual
579 vxlan-svcnodeip 225.20.1.1
580 vxlan-physdev eno1
581 bridge-access 2
582
583auto vxlan3
584iface vxlan3 inet manual
585 vxlan-svcnodeip 225.20.1.1
586 vxlan-physdev eno1
587 bridge-access 3
588----
589
590
591unicast mode
592^^^^^^^^^^^^
593
594* node1
595
596----
597auto eno1
598iface eno1 inet manual
599
600auto vmbr0
601iface vmbr0 inet static
602 address 192.168.0.1
603 netmask 255.255.255.0
604 bridge_ports eno1 vxlan2 vxlan3
605 bridge_stp off
606 bridge_fd 0
607 bridge_vlan_aware yes
608
609auto vxlan2
610iface vxlan2 inet manual
611 vxlan_remoteip 192.168.0.2
612 vxlan_remoteip 192.168.0.3
613 bridge-access 2
614
615auto vxlan3
616iface vxlan3 inet manual
617 vxlan_remoteip 192.168.0.2
618 vxlan_remoteip 192.168.0.3
619 bridge-access 3
620----
621
622
623* node2
624
625----
626auto eno1
627iface eno1 inet manual
628
629auto vmbr0
630iface vmbr0 inet static
631 address 192.168.0.2
632 netmask 255.255.255.0
633 bridge_ports eno1 vxlan2 vxlan3
634 bridge_stp off
635 bridge_fd 0
636 bridge_vlan_aware yes
637
638auto vxlan2
639iface vxlan2 inet manual
640 vxlan_remoteip 192.168.0.1
641 vxlan_remoteip 192.168.0.3
642 bridge-access 2
643
644auto vxlan3
645iface vxlan3 inet manual
646 vxlan_remoteip 192.168.0.1
647 vxlan_remoteip 192.168.0.3
648 bridge-access 3
649----
650
651
652* node3
653
654----
655auto eno1
656iface eno1 inet manual
657
658auto vmbr0
659iface vmbr0 inet static
660 address 192.168.0.3
661 netmask 255.255.255.0
662 bridge_ports eno1 vxlan2 vxlan3
663 bridge_stp off
664 bridge_fd 0
665 bridge_vlan_aware yes
666
667auto vxlan2
668iface vxlan2 inet manual
669 vxlan_remoteip 192.168.0.2
670 vxlan_remoteip 192.168.0.3
671 bridge-access 2
672
673auto vxlan3
674iface vxlan3 inet manual
675 vxlan_remoteip 192.168.0.2
676 vxlan_remoteip 192.168.0.3
677 bridge-access 3
678----
679
680
681bgp-evpn
682^^^^^^^^
683
684Note: currently FRR is working only with 1 vlan aware bridge
685
686* node1
687
688
689----
690auto eno1
691iface eno1 inet manual
692
693auto vmbr0
694iface vmbr0 inet static
695 address 192.168.0.1
696 netmask 255.255.255.0
697 bridge_ports eno1 vxlan2 vxlan3
698 bridge_stp off
699 bridge_fd 0
700 bridge_vlan_aware yes
701
702auto vxlan0
703iface vxlan0 inet manual
704 vxlan-local-tunnelip 192.168.0.1
705 bridge-learning off
706 bridge-arp-nd-suppress on
707 bridge-unicast-flood off
708 bridge-multicast-flood off
709 bridge-access 2
710
711
712auto vxlan3
713iface vxlan3 inet manual
714 vxlan-local-tunnelip 192.168.0.1
715 bridge-learning off
716 bridge-arp-nd-suppress on
717 bridge-unicast-flood off
718 bridge-multicast-flood off
719 bridge-access 3
720----
721
722
723/etc/frr/frr.conf
724
725----
726router bgp 1234
727 no bgp default ipv4-unicast
728 coalesce-time 1000
729 neighbor 192.168.0.2 remote-as 1234
730 neighbor 192.168.0.3 remote-as 1234
731 !
732 address-family l2vpn evpn
733 neighbor 192.168.0.2 activate
734 neighbor 192.168.0.3 activate
735 advertise-all-vni
736 exit-address-family
737!
738line vty
739!
740----
741
742
743* node2
744
745----
746auto eno1
747iface eno1 inet manual
748
749auto vmbr0
750iface vmbr0 inet static
751 address 192.168.0.2
752 netmask 255.255.255.0
753 bridge_ports eno1 vxlan2 vxlan3
754 bridge_stp off
755 bridge_fd 0
756 bridge_vlan_aware yes
757
758auto vxlan0
759iface vxlan0 inet manual
760 vxlan-local-tunnelip 192.168.0.2
761 bridge-learning off
762 bridge-arp-nd-suppress on
763 bridge-unicast-flood off
764 bridge-multicast-flood off
765 bridge-access 2
766
767
768auto vxlan3
769iface vxlan3 inet manual
770 vxlan-local-tunnelip 192.168.0.2
771 bridge-learning off
772 bridge-arp-nd-suppress on
773 bridge-unicast-flood off
774 bridge-multicast-flood off
775 bridge-access 3
776----
777
778
779/etc/frr/frr.conf
780
781----
782router bgp 1234
783 no bgp default ipv4-unicast
784 coalesce-time 1000
785 neighbor 192.168.0.1 remote-as 1234
786 neighbor 192.168.0.3 remote-as 1234
787 !
788 address-family l2vpn evpn
789 neighbor 192.168.0.1 activate
790 neighbor 192.168.0.3 activate
791 advertise-all-vni
792 exit-address-family
793!
794line vty
795!
796----
797
798
799* node3
800
801----
802auto eno1
803iface eno1 inet manual
804
805auto vmbr0
806iface vmbr0 inet static
807 address 192.168.0.3
808 netmask 255.255.255.0
809 bridge_ports eno1 vxlan2 vxlan3
810 bridge_stp off
811 bridge_fd 0
812 bridge_vlan_aware yes
813
814auto vxlan0
815iface vxlan0 inet manual
816 vxlan-local-tunnelip 192.168.0.3
817 bridge-learning off
818 bridge-arp-nd-suppress on
819 bridge-unicast-flood off
820 bridge-multicast-flood off
821 bridge-access 2
822
823
824auto vxlan3
825iface vxlan3 inet manual
826 vxlan-local-tunnelip 192.168.0.3
827 bridge-learning off
828 bridge-arp-nd-suppress on
829 bridge-unicast-flood off
830 bridge-multicast-flood off
831 bridge-access 3
832----
833
834
835/etc/frr/frr.conf
836----
837router bgp 1234
838 no bgp default ipv4-unicast
839 coalesce-time 1000
840 neighbor 192.168.0.1 remote-as 1234
841 neighbor 192.168.0.2 remote-as 1234
842 !
843 address-family l2vpn evpn
844 neighbor 192.168.0.1 activate
845 neighbor 192.168.0.2 activate
846 advertise-all-vni
847 exit-address-family
848!
849line vty
850!
851----
1821b137
AD
852
853VXLAN layer3 routing with anycast gateway
854~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
855
856With this need, each vmbr bridge will be the gateway for the vm.
857Same vmbr on different node, will have same ip address and same mac address,
858to have working vm live migration and no network disruption.
859
860VXLAN layer3 routing only work with FRR and non-aware bridge.
861(vlan aware bridge support is buggy currently).
862
863
864sysctl.conf tuning
865
866----
867#enable routing
868net.ipv4.ip_forward=1
869net.ipv6.conf.all.forwarding=1
870#disable reverse path filtering
871net.ipv4.conf.default.rp_filter=0
872net.ipv4.conf.all.rp_filter=0
873#allow frr to work with vrf
874net.ipv4.tcp_l3mdev_accept=1
875----
876
877asymmetric model
878^^^^^^^^^^^^^^^^
879
880This is the simplest mode. To get it work, all vxlan need to be defined on all nodes.
881
882The asymmetric model allows routing and bridging on the VXLAN tunnel ingress,
883but only bridging on the egress.
884This results in bi-directional VXLAN traffic traveling on different VNIs
885in each direction (always the destination VNI) across the routed infrastructure.
886
887image::images/vxlan-l3-asymmetric.svg["vxlan l3 asymmetric",align="center"]
888
889
890* node1
891
892----
893auto eno1
894iface eno1 inet manual
895
896auto vmbr0
897iface vmbr0 inet static
898 address 192.168.0.1
899 netmask 255.255.255.0
900 bridge_ports eno1
901 bridge_stp off
902 bridge_fd 0
903
904auto vxlan2
905iface vxlan2 inet manual
906 vxlan-local-tunnelip 192.168.0.1
907 bridge-learning off
908 bridge-arp-nd-suppress on
909 bridge-unicast-flood off
910 bridge-multicast-flood off
911
912
913auto vmbr2
914iface vmbr2 inet static
915 address 10.0.2.254
916 netmask 255.255.255.0
917 hwaddress 44:39:39:FF:40:94
918 bridge_ports vxlan2
919 bridge_stp off
920 bridge_fd 0
921
922
923auto vxlan3
924iface vxlan3 inet manual
925 vxlan-local-tunnelip 192.168.0.1
926 bridge-learning off
927 bridge-arp-nd-suppress on
928 bridge-unicast-flood off
929 bridge-multicast-flood off
930
931
932auto vmbr3
933iface vmbr3 inet static
934 address 10.0.3.254
935 netmask 255.255.255.0
936 hwaddress 44:39:39:FF:40:94
937 bridge_ports vxlan3
938 bridge_stp off
939 bridge_fd 0
940----
941
942
943frr.conf
944
945----
946router bgp 1234
947 bgp router-id 192.168.0.1
948 no bgp default ipv4-unicast
949 coalesce-time 1000
950 neighbor 192.168.0.2 remote-as 1234
951 neighbor 192.168.0.3 remote-as 1234
952 !
953 address-family l2vpn evpn
954 neighbor 192.168.0.2 activate
955 neighbor 192.168.0.3 activate
956 advertise-all-vni
957 exit-address-family
958!
959line vty
960!
961----
962
963
964* node2
965
966----
967auto eno1
968iface eno1 inet manual
969
970auto vmbr0
971iface vmbr0 inet static
972 address 192.168.0.2
973 netmask 255.255.255.0
974 bridge_ports eno1
975 bridge_stp off
976 bridge_fd 0
977
978auto vxlan2
979iface vxlan2 inet manual
980 vxlan-local-tunnelip 192.168.0.2
981 bridge-learning off
982 bridge-arp-nd-suppress on
983 bridge-unicast-flood off
984 bridge-multicast-flood off
985
986
987auto vmbr2
988iface vmbr2 inet static
989 address 10.0.2.254
990 netmask 255.255.255.0
991 hwaddress 44:39:39:FF:40:94
992 bridge_ports vxlan2
993 bridge_stp off
994 bridge_fd 0
995
996
997auto vxlan3
998iface vxlan3 inet manual
999 vxlan-local-tunnelip 192.168.0.2
1000 bridge-learning off
1001 bridge-arp-nd-suppress on
1002 bridge-unicast-flood off
1003 bridge-multicast-flood off
1004
1005
1006auto vmbr3
1007iface vmbr3 inet static
1008 address 10.0.3.254
1009 netmask 255.255.255.0
1010 hwaddress 44:39:39:FF:40:94
1011 bridge_ports vxlan3
1012 bridge_stp off
1013 bridge_fd 0
1014----
1015
1016
1017frr.conf
1018
1019----
1020router bgp 1234
1021 bgp router-id 192.168.0.2
1022 no bgp default ipv4-unicast
1023 coalesce-time 1000
1024 neighbor 192.168.0.1 remote-as 1234
1025 neighbor 192.168.0.3 remote-as 1234
1026 !
1027 address-family l2vpn evpn
1028 neighbor 192.168.0.1 activate
1029 neighbor 192.168.0.3 activate
1030 advertise-all-vni
1031 exit-address-family
1032!
1033line vty
1034!
1035----
1036
1037
1038* node3
1039
1040----
1041auto eno1
1042iface eno1 inet manual
1043
1044auto vmbr0
1045iface vmbr0 inet static
1046 address 192.168.0.3
1047 netmask 255.255.255.0
1048 bridge_ports eno1
1049 bridge_stp off
1050 bridge_fd 0
1051
1052auto vxlan2
1053iface vxlan2 inet manual
1054 vxlan-local-tunnelip 192.168.0.3
1055 bridge-learning off
1056 bridge-arp-nd-suppress on
1057 bridge-unicast-flood off
1058 bridge-multicast-flood off
1059
1060
1061auto vmbr2
1062iface vmbr2 inet static
1063 address 10.0.2.254
1064 netmask 255.255.255.0
1065 hwaddress 44:39:39:FF:40:94
1066 bridge_ports vxlan2
1067 bridge_stp off
1068 bridge_fd 0
1069
1070
1071auto vxlan3
1072iface vxlan3 inet manual
1073 vxlan-local-tunnelip 192.168.0.3
1074 bridge-learning off
1075 bridge-arp-nd-suppress on
1076 bridge-unicast-flood off
1077 bridge-multicast-flood off
1078
1079
1080auto vmbr3
1081iface vmbr3 inet static
1082 address 10.0.3.254
1083 netmask 255.255.255.0
1084 hwaddress 44:39:39:FF:40:94
1085 bridge_ports vxlan3
1086 bridge_stp off
1087 bridge_fd 0
1088----
1089
1090
1091frr.conf
1092
1093----
1094router bgp 1234
1095 bgp router-id 192.168.0.3
1096 no bgp default ipv4-unicast
1097 coalesce-time 1000
1098 neighbor 192.168.0.1 remote-as 1234
1099 neighbor 192.168.0.2 remote-as 1234
1100 !
1101 address-family l2vpn evpn
1102 neighbor 192.168.0.1 activate
1103 neighbor 192.168.0.2 activate
1104 advertise-all-vni
1105 exit-address-family
1106!
1107line vty
1108!
1109----
1110
1111
1112symmetric model
1113^^^^^^^^^^^^^^^
1114
1115With this model, you don't need to have all vxlan on all nodes.
1116This model will also be needed to route traffic to an external router.
1117
1118The symmetric model routes and bridges on both the ingress and the egress leafs.
1119This results in bi-directional traffic being able to travel on the same VNI, hence the symmetric name.
1120However, a new specialty transit VNI is used for all routed VXLAN traffic, called the L3VNI.
1121All traffic that needs to be routed will be routed onto the L3VNI, tunneled across the layer 3 Infrastructure,
1122routed off the L3VNI to the appropriate VLAN and ultimately bridged to the destination.
1123
1124A vrf is needed for the L3VNI, so all vmbr bridge need to be in the vrf if they want to be able to reach each others.
1125
1126image::images/vxlan-l3-symmetric.svg["vxlan l3 symmetric",align="center"]
1127
1128
1129* node1
1130
1131----
1132auto vrf1
1133iface vrf1
1134 vrf-table auto
1135
1136auto eno1
1137iface eno1 inet manual
1138
1139auto vmbr0
1140iface vmbr0 inet static
1141 address 192.168.0.1
1142 netmask 255.255.255.0
1143 bridge_ports eno1
1144 bridge_stp off
1145 bridge_fd 0
1146
1147auto vxlan2
1148iface vxlan2 inet manual
1149 vxlan-local-tunnelip 192.168.0.1
1150 bridge-learning off
1151 bridge-arp-nd-suppress on
1152 bridge-unicast-flood off
1153 bridge-multicast-flood off
1154
1155auto vmbr2
1156iface vmbr2 inet static
1157 bridge_ports vxlan2
1158 bridge_stp off
1159 bridge_fd 0
1160 address 10.0.2.254
1161 netmask 255.255.255.0
1162 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1163 vrf vrf1
1164
1165auto vxlan3
1166iface vxlan3 inet manual
1167 vxlan-local-tunnelip 192.168.0.1
1168 bridge-learning off
1169 bridge-arp-nd-suppress on
1170 bridge-unicast-flood off
1171 bridge-multicast-flood off
1172
1173auto vmbr3
1174iface vmbr3 inet static
1175 bridge_ports vxlan3
1176 bridge_stp off
1177 bridge_fd 0
1178 address 10.0.3.254
1179 netmask 255.255.255.0
1180 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1181 vrf vrf1
1182
1183#interconnect vxlan-vfr l3vni
1184auto vxlan4000
1185iface vxlan4000 inet manual
1186 vxlan-local-tunnelip 192.168.0.1
1187 bridge-learning off
1188 bridge-arp-nd-suppress on
1189 bridge-unicast-flood off
1190 bridge-multicast-flood off
1191
1192
1193auto vmbr4000
1194iface vmbr4000 inet manual
1195 bridge_ports vxlan4000
1196 bridge_stp off
1197 bridge_fd 0
1198 hwaddress 44:39:39:FF:40:90 #must be different on each node
1199 vrf vrf1
1200----
1201
1202frr.conf
1203
1204----
1205vrf vrf1
1206 vni 4000
1207!
1208router bgp 1234
1209 bgp router-id 192.168.0.1
1210 no bgp default ipv4-unicast
1211 coalesce-time 1000
1212 neighbor 192.168.0.2 remote-as 1234
1213 neighbor 192.168.0.3 remote-as 1234
1214 !
1215 address-family l2vpn evpn
1216 neighbor 192.168.0.2 activate
1217 neighbor 192.168.0.3 activate
1218 advertise-all-vni
1219 exit-address-family
1220!
1221router bgp 1234 vrf vrf1
1222!
1223 bgp router-id 192.168.0.1
1224 !
1225 address-family ipv4 unicast
1226 redistribute connected
1227 exit-address-family
1228 !
1229 address-family l2vpn evpn
1230 advertise ipv4 unicast
1231 exit-address-family
1232!
1233line vty
1234!
1235----
1236
1237
1238* node2
1239
1240----
1241auto vrf1
1242iface vrf1
1243 vrf-table auto
1244
1245auto eno1
1246iface eno1 inet manual
1247
1248auto vmbr0
1249iface vmbr0 inet static
1250 address 192.168.0.2
1251 netmask 255.255.255.0
1252 bridge_ports eno1
1253 bridge_stp off
1254 bridge_fd 0
1255
1256auto vxlan2
1257iface vxlan2 inet manual
1258 vxlan-local-tunnelip 192.168.0.2
1259 bridge-learning off
1260 bridge-arp-nd-suppress on
1261 bridge-unicast-flood off
1262 bridge-multicast-flood off
1263
1264auto vmbr2
1265iface vmbr2 inet static
1266 bridge_ports vxlan2
1267 bridge_stp off
1268 bridge_fd 0
1269 address 10.0.2.254
1270 netmask 255.255.255.0
1271 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1272 vrf vrf1
1273
1274auto vxlan3
1275iface vxlan3 inet manual
1276 vxlan-local-tunnelip 192.168.0.2
1277 bridge-learning off
1278 bridge-arp-nd-suppress on
1279 bridge-unicast-flood off
1280 bridge-multicast-flood off
1281
1282auto vmbr3
1283iface vmbr3 inet static
1284 bridge_ports vxlan3
1285 bridge_stp off
1286 bridge_fd 0
1287 address 10.0.3.254
1288 netmask 255.255.255.0
1289 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1290 vrf vrf1
1291
1292#interconnect vxlan-vfr l3vni
1293auto vxlan4000
1294iface vxlan4000 inet manual
1295 vxlan-local-tunnelip 192.168.0.2
1296 bridge-learning off
1297 bridge-arp-nd-suppress on
1298 bridge-unicast-flood off
1299 bridge-multicast-flood off
1300
1301
1302auto vmbr4000
1303iface vmbr4000 inet manual
1304 bridge_ports vxlan4000
1305 bridge_stp off
1306 bridge_fd 0
1307 hwaddress 44:39:39:FF:40:91 #must be different on each node
1308 vrf vrf1
1309----
1310
1311
1312frr.conf
1313
1314----
1315vrf vrf1
1316 vni 4000
1317!
1318router bgp 1234
1319 bgp router-id 192.168.0.2
1320 no bgp default ipv4-unicast
1321 coalesce-time 1000
1322 neighbor 192.168.0.1 remote-as 1234
1323 neighbor 192.168.0.3 remote-as 1234
1324 !
1325 address-family l2vpn evpn
1326 neighbor 192.168.0.1 activate
1327 neighbor 192.168.0.3 activate
1328 advertise-all-vni
1329 exit-address-family
1330!
1331router bgp 1234 vrf vrf1
1332!
1333 bgp router-id 192.168.0.2
1334 !
1335 address-family ipv4 unicast
1336 redistribute connected
1337 exit-address-family
1338 !
1339 address-family l2vpn evpn
1340 advertise ipv4 unicast
1341 exit-address-family
1342!
1343line vty
1344!
1345----
1346
1347
1348* node3
1349
1350----
1351auto vrf1
1352iface vrf1
1353 vrf-table auto
1354
1355auto eno1
1356iface eno1 inet manual
1357
1358auto vmbr0
1359iface vmbr0 inet static
1360 address 192.168.0.3
1361 netmask 255.255.255.0
1362 bridge_ports eno1
1363 bridge_stp off
1364 bridge_fd 0
1365
1366auto vxlan2
1367iface vxlan2 inet manual
1368 vxlan-local-tunnelip 192.168.0.3
1369 bridge-learning off
1370 bridge-arp-nd-suppress on
1371 bridge-unicast-flood off
1372 bridge-multicast-flood off
1373
1374auto vmbr2
1375iface vmbr2 inet static
1376 bridge_ports vxlan2
1377 bridge_stp off
1378 bridge_fd 0
1379 address 10.0.2.254
1380 netmask 255.255.255.0
1381 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr2
1382 vrf vrf1
1383
1384auto vxlan3
1385iface vxlan3 inet manual
1386 vxlan-local-tunnelip 192.168.0.3
1387 bridge-learning off
1388 bridge-arp-nd-suppress on
1389 bridge-unicast-flood off
1390 bridge-multicast-flood off
1391
1392auto vmbr3
1393iface vmbr3 inet static
1394 bridge_ports vxlan3
1395 bridge_stp off
1396 bridge_fd 0
1397 address 10.0.3.254
1398 netmask 255.255.255.0
1399 hwaddress 44:39:39:FF:40:94 #must be same on each node vmbr3
1400 vrf vrf1
1401
1402#interconnect vxlan-vfr l3vni
1403auto vxlan4000
1404iface vxlan4000 inet manual
1405 vxlan-local-tunnelip 192.168.0.3
1406 bridge-learning off
1407 bridge-arp-nd-suppress on
1408 bridge-unicast-flood off
1409 bridge-multicast-flood off
1410
1411
1412auto vmbr4000
1413iface vmbr4000 inet manual
1414 bridge_ports vxlan4000
1415 bridge_stp off
1416 bridge_fd 0
1417 hwaddress 44:39:39:FF:40:92 #must be different on each node
1418 vrf vrf1
1419----
1420
1421
1422frr.conf
1423
1424----
1425vrf vrf1
1426 vni 4000
1427!
1428router bgp 1234
1429 bgp router-id 192.168.0.3
1430 no bgp default ipv4-unicast
1431 coalesce-time 1000
1432 neighbor 192.168.0.1 remote-as 1234
1433 neighbor 192.168.0.2 remote-as 1234
1434 !
1435 address-family l2vpn evpn
1436 neighbor 192.168.0.1 activate
1437 neighbor 192.168.0.2 activate
1438 advertise-all-vni
1439 exit-address-family
1440!
1441router bgp 1234 vrf vrf1
1442!
1443 bgp router-id 192.168.0.3
1444 !
1445 address-family ipv4 unicast
1446 redistribute connected
1447 exit-address-family
1448 !
1449 address-family l2vpn evpn
1450 advertise ipv4 unicast
1451 exit-address-family
1452!
1453line vty
1454!
1455----