diff --git a/src/content/docs/learning-paths/data-center-protection/configure-tunnels-routes/configure-routes.mdx b/src/content/docs/learning-paths/data-center-protection/configure-tunnels-routes/configure-routes.mdx index 114814fd5d2c63a..b57e29886d62170 100644 --- a/src/content/docs/learning-paths/data-center-protection/configure-tunnels-routes/configure-routes.mdx +++ b/src/content/docs/learning-paths/data-center-protection/configure-tunnels-routes/configure-routes.mdx @@ -15,6 +15,7 @@ import { Render } from "~/components" trafficSteeringPage: "/magic-transit/reference/traffic-steering/", productName: "Magic Transit", tunnelEndpoints: "/magic-transit/how-to/configure-tunnels/", + routePrioritization: "/magic-transit/reference/traffic-steering/#route-prioritization", chooseWeights: "/magic-transit/reference/traffic-steering/#set-priority-and-weights-for-static-routes", publicAsnMT: "[Public ASNs used for Magic Transit](/magic-transit/how-to/advertise-prefixes/#cloudflare-asn-vs-your-own-asn) are verified during the onboarding process.", productGatewayOrEgress: "Magic Transit with Egress" diff --git a/src/content/docs/magic-transit/how-to/configure-routes.mdx b/src/content/docs/magic-transit/how-to/configure-routes.mdx index 10de2f4f0a73552..d8d7474eddc3092 100644 --- a/src/content/docs/magic-transit/how-to/configure-routes.mdx +++ b/src/content/docs/magic-transit/how-to/configure-routes.mdx @@ -18,6 +18,7 @@ import { Render } from "~/components" trafficSteeringPage: "/magic-transit/reference/traffic-steering/", productName: "Magic Transit", tunnelEndpoints: "/magic-transit/how-to/configure-tunnels/", + routePrioritization: "/magic-transit/reference/traffic-steering/#route-prioritization", chooseWeights: "/magic-transit/reference/traffic-steering/#set-priority-and-weights-for-static-routes", publicAsnMT: "[Public ASNs used for Magic Transit](/magic-transit/how-to/advertise-prefixes/#cloudflare-asn-vs-your-own-asn) are verified during the onboarding process.", productGatewayOrEgress: "Magic Transit with Egress" diff --git a/src/content/docs/magic-wan/configuration/manually/how-to/configure-routes.mdx b/src/content/docs/magic-wan/configuration/manually/how-to/configure-routes.mdx index 7842e8fa9a0e578..75db9208a516cd9 100644 --- a/src/content/docs/magic-wan/configuration/manually/how-to/configure-routes.mdx +++ b/src/content/docs/magic-wan/configuration/manually/how-to/configure-routes.mdx @@ -18,6 +18,7 @@ import { Render } from "~/components" trafficSteeringPage: "/magic-wan/reference/traffic-steering/", productName: "Magic WAN", tunnelEndpoints: "/magic-wan/configuration/manually/how-to/configure-tunnels/", + routePrioritization: "/magic-wan/reference/traffic-steering/#route-prioritization", chooseWeights: "/magic-wan/reference/traffic-steering/#set-priority-and-weights-for-static-routes", publicAsnMT: " ", productGatewayOrEgress: "Magic WAN with Gateway" diff --git a/src/content/partials/networking-services/reference/longest-prefix-match.mdx b/src/content/partials/networking-services/reference/longest-prefix-match.mdx new file mode 100644 index 000000000000000..91bc392ac88f205 --- /dev/null +++ b/src/content/partials/networking-services/reference/longest-prefix-match.mdx @@ -0,0 +1,5 @@ +--- +{} +--- + +Cloudflare routing applies longest-prefix match. A more specific static route (like `/30`) will always be preferred over a less specific one (like `/29`), regardless of tunnel priority — unless the more specific route is removed. \ No newline at end of file diff --git a/src/content/partials/networking-services/reference/traffic-steering.mdx b/src/content/partials/networking-services/reference/traffic-steering.mdx index 429ce5d4cdf5492..98a678f366a8b4f 100644 --- a/src/content/partials/networking-services/reference/traffic-steering.mdx +++ b/src/content/partials/networking-services/reference/traffic-steering.mdx @@ -10,7 +10,7 @@ params: - tunnelHCsPage --- -import { AnchorHeading, Aside, Markdown } from "~/components"; +import { AnchorHeading, Aside, Markdown, Render } from "~/components"; ## Magic routing table @@ -60,6 +60,7 @@ Magic {props.productName} is steered along tunnel routes based on priorities of - Lower values have greater priority. - When the priority values for prefix entries match, Cloudflare uses [equal-cost multi-path (ECMP)](#equal-cost-multi-path-routing) packet forwarding to route traffic. An optional weight value can be applied to static routes to [modify ECMP tunnel distribution](#set-priority-and-weights-for-static-routes). +- - When BGP and static routes have the same prefix and priority, Cloudflare enforces priority by preferring static routes over BGP routes. This ensures that manually configured static routes take precedence unless explicitly deprioritized. ### Set priority and weights for static routes diff --git a/src/content/partials/networking-services/routing/configure-routes.mdx b/src/content/partials/networking-services/routing/configure-routes.mdx index da106eeac0135fa..5ee59d0a37cf3fa 100644 --- a/src/content/partials/networking-services/routing/configure-routes.mdx +++ b/src/content/partials/networking-services/routing/configure-routes.mdx @@ -5,6 +5,7 @@ params: - trafficSteeringPage - productName - tunnelEndpoints + - routePrioritization - chooseWeights - productGatewayOrEgress --- @@ -31,6 +32,9 @@ Refer to Traffic Steering for more infor 5. In **Prefix**, enter your range of IP addresses. For example, `10.10.10.100/24`. 6. In **Tunnel/Next hop** select which tunnel you want your route to go through. Choose from the tunnels you have created in Configure tunnel endpoints. 7. Choose the **Priority** for your route. Lower numbers have higher priorities. + :::note + Have this in mind when configuring priorities for your routes. Refer to Route prioritization for more information. + ::: 8. (Optional) Choose a **Weight** for your route. Refer to Set priority and weights for static routes for examples. 9. (Optional) If you need to scope your route to a specific region, you can do it in **Region code**. 10. (Optional) We highly recommend testing your route before adding it by selecting **Test routes**.