]> git.proxmox.com Git - pve-docs.git/commitdiff
add documentation for vxlan layer 2 network
authorDietmar Maurer <dietmar@proxmox.com>
Thu, 9 Aug 2018 05:56:27 +0000 (07:56 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 9 Aug 2018 06:03:44 +0000 (08:03 +0200)
Thank to Alexandre Derumier <aderumier@odiso.com> for providing these docs.

images/vxlan-l2-vlanaware.svg [new file with mode: 0644]
images/vxlan-l2-vlanunaware.svg [new file with mode: 0644]
vxlan-and-evpn.adoc [new file with mode: 0644]

diff --git a/images/vxlan-l2-vlanaware.svg b/images/vxlan-l2-vlanaware.svg
new file mode 100644 (file)
index 0000000..9658c9f
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:lucid="lucid" width="1870.4" height="1323.2"><g transform="translate(0 0)" lucid:page-tab-id="0_0"><path d="M0 0h1870.4v1323.2H0z" fill="#fff"/><path d="M180 520h420v500H180z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#a" transform="matrix(1,0,0,1,185,525) translate(203.525 249.1)"/><path d="M280 520h180v60H280z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,285,525) translate(67.5 28.6)"/><path d="M320 761h140v60H320z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,325,766) translate(40.05 28.6)"/><path d="M240 641.6h100v40H240z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,245,646.5999999999999) translate(19.025 18.6)"/><path d="M390 760v-38.7H290v-38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M391 761h-2v-1h2zM291 682.6h-2v-1h2z"/><path d="M460 642h100v40H460z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,465,647) translate(19.025 18.6)"/><path d="M425.33 760v-38.5H500V683" stroke="#000" stroke-width="2" fill="none"/><path d="M426.33 761h-2v-1h2zM501 683h-2v-1h2z"/><path d="M250 540h240v60H250z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#f" transform="matrix(1,0,0,1,255,545) translate(67.5 28.6)"/><path d="M240 900.4h100v80H240z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#g" transform="matrix(1,0,0,1,245,905.4000000000001) translate(28.025 27.799999999999997)"/><use xlink:href="#h" transform="matrix(1,0,0,1,245,905.4000000000001) translate(0 49.4)"/><path d="M460 900.4h100v80H460z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#i" transform="matrix(1,0,0,1,465,905.4000000000001) translate(28.025 27.799999999999997)"/><use xlink:href="#j" transform="matrix(1,0,0,1,465,905.4000000000001) translate(0 49.4)"/><path d="M349.33 822v38.7H280v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M350.33 822h-2v-1h2zM281 900.4h-2v-1h2z"/><path d="M250 1020h240v60H250z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#k" transform="matrix(1,0,0,1,255,1025) translate(75.55 28.6)"/><path d="M725.2 520h420v500h-420z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M825.2 520h180v60h-180z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,830.1999999999999,525) translate(67.5 28.6)"/><path d="M795.2 540h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#l" transform="matrix(1,0,0,1,800.1999999999999,545) translate(67.5 28.6)"/><path d="M795.2 1020h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#m" transform="matrix(1,0,0,1,800.1999999999999,1025) translate(75.55 28.6)"/><path d="M1300 520h420v500h-420z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M1400 520h180v60h-180z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,1405,525) translate(67.5 28.6)"/><path d="M1370 540h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#n" transform="matrix(1,0,0,1,1375,545) translate(67.5 28.6)"/><path d="M1370 1020h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#o" transform="matrix(1,0,0,1,1375,1025) translate(75.55 28.6)"/><path d="M260 400h1140v238.6" stroke="#c92d39" stroke-width="2" fill="none"/><path d="M1401 639.6h-2v-1h2z" fill="#c92d39"/><path d="M845 639l.23-239" stroke="#c92d39" stroke-width="2" fill="none"/><path d="M846 639v1h-2v-1z" fill="#c92d39"/><path d="M260 640V400" stroke="#c92d39" stroke-width="2" fill="none"/><path d="M520 640V440M1065 639.4l-1.36-199.4" stroke="#7ab648" stroke-width="2" fill="none"/><path d="M1066 640.4h-2v-1h2z" fill="#7ab648"/><path d="M1640 641V440M520 440h1120" stroke="#7ab648" stroke-width="2" fill="none"/><path d="M432.6 822v38.7H510v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M433.6 822h-2v-1h2zM511 900.4h-2v-1h2z"/><path d="M420 801h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><use xlink:href="#p" transform="matrix(1,0,0,1,425,806) translate(0 14.4)"/><path d="M420 761h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><use xlink:href="#p" transform="matrix(1,0,0,1,425,766) translate(0 14.4)"/><path d="M380 761h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><use xlink:href="#q" transform="matrix(1,0,0,1,385,766) translate(0 14.4)"/><path d="M340 801h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><use xlink:href="#q" transform="matrix(1,0,0,1,345,806) translate(0 14.4)"/><path d="M875 759.4h140v60H875z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,880,764.4000000000001) translate(40.05 28.6)"/><path d="M795 640h100v40H795z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,800,645) translate(19.025 18.6)"/><path d="M945 758.4v-38.7H845V681" stroke="#000" stroke-width="2" fill="none"/><path d="M946 759.4h-2v-1h2zM846 681h-2v-1h2z"/><path d="M1015 640.4h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,1020,645.4000000000001) translate(19.025 18.6)"/><path d="M980.33 758.4v-38.5H1055v-38.5" stroke="#000" stroke-width="2" fill="none"/><path d="M981.33 759.4h-2v-1h2zM1056 681.4h-2v-1h2z"/><path d="M795 898.8h100v80H795z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#r" transform="matrix(1,0,0,1,800,903.8000000000002) translate(28.025 27.799999999999997)"/><use xlink:href="#s" transform="matrix(1,0,0,1,800,903.8000000000002) translate(0 49.4)"/><path d="M1015 898.8h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#t" transform="matrix(1,0,0,1,1020,903.8000000000002) translate(28.025 27.799999999999997)"/><use xlink:href="#u" transform="matrix(1,0,0,1,1020,903.8000000000002) translate(0 49.4)"/><path d="M904.33 820.4v38.7H835v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M905.33 820.4h-2v-1h2zM836 898.8h-2v-1h2z"/><path d="M987.6 820.4v38.7h77.4v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M988.6 820.4h-2v-1h2zM1066 898.8h-2v-1h2z"/><path d="M975 799.4h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><use xlink:href="#p" transform="matrix(1,0,0,1,980,804.4000000000001) translate(0 14.4)"/><path d="M975 759.4h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><use xlink:href="#p" transform="matrix(1,0,0,1,980,764.4000000000001) translate(0 14.4)"/><path d="M935 759.4h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><use xlink:href="#q" transform="matrix(1,0,0,1,940,764.4000000000001) translate(0 14.4)"/><path d="M895 799.4h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><use xlink:href="#q" transform="matrix(1,0,0,1,900,804.4000000000001) translate(0 14.4)"/><path d="M1430 759h140v60h-140z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,1435,764) translate(40.05 28.6)"/><path d="M1350 639.6h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,1355,644.5999999999999) translate(19.025 18.6)"/><path d="M1500 758v-38.7h-100v-38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M1501 759h-2v-1h2zM1401 680.6h-2v-1h2z"/><path d="M1570 640h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,1575,645) translate(19.025 18.6)"/><path d="M1535.33 758v-38.5H1610V681" stroke="#000" stroke-width="2" fill="none"/><path d="M1536.33 759h-2v-1h2zM1611 681h-2v-1h2z"/><path d="M1350 898.4h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#v" transform="matrix(1,0,0,1,1355,903.4000000000001) translate(28.025 27.799999999999997)"/><use xlink:href="#w" transform="matrix(1,0,0,1,1355,903.4000000000001) translate(0 49.4)"/><path d="M1570 898.4h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#x" transform="matrix(1,0,0,1,1575,903.4000000000001) translate(28.025 27.799999999999997)"/><use xlink:href="#y" transform="matrix(1,0,0,1,1575,903.4000000000001) translate(0 49.4)"/><path d="M1459.33 820v38.7H1390v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M1460.33 820h-2v-1h2zM1391 898.4h-2v-1h2z"/><path d="M1542.6 820v38.7h77.4v38.7" stroke="#000" stroke-width="2" fill="none"/><path d="M1543.6 820h-2v-1h2zM1621 898.4h-2v-1h2z"/><path d="M1530 799h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><use xlink:href="#p" transform="matrix(1,0,0,1,1535,804) translate(0 14.4)"/><path d="M1530 759h20v20h-20z" stroke="#7ab648" stroke-width="2" fill="#fff"/><g><use xlink:href="#p" transform="matrix(1,0,0,1,1535,764) translate(0 14.4)"/></g><path d="M1490 759h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><g><use xlink:href="#q" transform="matrix(1,0,0,1,1495,764) translate(0 14.4)"/></g><path d="M1450 799h20v20h-20z" stroke="#c92d39" stroke-width="2" fill="#fff"/><g><use xlink:href="#q" transform="matrix(1,0,0,1,1455,804) translate(0 14.4)"/></g><defs><path d="M24 0v-261h32V0H24" id="z"/><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#z" id="a"/><path d="M100-194c63 0 86 42 84 106H49c0 40 14 67 53 68 26 1 43-12 49-29l28 8c-11 28-37 45-77 45C44 4 14-33 15-96c1-61 26-98 85-98zm52 81c6-60-76-77-97-28-3 7-6 17-6 28h103" id="A"/><path d="M59-47c-2 24 18 29 38 22v24C64 9 27 4 27-40v-127H5v-23h24l9-43h21v43h35v23H59v120" id="B"/><path d="M106-169C34-169 62-67 57 0H25v-261h32l-1 103c12-21 28-36 61-36 89 0 53 116 60 194h-32v-121c2-32-8-49-39-48" id="C"/><path d="M101-251c68 0 85 55 85 127S166 4 100 4C33 4 14-52 14-124c0-73 17-127 87-127zm-1 229c47 0 54-49 54-102s-4-102-53-102c-51 0-55 48-55 102 0 53 5 102 54 102" id="D"/><g id="b"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,15,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/></g><path d="M108 0H70L1-190h34L89-25l56-165h34" id="E"/><path d="M210-169c-67 3-38 105-44 169h-31v-121c0-29-5-50-35-48C34-165 62-65 56 0H25l-1-190h30c1 10-1 24 2 32 10-44 99-50 107 0 11-21 27-35 58-36 85-2 47 119 55 194h-31v-121c0-29-5-49-35-48" id="F"/><path d="M115-194c53 0 69 39 70 98 0 66-23 100-70 100C84 3 66-7 56-30L54 0H23l1-261h32v101c10-23 28-34 59-34zm-8 174c40 0 45-34 45-75 0-40-5-75-45-74-42 0-51 32-51 76 0 43 10 73 51 73" id="G"/><path d="M114-163C36-179 61-72 57 0H25l-1-190h30c1 12-1 29 2 39 6-27 23-49 58-41v29" id="H"/><g id="c"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,33.95,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,39.900000000000006,0)" xlink:href="#D"/></g><path d="M141 0L90-78 38 0H4l68-98-65-92h35l48 74 47-74h35l-64 92 68 98h-35" id="I"/><path d="M141-36C126-15 110 5 73 4 37 3 15-17 15-53c-1-64 63-63 125-63 3-35-9-54-41-54-24 1-41 7-42 31l-33-3c5-37 33-52 76-52 45 0 72 20 72 64v82c-1 20 7 32 28 27v20c-31 9-61-2-59-35zM48-53c0 20 12 33 32 33 41-3 63-29 60-74-43 2-92-5-92 41" id="J"/><path d="M117-194c89-4 53 116 60 194h-32v-121c0-31-8-49-39-48C34-167 62-67 57 0H25l-1-190h30c1 10-1 24 2 32 11-22 29-35 61-36" id="K"/><path d="M101-251c82-7 93 87 43 132L82-64C71-53 59-42 53-27h129V0H18c2-99 128-94 128-182 0-28-16-43-45-43s-46 15-49 41l-32-3c6-41 34-60 81-64" id="L"/><g id="d"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,18,0)" xlink:href="#z"/><use transform="matrix(0.05,0,0,0.05,21.95,0)" xlink:href="#J"/><use transform="matrix(0.05,0,0,0.05,31.950000000000003,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,41.95,0)" xlink:href="#L"/></g><path d="M126-127c33 6 58 20 58 59 0 88-139 92-164 29-3-8-5-16-6-25l32-3c6 27 21 44 54 44 32 0 52-15 52-46 0-38-36-46-79-43v-28c39 1 72-4 72-42 0-27-17-43-46-43-28 0-47 15-49 41l-32-3c6-42 35-63 81-64 48-1 79 21 79 65 0 36-21 52-52 59" id="M"/><g id="e"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,18,0)" xlink:href="#z"/><use transform="matrix(0.05,0,0,0.05,21.95,0)" xlink:href="#J"/><use transform="matrix(0.05,0,0,0.05,31.950000000000003,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,41.95,0)" xlink:href="#M"/></g><path d="M27 0v-27h64v-190l-56 39v-29l58-41h29v221h61V0H27" id="N"/><path d="M99-251c64 0 84 50 84 122C183-37 130 33 47-8c-14-7-20-23-25-40l30-5c6 39 69 39 84 7 9-19 16-44 16-74-10 22-31 35-62 35-49 0-73-33-73-83 0-54 28-83 82-83zm-1 141c31-1 51-18 51-49 0-36-14-67-51-67-34 0-49 23-49 58 0 34 15 58 49 58" id="O"/><path d="M33 0v-38h34V0H33" id="P"/><path d="M110-160c48 1 74 30 74 79 0 53-28 85-80 85-65 0-83-55-86-122-5-90 50-162 133-122 14 7 22 21 27 39l-31 6c-5-40-67-38-82-6-9 19-15 44-15 74 11-20 30-34 60-33zm-7 138c34 0 49-23 49-58s-16-56-50-56c-29 0-50 16-49 49 1 36 15 65 50 65" id="Q"/><path d="M134-131c28 9 52 24 51 62-1 50-34 73-85 73S17-19 16-69c0-36 21-54 49-61-75-25-45-126 34-121 46 3 78 18 79 63 0 33-17 51-44 57zm-34-11c31 1 46-15 46-44 0-28-17-43-47-42-29 0-46 13-45 42 1 28 16 44 46 44zm1 122c35 0 51-18 51-52 0-30-18-46-53-46-33 0-51 17-51 47 0 34 19 51 53 51" id="R"/><g id="f"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#R"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#N"/></g><g id="g"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#N"/></g><path d="M0 4l72-265h28L28 4H0" id="S"/><path d="M155-56V0h-30v-56H8v-25l114-167h33v167h35v25h-35zm-30-156c-27 46-58 90-88 131h88v-131" id="T"/><g id="h"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g><g id="i"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#L"/></g><g id="j"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g><path d="M115-194c55 1 70 41 70 98S169 2 115 4C84 4 66-9 55-30l1 105H24l-1-265h31l2 30c10-21 28-34 59-34zm-8 174c40 0 45-34 45-75s-6-73-45-74c-42 0-51 32-51 76 0 43 10 73 51 73" id="U"/><path d="M100-194c62-1 85 37 85 99 1 63-27 99-86 99S16-35 15-95c0-66 28-99 85-99zM99-20c44 1 53-31 53-75 0-43-8-75-51-75s-53 32-53 75 10 74 51 75" id="V"/><g id="k"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#U"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#N"/></g><g id="l"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#R"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#L"/></g><g id="m"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#U"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#L"/></g><g id="n"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#R"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#M"/></g><g id="o"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#U"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#V"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#M"/></g><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#M" id="p"/><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L" id="q"/><g id="r"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#M"/></g><g id="s"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g><g id="t"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#T"/></g><g id="u"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g><path d="M54-142c48-35 137-8 131 61C196 18 31 33 14-55l32-4c7 23 22 37 52 37 35-1 51-22 54-58 4-55-73-65-99-34H22l8-134h141v27H59" id="W"/><g id="v"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#W"/></g><g id="w"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#W"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g><g id="x"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#Q"/></g><g id="y"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#T"/></g></defs></g></svg>
\ No newline at end of file
diff --git a/images/vxlan-l2-vlanunaware.svg b/images/vxlan-l2-vlanunaware.svg
new file mode 100644 (file)
index 0000000..cd764cc
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:lucid="lucid" width="1870.4" height="1323.2"><g transform="translate(0 0)" lucid:page-tab-id="0_0"><path d="M0 0h1870.4v1323.2H0z" fill="#fff"/><path d="M180 520h420v500H180z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M280 520h180v60H280z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#a" transform="matrix(1,0,0,1,285,525) translate(67.5 28.6)"/><path d="M220 761h140v60H220z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,225,766) translate(40.05 28.6)"/><path d="M240 641.6h100v40H240z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,245,646.5999999999999) translate(19.025 18.6)"/><path d="M290 760v-77.4" stroke="#000" stroke-width="2" fill="none"/><path d="M291 761h-2v-1h2zM291 682.6h-2v-1h2z"/><path d="M440 761.4h140v60H440z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,445,766.4000000000001) translate(40.05 28.6)"/><path d="M460 642h100v40H460z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,465,647) translate(19.025 18.6)"/><path d="M500 760v-77" stroke="#000" stroke-width="2" fill="none"/><path d="M501 683h-2v-1h2z"/><path d="M250 540h240v60H250z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#f" transform="matrix(1,0,0,1,255,545) translate(67.5 28.6)"/><path d="M240 860h100v80H240z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#g" transform="matrix(1,0,0,1,245,865) translate(28.025 27.799999999999997)"/><use xlink:href="#h" transform="matrix(1,0,0,1,245,865) translate(0 49.4)"/><path d="M460 860h100v80H460z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#i" transform="matrix(1,0,0,1,465,865) translate(28.025 27.799999999999997)"/><use xlink:href="#j" transform="matrix(1,0,0,1,465,865) translate(0 49.4)"/><path d="M280 820v39" stroke="#000" stroke-width="2" fill="none"/><path d="M281 860h-2v-1h2z"/><path d="M520 820v39" stroke="#000" stroke-width="2" fill="none"/><path d="M521 860h-2v-1h2z"/><path d="M250 1020h240v60H250z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#k" transform="matrix(1,0,0,1,255,1025) translate(75.55 28.6)"/><path d="M725.2 520h420v500h-420z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M825.2 520h180v60h-180z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#a" transform="matrix(1,0,0,1,830.1999999999999,525) translate(67.5 28.6)"/><path d="M765.2 761h140v60h-140z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,770.1999999999999,766) translate(40.05 28.6)"/><path d="M785.2 641.6h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,790.1999999999999,646.5999999999999) translate(19.025 18.6)"/><path d="M835.2 760v-77.4" stroke="#000" stroke-width="2" fill="none"/><path d="M836.2 761h-2v-1h2zM836.2 682.6h-2v-1h2z"/><path d="M985.2 761.4h140v60h-140z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,990.1999999999998,766.4000000000001) translate(40.05 28.6)"/><path d="M1005.2 642h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,1010.1999999999998,647) translate(19.025 18.6)"/><path d="M1055.2 760.4v-38.7h-10V683" stroke="#000" stroke-width="2" fill="none"/><path d="M1056.2 761.4h-2v-1h2zM1046.2 683h-2v-1h2z"/><path d="M795.2 540h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#l" transform="matrix(1,0,0,1,800.1999999999999,545) translate(67.5 28.6)"/><path d="M785.2 860h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#m" transform="matrix(1,0,0,1,790.1999999999999,865) translate(28.025 27.799999999999997)"/><use xlink:href="#n" transform="matrix(1,0,0,1,790.1999999999999,865) translate(0 49.4)"/><path d="M1005.2 860h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#o" transform="matrix(1,0,0,1,1010.1999999999998,865) translate(28.025 27.799999999999997)"/><use xlink:href="#p" transform="matrix(1,0,0,1,1010.1999999999998,865) translate(0 49.4)"/><path d="M835.2 822v18.5h-10V859" stroke="#000" stroke-width="2" fill="none"/><path d="M836.2 822h-2v-1h2zM826.2 860h-2v-1h2z"/><path d="M1055.2 822.4v18.3h10V859" stroke="#000" stroke-width="2" fill="none"/><path d="M1056.2 822.4h-2v-1h2zM1066.2 860h-2v-1h2z"/><path d="M795.2 1020h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#q" transform="matrix(1,0,0,1,800.1999999999999,1025) translate(75.55 28.6)"/><path d="M1300 520h420v500h-420z" stroke="#000" stroke-width="2" fill="#fff"/><path d="M1400 520h180v60h-180z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#a" transform="matrix(1,0,0,1,1405,525) translate(67.5 28.6)"/><path d="M1340 761h140v60h-140z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#b" transform="matrix(1,0,0,1,1345,766) translate(40.05 28.6)"/><path d="M1360 641.6h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#c" transform="matrix(1,0,0,1,1365,646.5999999999999) translate(19.025 18.6)"/><path d="M1410 760v-77.4" stroke="#000" stroke-width="2" fill="none"/><path d="M1411 761h-2v-1h2zM1411 682.6h-2v-1h2z"/><path d="M1560 761.4h140v60h-140z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#d" transform="matrix(1,0,0,1,1565,766.4000000000001) translate(40.05 28.6)"/><path d="M1580 642h100v40h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#e" transform="matrix(1,0,0,1,1585,647) translate(19.025 18.6)"/><path d="M1630 760.4v-38.7h-10V683" stroke="#000" stroke-width="2" fill="none"/><path d="M1631 761.4h-2v-1h2zM1621 683h-2v-1h2z"/><path d="M1370 540h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#r" transform="matrix(1,0,0,1,1375,545) translate(67.5 28.6)"/><path d="M1360 860h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#s" transform="matrix(1,0,0,1,1365,865) translate(28.025 27.799999999999997)"/><use xlink:href="#t" transform="matrix(1,0,0,1,1365,865) translate(0 49.4)"/><path d="M1580 860h100v80h-100z" stroke="#000" stroke-width="2" fill="#fff"/><use xlink:href="#u" transform="matrix(1,0,0,1,1585,865) translate(28.025 27.799999999999997)"/><use xlink:href="#v" transform="matrix(1,0,0,1,1585,865) translate(0 49.4)"/><path d="M1410 822v18.5h-10V859" stroke="#000" stroke-width="2" fill="none"/><path d="M1411 822h-2v-1h2zM1401 860h-2v-1h2z"/><path d="M1630 822.4v18.3h10V859" stroke="#000" stroke-width="2" fill="none"/><path d="M1631 822.4h-2v-1h2zM1641 860h-2v-1h2z"/><path d="M1370 1020h240v60h-240z" stroke="#000" stroke-opacity="0" stroke-width="2" fill="#fff" fill-opacity="0"/><use xlink:href="#w" transform="matrix(1,0,0,1,1375,1025) translate(75.55 28.6)"/><path d="M260 400h1150v240.6" stroke="#c92d39" stroke-width="2" fill="none"/><path d="M1411 641.6h-2v-1h2z" fill="#c92d39"/><path d="M840 640V400M260 640V400" stroke="#c92d39" stroke-width="2" fill="none"/><path d="M520 640V440M1080 640V440M1640 641V440" stroke="#7ab648" stroke-width="2" fill="none"/><path d="M1641 642h-2v-1h2z" fill="#7ab648"/><path d="M520 440h1120" stroke="#7ab648" stroke-width="2" fill="none"/><defs><path d="M100-194c63 0 86 42 84 106H49c0 40 14 67 53 68 26 1 43-12 49-29l28 8c-11 28-37 45-77 45C44 4 14-33 15-96c1-61 26-98 85-98zm52 81c6-60-76-77-97-28-3 7-6 17-6 28h103" id="x"/><path d="M59-47c-2 24 18 29 38 22v24C64 9 27 4 27-40v-127H5v-23h24l9-43h21v43h35v23H59v120" id="y"/><path d="M106-169C34-169 62-67 57 0H25v-261h32l-1 103c12-21 28-36 61-36 89 0 53 116 60 194h-32v-121c2-32-8-49-39-48" id="z"/><path d="M101-251c68 0 85 55 85 127S166 4 100 4C33 4 14-52 14-124c0-73 17-127 87-127zm-1 229c47 0 54-49 54-102s-4-102-53-102c-51 0-55 48-55 102 0 53 5 102 54 102" id="A"/><g id="a"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#x"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#y"/><use transform="matrix(0.05,0,0,0.05,15,0)" xlink:href="#z"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/></g><path d="M108 0H70L1-190h34L89-25l56-165h34" id="B"/><path d="M210-169c-67 3-38 105-44 169h-31v-121c0-29-5-50-35-48C34-165 62-65 56 0H25l-1-190h30c1 10-1 24 2 32 10-44 99-50 107 0 11-21 27-35 58-36 85-2 47 119 55 194h-31v-121c0-29-5-49-35-48" id="C"/><path d="M115-194c53 0 69 39 70 98 0 66-23 100-70 100C84 3 66-7 56-30L54 0H23l1-261h32v101c10-23 28-34 59-34zm-8 174c40 0 45-34 45-75 0-40-5-75-45-74-42 0-51 32-51 76 0 43 10 73 51 73" id="D"/><path d="M114-163C36-179 61-72 57 0H25l-1-190h30c1 12-1 29 2 39 6-27 23-49 58-41v29" id="E"/><path d="M101-251c82-7 93 87 43 132L82-64C71-53 59-42 53-27h129V0H18c2-99 128-94 128-182 0-28-16-43-45-43s-46 15-49 41l-32-3c6-41 34-60 81-64" id="F"/><g id="b"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,33.95,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,39.900000000000006,0)" xlink:href="#F"/></g><path d="M141 0L90-78 38 0H4l68-98-65-92h35l48 74 47-74h35l-64 92 68 98h-35" id="G"/><path d="M24 0v-261h32V0H24" id="H"/><path d="M141-36C126-15 110 5 73 4 37 3 15-17 15-53c-1-64 63-63 125-63 3-35-9-54-41-54-24 1-41 7-42 31l-33-3c5-37 33-52 76-52 45 0 72 20 72 64v82c-1 20 7 32 28 27v20c-31 9-61-2-59-35zM48-53c0 20 12 33 32 33 41-3 63-29 60-74-43 2-92-5-92 41" id="I"/><path d="M117-194c89-4 53 116 60 194h-32v-121c0-31-8-49-39-48C34-167 62-67 57 0H25l-1-190h30c1 10-1 24 2 32 11-22 29-35 61-36" id="J"/><g id="c"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,18,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,21.95,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,31.950000000000003,0)" xlink:href="#J"/><use transform="matrix(0.05,0,0,0.05,41.95,0)" xlink:href="#F"/></g><path d="M126-127c33 6 58 20 58 59 0 88-139 92-164 29-3-8-5-16-6-25l32-3c6 27 21 44 54 44 32 0 52-15 52-46 0-38-36-46-79-43v-28c39 1 72-4 72-42 0-27-17-43-46-43-28 0-47 15-49 41l-32-3c6-42 35-63 81-64 48-1 79 21 79 65 0 36-21 52-52 59" id="K"/><g id="d"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#D"/><use transform="matrix(0.05,0,0,0.05,33.95,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,39.900000000000006,0)" xlink:href="#K"/></g><g id="e"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,18,0)" xlink:href="#H"/><use transform="matrix(0.05,0,0,0.05,21.95,0)" xlink:href="#I"/><use transform="matrix(0.05,0,0,0.05,31.950000000000003,0)" xlink:href="#J"/><use transform="matrix(0.05,0,0,0.05,41.95,0)" xlink:href="#K"/></g><path d="M27 0v-27h64v-190l-56 39v-29l58-41h29v221h61V0H27" id="L"/><path d="M99-251c64 0 84 50 84 122C183-37 130 33 47-8c-14-7-20-23-25-40l30-5c6 39 69 39 84 7 9-19 16-44 16-74-10 22-31 35-62 35-49 0-73-33-73-83 0-54 28-83 82-83zm-1 141c31-1 51-18 51-49 0-36-14-67-51-67-34 0-49 23-49 58 0 34 15 58 49 58" id="M"/><path d="M33 0v-38h34V0H33" id="N"/><path d="M110-160c48 1 74 30 74 79 0 53-28 85-80 85-65 0-83-55-86-122-5-90 50-162 133-122 14 7 22 21 27 39l-31 6c-5-40-67-38-82-6-9 19-15 44-15 74 11-20 30-34 60-33zm-7 138c34 0 49-23 49-58s-16-56-50-56c-29 0-50 16-49 49 1 36 15 65 50 65" id="O"/><path d="M134-131c28 9 52 24 51 62-1 50-34 73-85 73S17-19 16-69c0-36 21-54 49-61-75-25-45-126 34-121 46 3 78 18 79 63 0 33-17 51-44 57zm-34-11c31 1 46-15 46-44 0-28-17-43-47-42-29 0-46 13-45 42 1 28 16 44 46 44zm1 122c35 0 51-18 51-52 0-30-18-46-53-46-33 0-51 17-51 47 0 34 19 51 53 51" id="P"/><g id="f"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#L"/></g><g id="g"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#L"/></g><path d="M0 4l72-265h28L28 4H0" id="Q"/><path d="M155-56V0h-30v-56H8v-25l114-167h33v167h35v25h-35zm-30-156c-27 46-58 90-88 131h88v-131" id="R"/><g id="h"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><g id="i"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#F"/></g><g id="j"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><path d="M115-194c55 1 70 41 70 98S169 2 115 4C84 4 66-9 55-30l1 105H24l-1-265h31l2 30c10-21 28-34 59-34zm-8 174c40 0 45-34 45-75s-6-73-45-74c-42 0-51 32-51 76 0 43 10 73 51 73" id="S"/><path d="M100-194c62-1 85 37 85 99 1 63-27 99-86 99S16-35 15-95c0-66 28-99 85-99zM99-20c44 1 53-31 53-75 0-43-8-75-51-75s-53 32-53 75 10 74 51 75" id="T"/><g id="k"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#L"/></g><g id="l"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#F"/></g><g id="m"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#K"/></g><g id="n"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><g id="o"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#R"/></g><g id="p"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#R"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><g id="q"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#F"/></g><g id="r"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#M"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,30,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,45,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#P"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,85,0)" xlink:href="#K"/></g><path d="M54-142c48-35 137-8 131 61C196 18 31 33 14-55l32-4c7 23 22 37 52 37 35-1 51-22 54-58 4-55-73-65-99-34H22l8-134h141v27H59" id="U"/><g id="s"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#U"/></g><g id="t"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#U"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><g id="u"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#B"/><use transform="matrix(0.05,0,0,0.05,9,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,23.950000000000003,0)" xlink:href="#O"/></g><g id="v"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#L"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,20,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,25,0)" xlink:href="#A"/><use transform="matrix(0.05,0,0,0.05,35,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,40,0)" xlink:href="#K"/><use transform="matrix(0.05,0,0,0.05,50,0)" xlink:href="#N"/><use transform="matrix(0.05,0,0,0.05,55,0)" xlink:href="#O"/><use transform="matrix(0.05,0,0,0.05,65,0)" xlink:href="#Q"/><use transform="matrix(0.05,0,0,0.05,70,0)" xlink:href="#F"/><use transform="matrix(0.05,0,0,0.05,80,0)" xlink:href="#R"/></g><g id="w"><use transform="matrix(0.05,0,0,0.05,0,0)" xlink:href="#S"/><use transform="matrix(0.05,0,0,0.05,10,0)" xlink:href="#E"/><use transform="matrix(0.05,0,0,0.05,15.949999999999998,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,25.950000000000003,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,34.95,0)" xlink:href="#C"/><use transform="matrix(0.05,0,0,0.05,49.900000000000006,0)" xlink:href="#T"/><use transform="matrix(0.05,0,0,0.05,59.900000000000006,0)" xlink:href="#G"/><use transform="matrix(0.05,0,0,0.05,68.9,0)" xlink:href="#K"/></g></defs></g></svg>
\ No newline at end of file
diff --git a/vxlan-and-evpn.adoc b/vxlan-and-evpn.adoc
new file mode 100644 (file)
index 0000000..73ae4a6
--- /dev/null
@@ -0,0 +1,851 @@
+
+////
+
+This is currently not included, because
+- it requires ifupdown2
+- routing needs more documentation
+
+////
+
+
+VXLAN layer2 with vlan unware linux bridges
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+VXLAN is an overlay network to carry Ethernet traffic over an existing IP network
+while accommodating a very large number of tenants. It is defined in RFC 7348.
+Each overlay network is known as a VXLAN Segment and identified by a unique
+24-bit segment ID called a VXLAN Network Identifier (VNI).
+
+For BUM traffic (broadcast / unknown unicast traffic, multicast),
+we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
+
+image::images/vxlan-l2-vlanunaware.svg["vxlan l2 bridge vlan unaware",align="center"]
+
+multicast mode
+^^^^^^^^^^^^^^
+
+This scenario relies in head end replication, meaning that end host in case
+of not having any entry for the destination MAC address will send out an ARP
+to other devices / VTEPs in the VXLAN network.
+This is done by sending the request to the VXLAN multicast group,
+remote VTEPs will get the packet and answer accordingly direct to the originating VTEP.
+
+
+* node1
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.3
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+unicast mode
+^^^^^^^^^^^^
+
+We can replace multicast by head-end replication of BUM frames to a statically configured lists of remote VTEPs.
+The VXLAN is defined without a remote multicast group.
+Instead, all the remote VTEPs are associated with the all-zero address:
+a BUM frame will be duplicated to all these destinations.
+The VXLAN device will still learn remote addresses automatically using source-address learning.
+
+* node1
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+
+auto vxlan3
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.1
+        vxlan_remoteip 192.168.0.3
+
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan3
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.1
+        vxlan_remoteip 192.168.0.3
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.3
+        netmask  255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan3
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+bgp-evpn
+^^^^^^^^
+
+VTEPs use control plane learning/distribution via BGP for remote MAC addresses instead of data plane learning.
+VTEPs have the ability to suppress ARP flooding over VXLAN tunnels.
+
+The control plane used here is FRR, a bgp routing software.
+Each node in the proxmox cluster peer with each others nodes.
+For bigger networks, or multiple proxmox clusters,
+it's possible to use external bgp route reflector servers.
+
+* node1
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask 255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-local-tunnelip 192.168.0.1
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.1
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+/etc/frr/frr.conf
+
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.2 remote-as 1234
+ neighbor 192.168.0.3 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.2 activate
+  neighbor 192.168.0.3 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask 255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-local-tunnelip 192.168.0.2
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.2
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+/etc/frr/frr.conf
+
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.1 remote-as 1234
+ neighbor 192.168.0.3 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.1 activate
+  neighbor 192.168.0.3 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask 255.255.255.0
+        bridge_ports eno1
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-local-tunnelip 192.168.0.3
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr2
+iface vmbr2 inet manual
+        bridge_ports vxlan2
+        bridge_stp off
+        bridge_fd 0
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.3
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+
+
+auto vmbr3
+iface vmbr3 inet manual
+        bridge_ports vxlan3
+        bridge_stp off
+        bridge_fd 0
+----
+
+
+/etc/frr/frr.conf
+
+
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.1 remote-as 1234
+ neighbor 192.168.0.2 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.1 activate
+  neighbor 192.168.0.2 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----
+
+
+VXLAN layer2 with vlan aware linux bridges
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We use 1 vmbr bridge, each vxlan is mapped to a vlan
+
+image::images/vxlan-l2-vlanaware.svg["vxlan l2 bridge vlan aware",align="center"]
+
+multicast mode
+^^^^^^^^^^^^^^
+
+* node1
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask  255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 3
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask  255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 3
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.3
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-svcnodeip 225.20.1.1
+        vxlan-physdev eno1
+        bridge-access 3
+----
+
+
+unicast mode
+^^^^^^^^^^^^
+
+* node1
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+        bridge-access 3
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.1
+        vxlan_remoteip 192.168.0.3
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan_remoteip 192.168.0.1
+        vxlan_remoteip 192.168.0.3
+        bridge-access 3
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.3
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan2
+iface vxlan2 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+        bridge-access 2
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan_remoteip 192.168.0.2
+        vxlan_remoteip 192.168.0.3
+        bridge-access 3
+----
+
+
+bgp-evpn
+^^^^^^^^
+
+Note: currently FRR is working only with 1 vlan aware bridge
+
+* node1
+
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.1
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan0
+iface vxlan0 inet manual
+        vxlan-local-tunnelip 192.168.0.1
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 2
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.1
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 3
+----
+
+
+/etc/frr/frr.conf
+
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.2 remote-as 1234
+ neighbor 192.168.0.3 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.2 activate
+  neighbor 192.168.0.3 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----
+
+
+* node2
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.2
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan0
+iface vxlan0 inet manual
+        vxlan-local-tunnelip 192.168.0.2
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 2
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.2
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 3
+----
+
+
+/etc/frr/frr.conf
+
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.1 remote-as 1234
+ neighbor 192.168.0.3 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.1 activate
+  neighbor 192.168.0.3 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----
+
+
+* node3
+
+----
+auto eno1
+iface eno1 inet manual
+
+auto vmbr0
+iface vmbr0 inet static
+        address 192.168.0.3
+        netmask 255.255.255.0
+        bridge_ports eno1 vxlan2 vxlan3
+        bridge_stp off
+        bridge_fd 0
+        bridge_vlan_aware yes
+
+auto vxlan0
+iface vxlan0 inet manual
+        vxlan-local-tunnelip 192.168.0.3
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 2
+
+
+auto vxlan3
+iface vxlan3 inet manual
+        vxlan-local-tunnelip 192.168.0.3
+        bridge-learning off
+        bridge-arp-nd-suppress on
+        bridge-unicast-flood off
+        bridge-multicast-flood off
+        bridge-access 3
+----
+
+
+/etc/frr/frr.conf
+----
+router bgp 1234
+ no bgp default ipv4-unicast
+ coalesce-time 1000
+ neighbor 192.168.0.1 remote-as 1234
+ neighbor 192.168.0.2 remote-as 1234
+ !
+ address-family l2vpn evpn
+  neighbor 192.168.0.1 activate
+  neighbor 192.168.0.2 activate
+  advertise-all-vni
+ exit-address-family
+!
+line vty
+!
+----