From 011d8632bea9747f0ccde522f068ca4817d695b5 Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Wed, 9 Sep 2026 17:34:50 -0700 Subject: [PATCH 1/8] [Network Interconnect] Add CNI locations page --- .../static/cni-locations-05-may-2026.pdf | Bin 88122 -> 0 bytes .../docs/network-interconnect/get-started.mdx | 2 +- .../docs/network-interconnect/index.mdx | 2 +- .../docs/network-interconnect/locations.mdx | 262 ++++++++++++++++++ 4 files changed, 264 insertions(+), 2 deletions(-) delete mode 100644 public/network-interconnect/static/cni-locations-05-may-2026.pdf create mode 100644 src/content/docs/network-interconnect/locations.mdx diff --git a/public/network-interconnect/static/cni-locations-05-may-2026.pdf b/public/network-interconnect/static/cni-locations-05-may-2026.pdf deleted file mode 100644 index 74b5ed157425d8677728e55957e74e9b771c73b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88122 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 diff --git a/src/content/docs/network-interconnect/get-started.mdx b/src/content/docs/network-interconnect/get-started.mdx index 16c0b376aa7..31e8239d114 100644 --- a/src/content/docs/network-interconnect/get-started.mdx +++ b/src/content/docs/network-interconnect/get-started.mdx @@ -85,7 +85,7 @@ Consider the following service levels when planning your deployment: ### Available locations -Direct connections are available at any Cloudflare data center where you are also located. Make sure to check whether the location of interest has the right dataplane version and diversity requirements for your use case. Refer to [available locations](/network-interconnect/static/cni-locations-05-may-2026.pdf) (PDF) for details. +Direct connections are available at any Cloudflare data center where you are also located. Make sure to check whether the location of interest has the right dataplane version and diversity requirements for your use case. Refer to [available locations](/network-interconnect/locations/) for details. ### Connectivity partners diff --git a/src/content/docs/network-interconnect/index.mdx b/src/content/docs/network-interconnect/index.mdx index 80bde6dd95d..4cc22809a95 100644 --- a/src/content/docs/network-interconnect/index.mdx +++ b/src/content/docs/network-interconnect/index.mdx @@ -43,7 +43,7 @@ Cloudflare's data centers may support one or more interconnect dataplanes. The d - **Dataplane v1**: A peering connection to a Cloudflare edge data center that supports Generic Routing Encapsulation (GRE) tunnels for connecting with the Cloudflare Virtual Network, with optional GRE-less delivery for Magic Transit Direct Server Return. - **Dataplane v2**: Is based on the Customer Connectivity Router (CCR), which is specifically designed for customer connectivity. It provides simplified routing without GRE tunneling and supports a 1,500-byte Maximum Transmission Unit (MTU) bidirectionally. -When you review the [available locations](/network-interconnect/static/cni-locations-05-may-2026.pdf) (PDF), you can see which dataplane version(s) are available. +When you review the [available locations](/network-interconnect/locations/), you can see which dataplane version(s) are available. ## Product use cases diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx new file mode 100644 index 00000000000..685e2ad42bb --- /dev/null +++ b/src/content/docs/network-interconnect/locations.mdx @@ -0,0 +1,262 @@ +--- +pcx_content_type: reference +products: + - network-interconnect +title: Available locations +description: Facilities offering Cloudflare Network Interconnect for private connectivity to Cloudflare +sidebar: + order: 3 +--- + +import { Tabs, TabItem } from "~/components"; + +The following facilities offer Cloudflare Network Interconnect (CNI) for private connectivity to Cloudflare's global network. For public peering and best-effort interconnection at additional locations, refer to [Cloudflare on PeeringDB](https://www.peeringdb.com/net/4224). + +## Dataplane versions + +Each site supports one or more CNI dataplane versions: + +| Dataplane | MTU | Routing | Peering | +| --- | --- | --- | --- | +| v1 | Unidirectional 1500B | Static routes | Yes | +| v2 | Bidirectional 1500B | Static routes. Overlay BGP is closed beta. | No | + +For more information, refer to [Cloudflare Network Interconnect](/network-interconnect/#dataplane-versions). + +## Available locations + +### Diverse CNI available + +Values show `1` or `2` availability domains for each dataplane. `—` means the dataplane is not offered. + +\* Site has diversity being built out. Contact your account team. + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **ATL** Atlanta, GA | Digital Realty ATL1 | 1 | 2 | +| **ATL** Atlanta, GA | Equinix AT1 | 2 | 2\* | +| **CMH** Columbus, OH | Cologix COL3 | 2 | — | +| **DEN** Denver, CO | CoreSite DE1 | 2 | 2 | +| **DFW** Dallas, TX | Equinix DA6 | 2 | 2 | +| **IAD** Ashburn, VA | Equinix DC2 | 2 | 2 | +| **LAX** Los Angeles, CA | CoreSite LA1 | 2\* | 2 | +| **MCI** Kansas City, MO | Netrality KC (1102 Grand) | 2 | 2 | +| **MIA** Miami, FL | Equinix MI1 | 2 | 2 | +| **MSP** Minneapolis, MN | Cologix MIN1 | 2 | — | +| **ORD** Chicago, IL | Equinix CH2 | 2 | 2 | +| **SEA** Seattle, WA | Digital Realty SEA10 | 2 | 2\* | +| **SJC** San Jose, CA | Equinix SV5 | 2 | 2 | +| **YYZ** Toronto, ON | Equinix TR1 | 2 | 2 | + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **GIG** Rio de Janeiro | Equinix RJ2 | 2 | 2 | +| **GRU** São Paulo | Equinix SP2 | 2 | 2 | + + + + + +#### Europe + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **AMS** Amsterdam | Equinix AM1 | 2 | 2 | +| **ARN** Stockholm | Equinix SK1 | 2 | 2 | +| **CDG** Paris | Equinix PA2 | 2 | 2 | +| **DUB** Dublin | Equinix DB2 | 2 | 2 | +| **FRA** Frankfurt | Equinix FR5 | 2 | 2 | +| **IST** Istanbul | Equinix IL2 | 1 | 2 | +| **IST** Istanbul | Turkcell/Superonline Istanbul | 1 | 2 | +| **MAD** Madrid | Digital Realty MAD2 | 2 | 2 | +| **MRS** Marseille | Digital Realty MRS1 | 2 | — | +| **MXP** Milan | Retelit Via Caldera | 2 | 2 | +| **VIE** Vienna | Digital Realty VIE1 | 2 | 2 | +| **WAW** Warsaw | Equinix WA1 | 2 | 2 | + +#### Africa + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **JNB** Johannesburg | Digital Realty (Teraco) JB1 | 2 | 2 | + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **AKL** Auckland | DataCentre220 | 1 | 2 | +| **BOM** Mumbai | Equinix MB1 | 2 | 2\* | +| **HKG** Hong Kong | Equinix HK2 | 2 | 2 | +| **ICN** Seoul | KINX Dogok IDC | 2 | 2 | +| **KIX** Osaka | Equinix OS1 | 2 | 2 | +| **MEL** Melbourne | NextDC (M1) | 1 | 2 | +| **SIN** Singapore | Equinix SG1 | 2 | 2 | +| **SYD** Sydney | Equinix SY2 | 2 | 2 | + + + + + +### Non-diverse locations + +These sites do not offer two same-type connectivity devices with diverse upstream connectivity. `✓` means the dataplane is offered; `—` means it is not offered. + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **ABQ** Albuquerque, NM | H5 Data Centers Albuquerque | ✓ | — | +| **BNA** Nashville, TN | H5 Data Centers NAS1 | ✓ | — | +| **BOS** Boston, MA | Markley Group One Summer Street Boston | ✓ | ✓ | +| **BUF** Buffalo, NY | H5 Data Centers BUF2 | ✓ | — | +| **CLT** Charlotte, NC | Digital Realty CLT10 | ✓ | — | +| **DTW** Detroit, MI | EdgeConneX DET01 | ✓ | — | +| **EWR** Newark, NJ | Digital Realty JFK10 | ✓ | ✓ | +| **EWR** Newark, NJ | Equinix NY1 | ✓ | ✓ | +| **HNL** Honolulu, HI | 1547 DRFortress | ✓ | — | +| **IAD** Ashburn, VA | CoreSite VA1 | — | ✓ | +| **IAD** Ashburn, VA | CoreSite VA2 | — | ✓ | +| **IAH** Houston, TX | EdgeConneX HOU01 | ✓ | ✓ | +| **IND** Indianapolis, IN | Netrality Indy Telcom Center 701 W. Henry | ✓ | — | +| **JAX** Jacksonville, FL | EdgeConneX JAX01 | ✓ | — | +| **LAS** Las Vegas, NV | EdgeConneX LAS01 | ✓ | ✓ | +| **LAX** Los Angeles, CA | Equinix LA1 | ✓ | ✓ | +| **MEM** Memphis, TN | EdgeConneX MEM01 | ✓ | — | +| **MEX** Mexico City | Kio Networks Santa Fe II - MEX2 | ✓ | — | +| **OKC** Oklahoma City, OK | Rack59 Data Center | ✓ | — | +| **OMA** Omaha, NE | 1623 Farnam | ✓ | ✓ | +| **ORF** Norfolk, VA | EdgeConneX NOR01 | ✓ | — | +| **PDX** Portland, OR | EdgeConneX EDCPOR01 | ✓ | ✓ | +| **PHL** Philadelphia, PA | Netrality-PHL | ✓ | ✓ | +| **PHX** Phoenix, AZ | EdgeConneX EDCPHX01 | ✓ | ✓ | +| **PIT** Pittsburgh, PA | Databank PIT1 | ✓ | — | +| **PIT** Pittsburgh, PA | EdgeConneX PIT01 | ✓ | — | +| **QRO** Queretaro | Kio Networks QRO1 | ✓ | — | +| **RDU** Raleigh-Durham, NC | CyrusOne DUR1 | ✓ | — | +| **RIC** Richmond, VA | EdgeConneX RIC01 | ✓ | — | +| **SAT** San Antonio, TX | H5 Data Centers San Antonio | ✓ | — | +| **SEA** Seattle, WA | Equinix SE3 | ✓ | — | +| **SLC** Salt Lake City, UT | EdgeConneX SLC01 | ✓ | — | +| **SMF** Sacramento, CA | EdgeConneX SAC01 | ✓ | — | +| **STL** St. Louis, MO | Netrality Properties St. Louis | ✓ | ✓ | +| **TLH** Tallahassee, FL | EdgeConneX TAL01 | ✓ | — | +| **TPA** Tampa, FL | H5 Data Centers TPA1 | ✓ | — | +| **YUL** Montréal, QC | Cologix MTL3 | ✓ | — | +| **YUL** Montréal, QC | Cologix MTL7 | ✓ | — | +| **YVR** Vancouver, BC | Cologix VAN2 | ✓ | — | +| **YWG** Winnipeg, MB | Les.net YWG2 | ✓ | — | +| **YXE** Saskatoon, SK | VDC Virtual Data Corp 121RD | ✓ | — | +| **YYC** Calgary, AB | DataHive | ✓ | — | + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **ARI** Arica | Telxius Arica CLS | ✓ | — | +| **BOG** Bogotá | Equinix BG2 | ✓ | — | +| **CWB** Curitiba | BRFibra CommCorp IDC Curitiba CTA1 | ✓ | ✓ | +| **CWB** Curitiba | Cirion Curitiba | ✓ | — | +| **EZE** Buenos Aires | SyT Suipacha 128 (CABASE) | ✓ | — | +| **FOR** Fortaleza | BRFibra Commcorp FLA1 | ✓ | ✓ | +| **LIM** Lima | Cirion Lima | ✓ | — | +| **LIM** Lima | Telxius Lurin CLS | ✓ | — | +| **POA** Porto Alegre | BRFibra Commcorp IDC PAE1 | ✓ | ✓ | +| **SCL** Santiago | Cirion Santiago (SAN1) | ✓ | ✓ | +| **SCL** Santiago | Telxius Valparaiso CLS | ✓ | ✓ | +| **SSA** Salvador | Telxius Salvador CLS | ✓ | — | + + + + + +#### Europe + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **AMS** Amsterdam | Digital Realty AMS9 | ✓ | — | +| **AMS** Amsterdam | Maincubes AMS01 | ✓ | ✓ | +| **ATH** Athens | Digital Realty (Lamda Hellix) ATH 1/2/3 | ✓ | ✓ | +| **BCN** Barcelona | Equinix BA1 | ✓ | ✓ | +| **BEG** Belgrade | BeotelNet ISP | ✓ | — | +| **BRU** Brussels | Digital Realty BRU1 | ✓ | — | +| **BUD** Budapest | T-Systems Dataplex Budapest | ✓ | — | +| **CDG** Paris | Telehouse Paris Voltaire TH2 | ✓ | — | +| **CPH** Copenhagen | GlobalConnect Taastrup 1 | ✓ | — | +| **DME** Moscow | IXcellerate MOS1 | ✓ | — | +| **DUS** Düsseldorf | Digital Realty DUS2 | ✓ | ✓ | +| **FCO** Rome | NAMEX/Cineca | ✓ | — | +| **GOT** Gothenburg | Slakthusgatan 5 - Gothenburg SE | ✓ | — | +| **GVA** Geneva | Equinix GV2 | ✓ | ✓ | +| **HAM** Hamburg | Portus IPHH HH2 | ✓ | — | +| **HEL** Helsinki | Equinix HE3 | ✓ | ✓ | +| **IST** Istanbul | Radore Istanbul | ✓ | — | +| **KBP** Kyiv | NewTelco Kiev / NewTelco Ukraine Ltd | ✓ | — | +| **KEF** Reykjavík | Verne Global | ✓ | — | +| **KIV** Chișinău | Trabia Network | ✓ | — | +| **LED** Saint Petersburg | Borovaya 57 | ✓ | — | +| **LHR** London | Equinix LD8 | ✓ | ✓ | +| **LHR** London | Telehouse North 2 | ✓ | ✓ | +| **LIS** Lisbon | Equinix LS1 | ✓ | ✓ | +| **LUX** Luxembourg City | LuxConnect DC1.1 | ✓ | — | +| **MAN** Manchester | Equinix MA1 | ✓ | ✓ | +| **MUC** Munich | Equinix MU1 | ✓ | ✓ | +| **OSL** Oslo | Stack EMEA (Digiplex) Oslo Ulvenveien OSL1 | ✓ | — | +| **OTP** Bucharest | NXDATA 1 | ✓ | — | +| **PMO** Palermo | TI Sparkle Sicily Hub | ✓ | — | +| **PRG** Prague | CE Colo Prague | ✓ | ✓ | +| **RIX** Riga | LVRTC | ✓ | — | +| **SKG** Thessaloniki | Synapsecom | ✓ | — | +| **SOF** Sofia | TELEPOINT Sofia | ✓ | ✓ | +| **TLL** Tallinn | CITIC Telecom Tallinn | ✓ | — | +| **TXL** Berlin | CarrierColo Berlin Lützow (I/P/B/ site B) | ✓ | — | +| **VNO** Vilnius | Data Logistics Center J13 | ✓ | — | +| **ZAG** Zagreb | Digital Realty ZAG1 | ✓ | — | +| **ZRH** Zurich | Equinix ZH4 | ✓ | ✓ | + +#### Africa + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **CPT** Cape Town | Digital Realty (Teraco) CT1 | ✓ | ✓ | +| **DUR** Durban | Digital Realty (Teraco) DB1 | ✓ | ✓ | +| **LOS** Lagos | Equinix LG1 LG2 (MainOne MDX-i) | ✓ | — | + + + + + +| Metro | Site | v1 | v2 | +| --- | --- | --- | --- | +| **ADL** Adelaide | YourDC Hawthorn | ✓ | — | +| **BLR** Bangalore | Nxtra Data Bangalore | ✓ | — | +| **BNE** Brisbane | NEXTDC B1 | ✓ | — | +| **CBR** Canberra | NextDC C1 | ✓ | — | +| **CGK** Jakarta | NTT Comm JKT2 | ✓ | ✓ | +| **DEL** New Delhi | Sify Greenfort Noida | ✓ | ✓ | +| **HKG** Hong Kong | China Mobile GNC Hong Kong | ✓ | — | +| **HYD** Hyderabad | Nxtra Data Hyderabad | ✓ | ✓ | +| **JHB** Johor Bahru | TM ONE IPDC Johor | ✓ | — | +| **KUL** Kuala Lumpur | Menara AIMS | ✓ | — | +| **MAA** Chennai | Nxtra Data Chennai | ✓ | ✓ | +| **NRT** Tokyo | AT Tokyo CC1 | ✓ | ✓ | +| **NRT** Tokyo | Equinix TY2 | ✓ | ✓ | +| **PER** Perth | Vocus Communications | ✓ | — | +| **TPE** Taipei | Chief LY Building Taipei | ✓ | — | + + + + From f489360bf2189bab9a68f08c9b1d725337fa26dd Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Wed, 9 Sep 2026 18:33:26 -0700 Subject: [PATCH 2/8] [Network Interconnect] Redirect legacy location PDFs --- public/__redirects | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/public/__redirects b/public/__redirects index e3ffdfcbeda..ade744dd8b7 100644 --- a/public/__redirects +++ b/public/__redirects @@ -619,9 +619,10 @@ /network-interconnect/express-cni/create-interconnects/ /network-interconnect/ 301 /network-interconnect/express-cni/ /network-interconnect/ 301 /network-interconnect/pni-and-peering/ /network-interconnect/ 301 -/network-interconnect/static/cni-locations-04-08-2025.pdf /network-interconnect/static/cni-locations-05-may-2026.pdf 301 -/network-interconnect/static/cni-locations-30-10-2025.pdf /network-interconnect/static/cni-locations-05-may-2026.pdf 301 -/network-interconnect/static/cni-locations-31-mar-2026.pdf /network-interconnect/static/cni-locations-05-may-2026.pdf 301 +/network-interconnect/static/cni-locations-04-08-2025.pdf /network-interconnect/locations/ 301 +/network-interconnect/static/cni-locations-05-may-2026.pdf /network-interconnect/locations/ 301 +/network-interconnect/static/cni-locations-30-10-2025.pdf /network-interconnect/locations/ 301 +/network-interconnect/static/cni-locations-31-mar-2026.pdf /network-interconnect/locations/ 301 # Constellation /constellation/ /workers-ai/ 301 From dec2034a4e92987faa22d1afe82639d9ace626fd Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Thu, 10 Sep 2026 14:17:20 -0700 Subject: [PATCH 3/8] Update to diversity terminology --- src/content/docs/network-interconnect/locations.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx index 685e2ad42bb..ee84a2a7341 100644 --- a/src/content/docs/network-interconnect/locations.mdx +++ b/src/content/docs/network-interconnect/locations.mdx @@ -25,9 +25,11 @@ For more information, refer to [Cloudflare Network Interconnect](/network-interc ## Available locations +On this page, **diversity** means that a site has two Cloudflare connectivity devices of the same type for the listed dataplane version, providing separate paths into Cloudflare's network. This reduces exposure to a single device or upstream-path failure. + ### Diverse CNI available -Values show `1` or `2` availability domains for each dataplane. `—` means the dataplane is not offered. +Values show whether a dataplane is available through one or two connectivity devices. `—` means the dataplane is not offered. \* Site has diversity being built out. Contact your account team. From e05208acfdd94dc5036ffe362b1ad67fe29fbc83 Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Thu, 10 Sep 2026 18:05:25 -0700 Subject: [PATCH 4/8] Clarify device-level diversity --- src/content/docs/network-interconnect/locations.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx index ee84a2a7341..709dbcb0b87 100644 --- a/src/content/docs/network-interconnect/locations.mdx +++ b/src/content/docs/network-interconnect/locations.mdx @@ -25,13 +25,13 @@ For more information, refer to [Cloudflare Network Interconnect](/network-interc ## Available locations -On this page, **diversity** means that a site has two Cloudflare connectivity devices of the same type for the listed dataplane version, providing separate paths into Cloudflare's network. This reduces exposure to a single device or upstream-path failure. +On this page, **device-level diversity** means that a site supports CNI connections for the listed dataplane version on two physically separate Cloudflare connectivity devices of the same type, with separate paths into Cloudflare's network. -### Diverse CNI available +### Locations with device-level diversity Values show whether a dataplane is available through one or two connectivity devices. `—` means the dataplane is not offered. -\* Site has diversity being built out. Contact your account team. +\* Device-level diversity is being built out at this site. Contact your account team. @@ -109,9 +109,9 @@ Values show whether a dataplane is available through one or two connectivity dev -### Non-diverse locations +### Locations without device-level diversity -These sites do not offer two same-type connectivity devices with diverse upstream connectivity. `✓` means the dataplane is offered; `—` means it is not offered. +These sites offer CNI without device-level diversity for the listed dataplanes. `✓` means the dataplane is offered; `—` means it is not offered. From e06daa14aedeaf4f4b791f278e32ccb8b5fa6889 Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Thu, 10 Sep 2026 19:34:55 -0700 Subject: [PATCH 5/8] Allow CNI location names in typo check --- _typos.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_typos.toml b/_typos.toml index 48693f9c663..f084dbf59c7 100644 --- a/_typos.toml +++ b/_typos.toml @@ -24,6 +24,7 @@ extend-ignore-identifiers-re = [ # confirming the flagged string isn't a real typo. acn = "acn" # Australian Company Number als = "als" # AsyncLocalStorage variable name +arica = "arica" # Chilean city name aso = "aso" # ASN field name (Autonomous System Organization) ba = "ba" # hex hash / language code fragment brittish = "brittish" # period spelling, quoted Declaration of Independence @@ -42,6 +43,7 @@ fpt = "fpt" # abbreviation in Access MFA docs gam = "gam" # Google Apps Manager gropus = "gropus" # intentional typo example (SCIM attribute mismatch) harrass = "harrass" # period spelling, quoted Declaration of Independence +hel = "hel" # Helsinki airport code helo = "helo" # SMTP HELO command hom = "hom" # column value example (pipelines SQL reference) hpe = "hpe" # Hewlett Packard Enterprise @@ -49,6 +51,7 @@ iin = "iin" # Issuer Identification Number ist = "ist" # German UI string example iz = "iz" # base64 fragment jus = "jus" # dialect quote example +lamda = "lamda" # Lamda Hellix data center operator metrix = "metrix" # GT Metrix, the product mis = "mis" # hyphenated prefix (mis-issued, mis-read) momento = "momento" # Spanish UI string example @@ -67,6 +70,7 @@ sie = "sie" # German UI string example sur = "sur" # macOS "Big Sur", surName attribute tme = "tme" # example domain fragment toi = "toi" # French UI string example +tpe = "tpe" # Taipei airport code tru = "tru" # base64 fragment ue = "ue" # base64/JWT fragment unparseable = "unparseable" # valid alternate spelling of "unparsable" From 8725d17ca95d357d65d9e2a934bd1f3557d2a0da Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Thu, 10 Sep 2026 19:49:27 -0700 Subject: [PATCH 6/8] Improve dataplane version table --- src/content/docs/network-interconnect/locations.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx index 709dbcb0b87..08e26be33c4 100644 --- a/src/content/docs/network-interconnect/locations.mdx +++ b/src/content/docs/network-interconnect/locations.mdx @@ -16,10 +16,10 @@ The following facilities offer Cloudflare Network Interconnect (CNI) for private Each site supports one or more CNI dataplane versions: -| Dataplane | MTU | Routing | Peering | +| Dataplane | MTU | Private Transit/WAN Routing | Public Peering with PoP | | --- | --- | --- | --- | -| v1 | Unidirectional 1500B | Static routes | Yes | -| v2 | Bidirectional 1500B | Static routes. Overlay BGP is closed beta. | No | +| v1 | 1500B from Cloudflare to customer.
Customer to Cloudflare must tunnel in GRE. | Static routes | BGP peering required. Customer must have assigned v4/v6 public address space. | +| v2 | Bidirectional 1500B | Static routes. Overlay BGP is closed beta. | Not supported | For more information, refer to [Cloudflare Network Interconnect](/network-interconnect/#dataplane-versions). From 09e3a68a2767b911922a78d44eaea78c8eb0f5f0 Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Thu, 10 Sep 2026 20:47:16 -0700 Subject: [PATCH 7/8] Clarify Direct CNI location scope --- src/content/docs/network-interconnect/locations.mdx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx index 08e26be33c4..836cc67c10c 100644 --- a/src/content/docs/network-interconnect/locations.mdx +++ b/src/content/docs/network-interconnect/locations.mdx @@ -2,15 +2,21 @@ pcx_content_type: reference products: - network-interconnect -title: Available locations -description: Facilities offering Cloudflare Network Interconnect for private connectivity to Cloudflare +title: Direct CNI locations +description: Facilities offering Direct Cloudflare Network Interconnect for private connectivity to Cloudflare sidebar: order: 3 --- import { Tabs, TabItem } from "~/components"; -The following facilities offer Cloudflare Network Interconnect (CNI) for private connectivity to Cloudflare's global network. For public peering and best-effort interconnection at additional locations, refer to [Cloudflare on PeeringDB](https://www.peeringdb.com/net/4224). +The following facilities offer **Direct CNI**, a dedicated physical connection between your network equipment and Cloudflare hardware in a shared data center. + +:::note[Partner CNI and Cloud CNI] +Partner CNI availability depends on the locations offered through each connectivity partner's marketplace. This page does not yet list Cloud CNI locations. +::: + +For public peering and best-effort interconnection at additional locations, refer to [Cloudflare on PeeringDB](https://www.peeringdb.com/net/4224). ## Dataplane versions From ef2b65f730a6ac6582982d5130bf402f9895e496 Mon Sep 17 00:00:00 2001 From: Steve Welham Date: Fri, 11 Sep 2026 19:58:08 -0700 Subject: [PATCH 8/8] Clarify site and metro diversity --- .../docs/network-interconnect/locations.mdx | 108 ++++++++++-------- 1 file changed, 59 insertions(+), 49 deletions(-) diff --git a/src/content/docs/network-interconnect/locations.mdx b/src/content/docs/network-interconnect/locations.mdx index 836cc67c10c..4c02c8951c4 100644 --- a/src/content/docs/network-interconnect/locations.mdx +++ b/src/content/docs/network-interconnect/locations.mdx @@ -18,45 +18,41 @@ Partner CNI availability depends on the locations offered through each connectiv For public peering and best-effort interconnection at additional locations, refer to [Cloudflare on PeeringDB](https://www.peeringdb.com/net/4224). -## Dataplane versions - -Each site supports one or more CNI dataplane versions: - -| Dataplane | MTU | Private Transit/WAN Routing | Public Peering with PoP | -| --- | --- | --- | --- | -| v1 | 1500B from Cloudflare to customer.
Customer to Cloudflare must tunnel in GRE. | Static routes | BGP peering required. Customer must have assigned v4/v6 public address space. | -| v2 | Bidirectional 1500B | Static routes. Overlay BGP is closed beta. | Not supported | - -For more information, refer to [Cloudflare Network Interconnect](/network-interconnect/#dataplane-versions). - ## Available locations -On this page, **device-level diversity** means that a site supports CNI connections for the listed dataplane version on two physically separate Cloudflare connectivity devices of the same type, with separate paths into Cloudflare's network. +The [v1](/network-interconnect/#dataplane) and [v2](/network-interconnect/#dataplane) columns show the Direct CNI dataplanes offered at each facility. + +In this table, a metro has *device-level diversity* when at least two devices of the same dataplane provide paths to the rest of the Cloudflare network without a shared single point-of-failure device. -### Locations with device-level diversity + means the dataplane is not offered at this time. -Values show whether a dataplane is available through one or two connectivity devices. `—` means the dataplane is not offered. +### Locations in diverse metros -\* Device-level diversity is being built out at this site. Contact your account team. +Values show whether a dataplane is available through one or two connectivity devices in the site. Device-level redundancy can be achieved across multiple devices in different sites, if they are in the same metro. (Between metros, Cloudflare does not yet coordinate maintenances.) -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | -| **ATL** Atlanta, GA | Digital Realty ATL1 | 1 | 2 | -| **ATL** Atlanta, GA | Equinix AT1 | 2 | 2\* | +| **ATL** Atlanta, GA | Digital Realty ATL13 | 1 | 2 | +| **ATL** Atlanta, GA | Equinix AT1 | 2 | 2 | | **CMH** Columbus, OH | Cologix COL3 | 2 | — | | **DEN** Denver, CO | CoreSite DE1 | 2 | 2 | | **DFW** Dallas, TX | Equinix DA6 | 2 | 2 | +| **EWR** Newark, NJ | Digital Realty JFK10 | 2 | 1 | +| **EWR** Newark, NJ | Equinix NY1 | 2 | 1 | +| **IAD** Ashburn, VA | CoreSite VA1 | 1 | 1 | | **IAD** Ashburn, VA | Equinix DC2 | 2 | 2 | -| **LAX** Los Angeles, CA | CoreSite LA1 | 2\* | 2 | +| **LAX** Los Angeles, CA | CoreSite LA1 | 2 | 2 | +| **LAX** Los Angeles, CA | Equinix LA1 | 2 | 1 | | **MCI** Kansas City, MO | Netrality KC (1102 Grand) | 2 | 2 | | **MIA** Miami, FL | Equinix MI1 | 2 | 2 | -| **MSP** Minneapolis, MN | Cologix MIN1 | 2 | — | | **ORD** Chicago, IL | Equinix CH2 | 2 | 2 | -| **SEA** Seattle, WA | Digital Realty SEA10 | 2 | 2\* | +| **PDX** Portland, OR | EdgeConneX EDCPOR01 | 1 | 1 | +| **SEA** Seattle, WA | Digital Realty SEA10 | 2 | 2 | +| **SEA** Seattle, WA | Equinix SE3 | 1 | — | | **SJC** San Jose, CA | Equinix SV5 | 2 | 2 | | **YYZ** Toronto, ON | Equinix TR1 | 2 | 2 | @@ -64,10 +60,11 @@ Values show whether a dataplane is available through one or two connectivity dev -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **GIG** Rio de Janeiro | Equinix RJ2 | 2 | 2 | | **GRU** São Paulo | Equinix SP2 | 2 | 2 | +| **GRU** São Paulo | Equinix SP4 | 2 | — | @@ -75,15 +72,23 @@ Values show whether a dataplane is available through one or two connectivity dev #### Europe -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | +| **AMS** Amsterdam | Digital Realty AMS9 | 1 | — | | **AMS** Amsterdam | Equinix AM1 | 2 | 2 | +| **AMS** Amsterdam | Maincubes AMS01 | 1 | 1 | | **ARN** Stockholm | Equinix SK1 | 2 | 2 | | **CDG** Paris | Equinix PA2 | 2 | 2 | +| **CDG** Paris | Telehouse Paris Voltaire TH2 | 1 | — | | **DUB** Dublin | Equinix DB2 | 2 | 2 | +| **FRA** Frankfurt | Digital Realty FRA15 | 1 | — | | **FRA** Frankfurt | Equinix FR5 | 2 | 2 | | **IST** Istanbul | Equinix IL2 | 1 | 2 | +| **IST** Istanbul | Radore Istanbul | 1 | — | | **IST** Istanbul | Turkcell/Superonline Istanbul | 1 | 2 | +| **LHR** London | Equinix LD7 | 1 | 1 | +| **LHR** London | Equinix LD8 | 2 | 1 | +| **LHR** London | Telehouse North 2 | 1 | 1 | | **MAD** Madrid | Digital Realty MAD2 | 2 | 2 | | **MRS** Marseille | Digital Realty MRS1 | 2 | — | | **MXP** Milan | Retelit Via Caldera | 2 | 2 | @@ -92,7 +97,7 @@ Values show whether a dataplane is available through one or two connectivity dev #### Africa -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **JNB** Johannesburg | Digital Realty (Teraco) JB1 | 2 | 2 | @@ -100,14 +105,20 @@ Values show whether a dataplane is available through one or two connectivity dev -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **AKL** Auckland | DataCentre220 | 1 | 2 | -| **BOM** Mumbai | Equinix MB1 | 2 | 2\* | +| **AKL** Auckland | Vocus, Albany | 1 | 1 | +| **BOM** Mumbai | Equinix MB1 | 2 | 2 | +| **HKG** Hong Kong | China Mobile GNC Hong Kong | 1 | — | | **HKG** Hong Kong | Equinix HK2 | 2 | 2 | +| **ICN** Seoul | Equinix SL1 | 1 | — | | **ICN** Seoul | KINX Dogok IDC | 2 | 2 | | **KIX** Osaka | Equinix OS1 | 2 | 2 | +| **MEL** Melbourne | Equinix ME1 | 1 | 2 | | **MEL** Melbourne | NextDC (M1) | 1 | 2 | +| **NRT** Tokyo | AT Tokyo CC1 | 1 | 1 | +| **NRT** Tokyo | Equinix TY2 | 2 | 1 | | **SIN** Singapore | Equinix SG1 | 2 | 2 | | **SYD** Sydney | Equinix SY2 | 2 | 2 | @@ -115,38 +126,37 @@ Values show whether a dataplane is available through one or two connectivity dev -### Locations without device-level diversity +### Locations in non-diverse metros -These sites offer CNI without device-level diversity for the listed dataplanes. `✓` means the dataplane is offered; `—` means it is not offered. +`✓` means that the dataplane is offered. -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **ABQ** Albuquerque, NM | H5 Data Centers Albuquerque | ✓ | — | +| **BNA** Nashville, TN | EdgeConneX NAS01 | ✓ | — | | **BNA** Nashville, TN | H5 Data Centers NAS1 | ✓ | — | | **BOS** Boston, MA | Markley Group One Summer Street Boston | ✓ | ✓ | | **BUF** Buffalo, NY | H5 Data Centers BUF2 | ✓ | — | | **CLT** Charlotte, NC | Digital Realty CLT10 | ✓ | — | | **DTW** Detroit, MI | EdgeConneX DET01 | ✓ | — | -| **EWR** Newark, NJ | Digital Realty JFK10 | ✓ | ✓ | -| **EWR** Newark, NJ | Equinix NY1 | ✓ | ✓ | | **HNL** Honolulu, HI | 1547 DRFortress | ✓ | — | -| **IAD** Ashburn, VA | CoreSite VA1 | — | ✓ | -| **IAD** Ashburn, VA | CoreSite VA2 | — | ✓ | +| **IAH** Houston, TX | Databank HOU1 | ✓ | — | | **IAH** Houston, TX | EdgeConneX HOU01 | ✓ | ✓ | | **IND** Indianapolis, IN | Netrality Indy Telcom Center 701 W. Henry | ✓ | — | +| **JAX** Jacksonville, FL | Cologix JAX1 | ✓ | — | | **JAX** Jacksonville, FL | EdgeConneX JAX01 | ✓ | — | | **LAS** Las Vegas, NV | EdgeConneX LAS01 | ✓ | ✓ | -| **LAX** Los Angeles, CA | Equinix LA1 | ✓ | ✓ | | **MEM** Memphis, TN | EdgeConneX MEM01 | ✓ | — | | **MEX** Mexico City | Kio Networks Santa Fe II - MEX2 | ✓ | — | +| **MSP** Minneapolis, MN | Cologix MIN1 | ✓ | — | +| **MSP** Minneapolis, MN | EdgeConneX MSP01 | ✓ | — | | **OKC** Oklahoma City, OK | Rack59 Data Center | ✓ | — | | **OMA** Omaha, NE | 1623 Farnam | ✓ | ✓ | | **ORF** Norfolk, VA | EdgeConneX NOR01 | ✓ | — | -| **PDX** Portland, OR | EdgeConneX EDCPOR01 | ✓ | ✓ | | **PHL** Philadelphia, PA | Netrality-PHL | ✓ | ✓ | | **PHX** Phoenix, AZ | EdgeConneX EDCPHX01 | ✓ | ✓ | | **PIT** Pittsburgh, PA | Databank PIT1 | ✓ | — | @@ -155,7 +165,6 @@ These sites offer CNI without device-level diversity for the listed dataplanes. | **RDU** Raleigh-Durham, NC | CyrusOne DUR1 | ✓ | — | | **RIC** Richmond, VA | EdgeConneX RIC01 | ✓ | — | | **SAT** San Antonio, TX | H5 Data Centers San Antonio | ✓ | — | -| **SEA** Seattle, WA | Equinix SE3 | ✓ | — | | **SLC** Salt Lake City, UT | EdgeConneX SLC01 | ✓ | — | | **SMF** Sacramento, CA | EdgeConneX SAC01 | ✓ | — | | **STL** St. Louis, MO | Netrality Properties St. Louis | ✓ | ✓ | @@ -172,7 +181,7 @@ These sites offer CNI without device-level diversity for the listed dataplanes. -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **ARI** Arica | Telxius Arica CLS | ✓ | — | | **BOG** Bogotá | Equinix BG2 | ✓ | — | @@ -193,33 +202,33 @@ These sites offer CNI without device-level diversity for the listed dataplanes. #### Europe -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | -| **AMS** Amsterdam | Digital Realty AMS9 | ✓ | — | -| **AMS** Amsterdam | Maincubes AMS01 | ✓ | ✓ | | **ATH** Athens | Digital Realty (Lamda Hellix) ATH 1/2/3 | ✓ | ✓ | | **BCN** Barcelona | Equinix BA1 | ✓ | ✓ | | **BEG** Belgrade | BeotelNet ISP | ✓ | — | +| **BOD** Bordeaux | Equinix BX1 | ✓ | ✓ | | **BRU** Brussels | Digital Realty BRU1 | ✓ | — | +| **BTS** Bratislava | SITELPOP1 | ✓ | — | | **BUD** Budapest | T-Systems Dataplex Budapest | ✓ | — | -| **CDG** Paris | Telehouse Paris Voltaire TH2 | ✓ | — | | **CPH** Copenhagen | GlobalConnect Taastrup 1 | ✓ | — | | **DME** Moscow | IXcellerate MOS1 | ✓ | — | +| **DME** Moscow | MMTS Moscow M9 | ✓ | — | | **DUS** Düsseldorf | Digital Realty DUS2 | ✓ | ✓ | | **FCO** Rome | NAMEX/Cineca | ✓ | — | | **GOT** Gothenburg | Slakthusgatan 5 - Gothenburg SE | ✓ | — | | **GVA** Geneva | Equinix GV2 | ✓ | ✓ | | **HAM** Hamburg | Portus IPHH HH2 | ✓ | — | +| **HEL** Helsinki | Digita Helsinki Pasila DC1 | ✓ | — | | **HEL** Helsinki | Equinix HE3 | ✓ | ✓ | -| **IST** Istanbul | Radore Istanbul | ✓ | — | | **KBP** Kyiv | NewTelco Kiev / NewTelco Ukraine Ltd | ✓ | — | | **KEF** Reykjavík | Verne Global | ✓ | — | | **KIV** Chișinău | Trabia Network | ✓ | — | | **LED** Saint Petersburg | Borovaya 57 | ✓ | — | -| **LHR** London | Equinix LD8 | ✓ | ✓ | -| **LHR** London | Telehouse North 2 | ✓ | ✓ | | **LIS** Lisbon | Equinix LS1 | ✓ | ✓ | | **LUX** Luxembourg City | LuxConnect DC1.1 | ✓ | — | +| **LYS** Lyon | FreePro Jaguar Rockefeller | ✓ | — | +| **LYS** Lyon | SFR NetCentre Venissieux | ✓ | — | | **MAN** Manchester | Equinix MA1 | ✓ | ✓ | | **MUC** Munich | Equinix MU1 | ✓ | ✓ | | **OSL** Oslo | Stack EMEA (Digiplex) Oslo Ulvenveien OSL1 | ✓ | — | @@ -237,7 +246,7 @@ These sites offer CNI without device-level diversity for the listed dataplanes. #### Africa -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **CPT** Cape Town | Digital Realty (Teraco) CT1 | ✓ | ✓ | | **DUR** Durban | Digital Realty (Teraco) DB1 | ✓ | ✓ | @@ -247,21 +256,22 @@ These sites offer CNI without device-level diversity for the listed dataplanes. -| Metro | Site | v1 | v2 | +| Metro | Site | [v1](/network-interconnect/#dataplane) | [v2](/network-interconnect/#dataplane) | | --- | --- | --- | --- | | **ADL** Adelaide | YourDC Hawthorn | ✓ | — | | **BLR** Bangalore | Nxtra Data Bangalore | ✓ | — | | **BNE** Brisbane | NEXTDC B1 | ✓ | — | | **CBR** Canberra | NextDC C1 | ✓ | — | | **CGK** Jakarta | NTT Comm JKT2 | ✓ | ✓ | +| **CHC** Christchurch | Computer Concepts, Ltd (Spark) | ✓ | — | | **DEL** New Delhi | Sify Greenfort Noida | ✓ | ✓ | -| **HKG** Hong Kong | China Mobile GNC Hong Kong | ✓ | — | +| **FUK** Fukuoka | QTnet | ✓ | — | +| **HBA** Hobart | Tasmanet Hobart DC3 | ✓ | — | | **HYD** Hyderabad | Nxtra Data Hyderabad | ✓ | ✓ | | **JHB** Johor Bahru | TM ONE IPDC Johor | ✓ | — | | **KUL** Kuala Lumpur | Menara AIMS | ✓ | — | | **MAA** Chennai | Nxtra Data Chennai | ✓ | ✓ | -| **NRT** Tokyo | AT Tokyo CC1 | ✓ | ✓ | -| **NRT** Tokyo | Equinix TY2 | ✓ | ✓ | +| **OKA** Naha | First Riding Technology Co., Ltd. (FRT) via BBIX | ✓ | — | | **PER** Perth | Vocus Communications | ✓ | — | | **TPE** Taipei | Chief LY Building Taipei | ✓ | — |