{"id":3395,"date":"2025-09-12T15:21:10","date_gmt":"2025-09-12T13:21:10","guid":{"rendered":"https:\/\/www.quisted.net\/?p=3395"},"modified":"2025-10-07T11:19:53","modified_gmt":"2025-10-07T09:19:53","slug":"inter-as-mpls-l3vpn-options-a-b-c","status":"publish","type":"post","link":"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/","title":{"rendered":"MPLS &#8211; Inter-AS MPLS L3VPN Options (A, B, C)"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/ABC.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3405\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/ABC.jpg\" alt=\"\" width=\"1003\" height=\"410\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/ABC.jpg 1003w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/ABC-300x123.jpg 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/ABC-768x314.jpg 768w\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" \/><\/a><\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Comparing_Inter-AS_MPLS_L3VPN_Options_A_B_C\" >Comparing Inter-AS MPLS L3VPN Options (A, B, C)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Inter-AS_L3VPN_Options_Overview\" >Inter-AS L3VPN Options: Overview<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Inter-AS_Option_A_%E2%80%93_Back-to-Back_VRF\" >Inter-AS Option A \u2013 Back-to-Back VRF<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Topology\" >Topology<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Theory\" >Theory<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Packet_Walk\" >Packet Walk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Configure\" >Configure<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Inter-AS_Option_B_%E2%80%93_VPNv4_Peering_Between_ASBRs\" >Inter-AS Option B \u2013 VPNv4 Peering Between ASBRs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Topology-2\" >Topology<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Theory-2\" >Theory<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Packet_Walk-2\" >Packet Walk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Configure-2\" >Configure<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Inter-AS_Option_C_%E2%80%93_VPNv4_Peering_Between_Route_Reflectors\" >Inter-AS Option C \u2013 VPNv4 Peering Between Route Reflectors<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Topology-3\" >Topology<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Theory-3\" >Theory<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Packet_Walk-3\" >Packet Walk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Configure-3\" >Configure<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.quisted.net\/index.php\/2025\/09\/12\/inter-as-mpls-l3vpn-options-a-b-c\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2><span class=\"ez-toc-section\" id=\"Comparing_Inter-AS_MPLS_L3VPN_Options_A_B_C\"><\/span>Comparing Inter-AS MPLS L3VPN Options (A, B, C)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span class=\"ng-star-inserted\" data-start-index=\"358\"><span class=\"citation-46 citation-end-46\">When an L3VPN service needs to span across two different service providers, an Inter-AS L3VPN solution is required<\/span>. <span class=\"citation-45 citation-end-45\">This scenario is common for national or international circuits where a single service provider is not present in both locations<\/span>. <span class=\"citation-44 citation-end-44\">The routers connecting the two autonomous systems (AS) are known as Autonomous System Border Routers (ASBRs) or boundary routers<\/span>. In this article I will go into the three primary options for connecting L3VPNs across autonomous system boundaries: <strong>Option A, Option B, <\/strong>and <strong>Option C<\/strong>, highlighting their distinct characteristics, operational mechanisms, and suitability for various deployment scenarios.<\/span><\/p>\n\n\n\n<h2><span class=\"ez-toc-section\" id=\"Inter-AS_L3VPN_Options_Overview\"><\/span>Inter-AS L3VPN Options: Overview<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"paragraph normal ng-star-inserted\" data-start-index=\"685\"><span class=\"ng-star-inserted\" data-start-index=\"685\">The following table summarizes the key differences between Inter-AS L3VPN Option A, Option B, and Option C, drawing from design considerations, scalability, security, and operational complexity\u00a0<\/span><\/div>\n<div data-start-index=\"685\">\u00a0<\/div>\n<table style=\"width: 100%; height: 417px;\">\n<thead>\n<tr style=\"height: 151px;\">\n<th style=\"height: 151px; width: 22.9761%;\"><strong>Aspect<\/strong><\/th>\n<th style=\"height: 151px; width: 21.5477%;\">\n<p><strong>Option A<\/strong><\/p>\n<p>(Back-to-Back VRF)<\/p>\n<\/th>\n<th style=\"height: 151px; width: 23.5714%;\">\n<p><strong><br \/>Option B<\/strong><\/p>\n<p>(VPNv4 between ASBRs)<\/p>\n<\/th>\n<th style=\"height: 151px; width: 27.619%;\">\n<p><strong>Option C<\/strong><\/p>\n<p>(RR-to-RR VPNv4)<\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 22.9761%;\"><strong>Scalability<\/strong><\/td>\n<td style=\"height: 23px; width: 21.5477%;\">Least scalable<\/td>\n<td style=\"height: 23px; width: 23.5714%;\">Moderate<\/td>\n<td style=\"height: 23px; width: 27.619%;\">Highest<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 32px; width: 22.9761%;\"><strong>Security<\/strong><\/td>\n<td style=\"height: 32px; width: 21.5477%;\">Most secure<\/td>\n<td style=\"height: 32px; width: 23.5714%;\">Lower<\/td>\n<td style=\"height: 32px; width: 27.619%;\">Lowest<\/td>\n<\/tr>\n<tr style=\"height: 74px;\">\n<td style=\"height: 74px; width: 22.9761%;\"><strong>Resource Utilization<\/strong><\/td>\n<td style=\"height: 74px; width: 21.5477%;\">High (per VRF state on ASBRs)<\/td>\n<td style=\"height: 74px; width: 23.5714%;\">Moderate<\/td>\n<td style=\"height: 74px; width: 27.619%;\">Low (ASBRs only exchange loopbacks)<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 22.9761%;\"><strong>Label Handling<\/strong><\/td>\n<td style=\"height: 46px; width: 21.5477%;\">No MPLS between ASBRs<\/td>\n<td style=\"height: 46px; width: 23.5714%;\">Yes, via BGP (RFC 3107)<\/td>\n<td style=\"height: 46px; width: 27.619%;\">Yes, via BGP LU + RT exchange<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 22.9761%;\"><strong>Complexity<\/strong><\/td>\n<td style=\"height: 23px; width: 21.5477%;\">Simple<\/td>\n<td style=\"height: 23px; width: 23.5714%;\">More complex<\/td>\n<td style=\"height: 23px; width: 27.619%;\">Very complex<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 22.9761%;\"><strong>BGP AF<\/strong><\/td>\n<td style=\"height: 23px; width: 21.5477%;\">IPv4 per VRF<\/td>\n<td style=\"height: 23px; width: 23.5714%;\">VPNv4<\/td>\n<td style=\"height: 23px; width: 27.619%;\">VPNv4 (multihop)<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 45px; width: 22.9761%;\"><strong>Typical Use Case<\/strong><\/td>\n<td style=\"height: 45px; width: 21.5477%;\">Small deployments, high security<\/td>\n<td style=\"height: 45px; width: 23.5714%;\">Medium scale, simpler than C<\/td>\n<td style=\"height: 45px; width: 27.619%;\">Large-scale carriers, scalability focus<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<h2 data-start=\"2130\" data-end=\"2169\"><span class=\"ez-toc-section\" id=\"Inter-AS_Option_A_%E2%80%93_Back-to-Back_VRF\"><\/span>Inter-AS Option A \u2013 Back-to-Back VRF<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Topology\"><\/span>Topology<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio.png\" data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3418\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio-1024x562.png\" alt=\"\" width=\"678\" height=\"372\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio-1024x562.png 1024w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio-300x165.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio-768x422.png 768w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-A.drawio.png 1231w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Theory\"><\/span>Theory<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><!--more--><\/p>\n<p data-start=\"2171\" data-end=\"2540\"><em>Option A<\/em> is the simplest to understand and deploy. Each provider treats the other as a <strong>customer,<\/strong> and the ASBRs host <strong>VRFs for every inter-AS VPN<\/strong>. Routing information is exchanged within those VRFs across dedicated interfaces or subinterfaces. Because the ASBRs carry customer traffic and maintain full VRF state, the model is very resource-intensive and scales poorly.<\/p>\n<p data-start=\"2542\" data-end=\"2977\">The clear benefit of <em>Option A<\/em> is its <strong>simplicity<\/strong> and strong <strong>per-VRF isolation<\/strong>. It gives providers granular control and is also considered the most secure option since the separation between customers is maintained on a per-VRF basis. However, the main drawback is <strong>low<\/strong> <strong>scalability.<\/strong> As the number of VPNs increases, ASBRs quickly become bottlenecks due to the overhead of maintaining VRFs, policies, and forwarding state for every customer.<\/p>\n<h3 data-start=\"2542\" data-end=\"2977\"><span class=\"ez-toc-section\" id=\"Packet_Walk\"><\/span>Packet Walk<a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/A-Packet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3483\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/A-Packet.png\" alt=\"\" width=\"1025\" height=\"431\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/A-Packet.png 1025w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/A-Packet-300x126.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/A-Packet-768x323.png 768w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/a><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u00a0<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Hop<\/strong><\/th>\n<th><strong>Device<\/strong><\/th>\n<th><strong>Action on Labels<\/strong><\/th>\n<th><strong>Resulting Packet<\/strong><\/th>\n<th><strong>Notes<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><strong>PE1 (AS 65000)<\/strong><\/td>\n<td>Imposes VPN label (e.g., 24000)<\/td>\n<td><code>[VPN L=24000] IP(192.168.3.1)<\/code><\/td>\n<td>CE1 in VRF RED sends traffic. PE1 pushes VPN label for CE3\u2019s prefix (learned via MP-BGP).<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><strong>P1 (AS 65000 core)<\/strong><\/td>\n<td>Swaps VPN label via LDP<\/td>\n<td><code>[VPN L=24000] IP(...)<\/code><\/td>\n<td>Core does normal MPLS forwarding within AS 65000.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><strong>ASBR1 (10.0.0.1)<\/strong><\/td>\n<td>Pops VPN label, forwards as plain IPv4 in VRF RED<\/td>\n<td><code>IP(192.168.3.1)<\/code><\/td>\n<td>Since the inter-AS link is VRF-aware (subinterface in VRF RED), ASBR1 removes the VPN label and sends raw IPv4.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><strong>ASBR2 (10.0.0.2)<\/strong><\/td>\n<td>Receives IPv4 in VRF RED, re-imposes new VPN label (e.g., 31000)<\/td>\n<td><code>[VPN L=31000] IP(192.168.3.1)<\/code><\/td>\n<td>Acts like a PE \u2014 assigns new VPN label for CE3\u2019s VRF RED in AS 651111.<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><strong>P2 (AS 651111 core)<\/strong><\/td>\n<td>Swaps VPN label via LDP<\/td>\n<td><code>[VPN L=31000] IP(...)<\/code><\/td>\n<td>Normal MPLS forwarding in AS 651111.<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><strong>PE2 (AS 651111)<\/strong><\/td>\n<td>Pops VPN label 31000<\/td>\n<td><code>IP(192.168.3.1)<\/code><\/td>\n<td>Packet is placed into VRF RED and forwarded to CE3.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Configure\"><\/span>Configure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65000\n====== ASBR:\n\n\n! VRF RED\nvrf RED\n rd 65000:1\n address-family ipv4 unicast\n  import route-target 65000:1\n  export route-target 65000:1\n\n! VRF BLUE\nvrf BLUE\n rd 65000:2\n address-family ipv4 unicast\n  import route-target 65000:2\n  export route-target 65000:2\n\n! Subinterfaces for VRFs\ninterface GigabitEthernet0\/0\/0\/0.10\n vrf RED\n ipv4 address 10.0.0.1 255.255.255.252\n\ninterface GigabitEthernet0\/0\/0\/0.20\n vrf BLUE\n ipv4 address 10.0.0.5 255.255.255.252\n\n! Route-policies\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65000\n address-family vpnv4 unicast\n  neighbor 10.0.0.99\n   remote-as 65000\n   update-source Loopback0\n   route-reflector-client\n   address-family vpnv4 unicast\n    send-community both\n\n ! VRF RED\n vrf RED\n  rd 65000:1\n  address-family ipv4 unicast\n   neighbor 10.0.0.2\n    remote-as 651111\n    address-family ipv4 unicast\n     route-policy PASS in\n     route-policy PASS out\n\n ! VRF BLUE\n vrf BLUE\n  rd 65000:2\n  address-family ipv4 unicast\n   neighbor 10.0.0.6\n    remote-as 651111\n    address-family ipv4 unicast\n     route-policy PASS in\n     route-policy PASS out\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">Subinterfaces<\/span><span style=\"color: #F8F8F2\"> for <\/span><span style=\"color: #FF79C6\">VRFs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">interface <\/span><span style=\"color: #FF79C6\">GigabitEthernet0<\/span><span style=\"color: #F1FA8C\">\/0\/0\/<\/span><span style=\"color: #BD93F9\">0.10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ipv4 address <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.1<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">255.255<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">255.252<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">interface <\/span><span style=\"color: #FF79C6\">GigabitEthernet0<\/span><span style=\"color: #F1FA8C\">\/0\/0\/<\/span><span style=\"color: #BD93F9\">0.20<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ipv4 address <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.5<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">255.255<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">255.252<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">Route<\/span><span style=\"color: #F8F8F2\">-policies<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.99<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   update-source <\/span><span style=\"color: #FF79C6\">Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   route-reflector-client<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  rd <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  rd <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65111\n====== ASBR:\n\n\n! VRF RED\nvrf RED\n rd 65111:1\n address-family ipv4 unicast\n  import route-target 65111:1\n  export route-target 65111:1\n\n! VRF BLUE\nvrf BLUE\n rd 65111:2\n address-family ipv4 unicast\n  import route-target 65111:2\n  export route-target 65111:2\n\n! Subinterfaces for VRFs\ninterface GigabitEthernet0\/0\/0\/0.10\n vrf RED\n ipv4 address 10.0.0.2 255.255.255.252\n\ninterface GigabitEthernet0\/0\/0\/0.20\n vrf BLUE\n ipv4 address 10.0.0.6 255.255.255.252\n\n! Route-policies\nroute-policy PASS \n  pass\nend-policy\n\nrouter bgp 65111\n address-family vpnv4 unicast\n  neighbor 10.111.111.99\n   remote-as 651111\n   update-source Loopback0\n   route-reflector-client\n   address-family vpnv4 unicast\n    send-community both\n\n ! VRF RED\n vrf RED\n  rd 65111:1\n  address-family ipv4 unicast\n   neighbor 10.0.0.1\n    remote-as 65000\n    address-family ipv4 unicast\n     route-policy PASS in\n     route-policy PASS out\n\n ! VRF BLUE\n vrf BLUE\n  rd 65111:2\n  address-family ipv4 unicast\n   neighbor 10.0.0.5\n    remote-as 65000\n    address-family ipv4 unicast\n     route-policy PASS in\n     route-policy PASS out\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">Subinterfaces<\/span><span style=\"color: #F8F8F2\"> for <\/span><span style=\"color: #FF79C6\">VRFs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">interface <\/span><span style=\"color: #FF79C6\">GigabitEthernet0<\/span><span style=\"color: #F1FA8C\">\/0\/0\/<\/span><span style=\"color: #BD93F9\">0.10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ipv4 address <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.2<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">255.255<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">255.252<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">interface <\/span><span style=\"color: #FF79C6\">GigabitEthernet0<\/span><span style=\"color: #F1FA8C\">\/0\/0\/<\/span><span style=\"color: #BD93F9\">0.20<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ipv4 address <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.6<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">255.255<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">255.252<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">! <\/span><span style=\"color: #FF79C6\">Route<\/span><span style=\"color: #F8F8F2\">-policies<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.111<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">111.99<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   update-source <\/span><span style=\"color: #FF79C6\">Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   route-reflector-client<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  rd <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> ! <\/span><span style=\"color: #FF79C6\">VRF<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> vrf <\/span><span style=\"color: #FF79C6\">BLUE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  rd <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 data-start=\"3400\" data-end=\"3450\"><span class=\"ez-toc-section\" id=\"Inter-AS_Option_B_%E2%80%93_VPNv4_Peering_Between_ASBRs\"><\/span>Inter-AS Option B \u2013 VPNv4 Peering Between ASBRs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Topology-2\"><\/span>Topology<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio.png\" data-wp-editing=\"1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3419\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio-1024x562.png\" alt=\"\" width=\"678\" height=\"372\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio-1024x562.png 1024w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio-300x165.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio-768x422.png 768w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-B.drawio.png 1231w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Theory-2\"><\/span>Theory<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"3452\" data-end=\"3804\"><em>Option B<\/em> removes the need for ASBRs to carry individual VRFs by establishing an <strong>eBGP VPNv4<\/strong> session between the boundary routers. Labels are exchanged via BGP (<a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc3107\" target=\"_blank\" rel=\"noopener\">RFC 3107<\/a>), which allows traffic to remain MPLS-encapsulated across the inter-AS link. Compared to <em>Option A<\/em>, this reduces configuration overhead on the ASBRs and avoids per-VRF scaling issues.<\/p>\n<p data-start=\"3806\" data-end=\"4304\">The main advantage of <em>Option B<\/em> is improved scalability while still being relatively straightforward to deploy. Because a single VPNv4 eBGP session can carry multiple customers\u2019 routes, the operational burden is lighter. However, Option B introduces <strong>complexity<\/strong> around label distribution and next-hop handling, which requires careful configuration. Security is weaker compared to <em>Option A<\/em>, since VRF separation is no longer enforced at the ASBRs, and providers must rely more on BGP policy control.<\/p>\n<h3 data-start=\"3806\" data-end=\"4304\"><span class=\"ez-toc-section\" id=\"Packet_Walk-2\"><\/span>Packet Walk<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/B-Packet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3484\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/B-Packet.png\" alt=\"\" width=\"1025\" height=\"431\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/B-Packet.png 1025w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/B-Packet-300x126.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/B-Packet-768x323.png 768w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Hop<\/strong><\/th>\n<th><strong>Device<\/strong><\/th>\n<th><strong>Action on Labels<\/strong><\/th>\n<th><strong>Resulting Label Stack<\/strong><\/th>\n<th><strong>Notes<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><strong>PE1 (AS 65000)<\/strong><\/td>\n<td>Imposes two labels<\/td>\n<td><code>[Transport L=16045] [VPN L=24000]<\/code><\/td>\n<td>Outer = LDP label toward ASBR1. Inner = VPN label allocated by <strong>PE2<\/strong>, learned via <strong>VPNv4 eBGP exchange between ASBRs<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><strong>P1 (AS 65000 core)<\/strong><\/td>\n<td>Swaps outer 16045 \u2192 16051<\/td>\n<td><code>[16051] [24000]<\/code><\/td>\n<td>Normal LDP transport in AS 65000. Inner VPN label untouched.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><strong>ASBR1 (10.0.0.1)<\/strong><\/td>\n<td>Swaps outer 16051 \u2192 20010<\/td>\n<td><code>[20010] [24000]<\/code><\/td>\n<td>ASBR1 knows VPNv4 routes and their labels (from ASBR2). It preserves the inner VPN label 24000.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><strong>ASBR2 (10.0.0.2)<\/strong><\/td>\n<td>Swaps outer 20010 \u2192 30077<\/td>\n<td><code>[30077] [24000]<\/code><\/td>\n<td>ASBR2 also carries VPNv4 routes. It forwards toward PE2 while preserving the inner VPN label.<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><strong>P2 (AS 651111 core)<\/strong><\/td>\n<td>Swaps outer 30077 \u2192 16012 (PHP)<\/td>\n<td><code>[24000]<\/code><\/td>\n<td>Penultimate hop popping removes the transport label, leaving only the VPN label.<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><strong>PE2 (AS 651111)<\/strong><\/td>\n<td>Pops inner 24000<\/td>\n<td><code>IP(192.168.3.1)<\/code><\/td>\n<td>Looks up 24000 in VRF RED, forwards packet to CE3.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 data-start=\"3806\" data-end=\"4304\"><span class=\"ez-toc-section\" id=\"Configure-2\"><\/span>Configure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65000\n====== ASBR:\n\n\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65000\n address-family vpnv4 unicast\n  retain route-target all\n  neighbor 10.0.0.2\n   remote-as 651111\n   address-family vpnv4 unicast\n    route-policy PASS in\n    route-policy PASS out\n    send-community both\n    next-hop-self\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  retain route-target all<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    next-hop-self<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65111\n====== ASBR:\n\n\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65111\n address-family vpnv4 unicast\n  retain route-target all\n  neighbor 10.0.0.1\n   remote-as 65000\n   address-family vpnv4 unicast\n    route-policy PASS in\n    route-policy PASS out\n    send-community both\n    next-hop-self\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  retain route-target all<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    next-hop-self<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 data-start=\"4615\" data-end=\"4676\"><span class=\"ez-toc-section\" id=\"Inter-AS_Option_C_%E2%80%93_VPNv4_Peering_Between_Route_Reflectors\"><\/span>Inter-AS Option C \u2013 VPNv4 Peering Between Route Reflectors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Topology-3\"><\/span>Topology<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-3421\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio-1024x580.png\" alt=\"\" width=\"678\" height=\"384\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio-1024x580.png 1024w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio-300x170.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio-768x435.png 768w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/MPLS-OPTION-ABC-Option-C.drawio.png 1231w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Theory-3\"><\/span>Theory<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"4678\" data-end=\"5135\"><em>Option C<\/em> represents the <strong>most scalable<\/strong> approach to inter-AS L3VPNs. In this model, ASBRs no longer carry customer VRF state or VPNv4 routes. Instead, only <strong>loopback reachability is exchanged between ASBRs<\/strong> using I<strong>Pv4 labeled unicast<\/strong>. VPNv4 sessions are established directly between route reflectors (or in some cases PEs) in each AS. This pushes state away from the ASBRs and distributes it across the RR infrastructure, which is generally designed to scale.<\/p>\n<p data-start=\"5137\" data-end=\"5678\">The advantage of Option C is scalability. It allows providers to interconnect large numbers of VPNs without overwhelming the ASBRs, making it the preferred design for large carrier environments. On the other hand, it is also the most complex option to implement. Route reflectors must be carefully designed to handle the additional state, and policies must be applied to control route exchange. Security is weaker compared to the other options since providers exchange a much broader set of routes, and leaks are more difficult to contain<\/p>\n<h3 data-start=\"5137\" data-end=\"5678\"><span class=\"ez-toc-section\" id=\"Packet_Walk-3\"><\/span>Packet Walk<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/C-Packet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3485\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/C-Packet.png\" alt=\"\" width=\"1025\" height=\"471\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/C-Packet.png 1025w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/C-Packet-300x138.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2025\/09\/C-Packet-768x353.png 768w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>These are the hops from CE device in the VRF RED on the left, towards CE device in the VRF RED on the right.<\/p>\n<table style=\"width: 101.546%;\">\n<thead>\n<tr>\n<th style=\"width: 4.52381%;\"><strong>Hop<\/strong><\/th>\n<th style=\"width: 13.4524%;\"><strong>Device<\/strong><\/th>\n<th style=\"width: 19.4048%;\"><strong>Action on Labels<\/strong><\/th>\n<th style=\"width: 22.1429%;\"><strong>Resulting Label Stack<\/strong><\/th>\n<th style=\"width: 40.7383%;\"><strong>Notes<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"width: 4.52381%;\">1<\/td>\n<td style=\"width: 13.4524%;\"><strong>PE1 (AS 65000)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Imposes labels<\/td>\n<td style=\"width: 22.1429%;\"><code>[Transport L=16045] [VPN L=24000]<\/code><\/td>\n<td style=\"width: 40.7383%;\">\n<p>Outer = LDP\/LU to PE2 loopback (10.111.111.2).<br>Inner = VPN label from PE2 for VRF RED.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 4.52381%;\">2<\/td>\n<td style=\"width: 13.4524%;\"><strong>P1 (AS 65000 core)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Swaps outer 16045 \u2192 16051<\/td>\n<td style=\"width: 22.1429%;\"><code>[16051] [24000]<\/code><\/td>\n<td style=\"width: 40.7383%;\">Standard LDP label swap toward ASBR1.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 4.52381%;\">3<\/td>\n<td style=\"width: 13.4524%;\"><strong>ASBR1 (10.0.0.1)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Swaps outer 16051 \u2192 20010<\/td>\n<td style=\"width: 22.1429%;\"><code>[20010] [24000]<\/code><\/td>\n<td style=\"width: 40.7383%;\">Label learned via BGP LU from ASBR2.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 4.52381%;\">4<\/td>\n<td style=\"width: 13.4524%;\"><strong>ASBR2 (10.0.0.2)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Swaps outer 20010 \u2192 30077<\/td>\n<td style=\"width: 22.1429%;\"><code>[30077] [24000]<\/code><\/td>\n<td style=\"width: 40.7383%;\">New LU label toward PE2 loopback.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 4.52381%;\">5<\/td>\n<td style=\"width: 13.4524%;\"><strong>P2 (AS 651111 core)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Swaps outer 30077 \u2192 16012 (PHP)<\/td>\n<td style=\"width: 22.1429%;\"><code>[24000]<\/code><\/td>\n<td style=\"width: 40.7383%;\">Penultimate hop popping removes transport, leaves only inner VPN label.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 4.52381%;\">6<\/td>\n<td style=\"width: 13.4524%;\"><strong>PE2 (AS 651111)<\/strong><\/td>\n<td style=\"width: 19.4048%;\">Pops inner 24000<\/td>\n<td style=\"width: 22.1429%;\"><code>IP(192.168.3.1)<\/code><\/td>\n<td style=\"width: 40.7383%;\">Looks up VPN label in VRF RED, forwards to CE3.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 data-start=\"2171\" data-end=\"2540\"><span class=\"ez-toc-section\" id=\"Configure-3\"><\/span>Configure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65000\n====== ASBR:\n\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65000\n address-family ipv4 unicast\n  allocate-label all\n  neighbor 10.0.0.2\n   remote-as 651111\n   address-family ipv4 labeled-unicast\n    route-policy PASS in\n    route-policy PASS out\n    \n====== RR:\n  \nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65000\n address-family vpnv4 unicast\n  neighbor 10.111.111.99\n   remote-as 651111\n   update-source Loopback0\n   ebgp-multihop 255\n   address-family vpnv4 unicast\n    route-policy PASS in\n    route-policy PASS out\n    send-community both\n    next-hop-unchanged\n\n\n====== PE:\n\nvrf RED\n rd 65000:1\n address-family ipv4 unicast\n  import route-target 65111:1      \n  export route-target 65000:1  \n  \n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  allocate-label all<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family ipv4 labeled-unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">RR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.111<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">111.99<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">651111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   update-source <\/span><span style=\"color: #FF79C6\">Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   ebgp-multihop <\/span><span style=\"color: #BD93F9\">255<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    next-hop-unchanged<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">PE<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>====== AS65111\n====== ASBR:\n\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65111\n address-family ipv4 unicast\n  allocate-label all\n  neighbor 10.0.0.1\n   remote-as 65000\n   address-family ipv4 labeled-unicast\n    route-policy PASS in\n    route-policy PASS out\n    \n====== RR:\n\nroute-policy PASS\n  pass\nend-policy\n\nrouter bgp 65111\n address-family vpnv4 unicast\n  neighbor 10.0.0.99\n   remote-as 65000\n   update-source Loopback0\n   ebgp-multihop 255\n   address-family vpnv4 unicast\n    route-policy PASS in\n    route-policy PASS out\n    send-community both\n    next-hop-unchanged    \n    \n====== PE:\n\nvrf RED\n rd 65111:1\n address-family ipv4 unicast\n  import route-target 65000:1  \n  export route-target 65111:1  \n  \n  \n  <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">AS65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">ASBR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  allocate-label all<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family ipv4 labeled-unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">RR<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  pass<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">end-policy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">router bgp <\/span><span style=\"color: #BD93F9\">65111<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  neighbor <\/span><span style=\"color: #BD93F9\">10.0<\/span><span style=\"color: #F8F8F2\">.<\/span><span style=\"color: #BD93F9\">0.99<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   remote-as <\/span><span style=\"color: #BD93F9\">65000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   update-source <\/span><span style=\"color: #FF79C6\">Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   ebgp-multihop <\/span><span style=\"color: #BD93F9\">255<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   address-family vpnv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    route-policy <\/span><span style=\"color: #FF79C6\">PASS<\/span><span style=\"color: #F8F8F2\"> out<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    send-community both<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    next-hop-unchanged    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">====== <\/span><span style=\"color: #FF79C6\">PE<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">vrf <\/span><span style=\"color: #FF79C6\">RED<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> rd <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> address-family ipv4 unicast<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FFB86C; font-style: italic\">route-target<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">65000<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  export route-target <\/span><span style=\"color: #BD93F9\">65111<\/span><span style=\"color: #F8F8F2\">:<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 data-start=\"8340\" data-end=\"8969\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"8340\" data-end=\"8969\">Inter-AS MPLS VPN interconnects can be deployed in several ways, each with clear trade-offs.<\/p>\n<p data-start=\"8340\" data-end=\"8969\">Option A provides <strong>maximum isolation<\/strong> and security but quickly becomes unmanageable at scale.<\/p>\n<p data-start=\"8340\" data-end=\"8969\">Option B <strong>improves scalability<\/strong> by moving VRFs off the ASBRs but sacrifices per-customer policy control.<\/p>\n<p data-start=\"8340\" data-end=\"8969\">Option C achieves the <strong>highest level of scalability<\/strong> by limiting ASBR involvement, but it is operationally complex and comes with reduced security.<\/p>\n<p data-start=\"8971\" data-end=\"9260\">Ultimately, the choice depends on business drivers, scale, and security requirements. Smaller interconnects may favor Option A, while large carriers often rely on Option C.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comparing Inter-AS MPLS L3VPN Options (A, B, C) When an L3VPN service needs to span across two different service providers, an Inter-AS L3VPN solution is required. This scenario is common for national or international circuits where a single service provider is not present in both locations. The routers connecting the two autonomous systems (AS) are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3405,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[128,127],"tags":[187,182,188,65,180,186,183,184,185],"class_list":["post-3395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mpls","category-sp","tag-b","tag-inter-as","tag-inter-as-mpls-l3vpn-options-a","tag-mpls","tag-mpls-inter-as","tag-mpls-l3vpn","tag-option-a","tag-option-b","tag-option-c"],"_links":{"self":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/3395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/comments?post=3395"}],"version-history":[{"count":89,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/3395\/revisions"}],"predecessor-version":[{"id":3491,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/3395\/revisions\/3491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/media\/3405"}],"wp:attachment":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/media?parent=3395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/categories?post=3395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/tags?post=3395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}