Skip to main content

SONiC Details SAI Next-Hop Group Failure When Adding a Third Spine

3 companies named across 3 categories, one of 300 articles referencing Sonic. Previous coverage: SONiC and deep observability for e-commerce networks (May 2026).

Companies mentioned

Best suited for

Seniority
Architect
Job function
Application Management / Integration / Middleware
Persona
Platform / Infrastructure Engineer
Buyer role
Technical Implementer / Administrator
Decision stage
Post Buy
Adoption curve
Early Majority
Technology maturity
Operational Expansion
Industry
Information Technology / Software & Services / IT Services / Internet Services & Infrastructure

Our classification, not the publisher's statement. Best suited for, not only for.

In SONiC lab validation, ECMP forwarding worked with two spines but stopped functioning after a third spine was added, coinciding with a failure to replace next-hop groups through the SAI layer. The case matters because enterprise fabrics rely on predictable scale-up behavior for BGP EVPN forwarding.

Research Overview

The report describes a debugging effort focused on why Equal-Cost Multi-Path routing broke after expanding a data center fabric from two to three spines. It attributes the fault to how the Switch Abstraction Interface handles next-hop group replacement during ECMP scale-up.

The environment used a SONiC-based fabric where IPv4 routes were advertised from spines to leafs via BGP EVPN. The symptoms included forwarding inconsistency and crashes during the topology change.

Key Findings

The blog states that ECMP routing based on next-hop groups functioned correctly in a two-spine setup. When the topology added a third spine, SONiC attempted to replace the existing next-hop group with a new group containing three next hops.

According to the described logs, the orchestration component attempted to remove the old next-hop group and create the updated group, but the group-creation step failed at the SAI layer. The reported failure included a SAI remove status of SAI_STATUS_OBJECT_IN_USE and a status tied to SAI_API_NEXT_HOP_GROUP.

Technical Breakdown

The blog explains that in SONiC, ECMP is implemented through next-hop groups, where each group represents the set of equal-cost forwarding paths. During topology changes, SONiC updates these groups so that the ECMP set reflects the new set of available paths.

During the two-to-three spine transition, the operational sequence included deleting the existing two-path group and programming a replacement group with an additional member. The blog attributes the breakdown to a platform-specific SAI implementation issue affecting allocation and programming of the new group entry.

Operational Impact

In the described lab, the control-plane debugging did not resolve the issue, so the investigation moved to dataplane programming and switch-side logs from swss and syncd. The failing condition occurred when the fabric added the third spine, creating the need to program a 3-path ECMP next-hop group.

The blog notes that the issue was observed only on a specific platform when operating in the spine role, while the same ECMP logic and test sequence worked in the smaller two-spine setup. It also states that the problem was rare and hard to reproduce because it surfaced only under a particular scale-up condition.

Conclusion

The blog’s overall takeaway is that ECMP next-hop group updates can fail at the SAI layer during transitional scale-up steps, producing group programming failures and orchestration crashes even when smaller topologies work. This Blog Signals brief is a fact-based summary of the vendor blog.

Blog post, originally published by Vishwas Tiwari at Aviz Networks.

Structured data (JSON-LD)

The schema.org markup this page publishes for search engines and AI agents, exactly as they read it.

[
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/#website",
    "@type": "WebSite",
    "name": "Decision Insights",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://decisioninsights.ai/search/?q={search_term_string}&submit=1"
      }
    },
    "publisher": {
      "@id": "https://decisioninsights.ai/#organization"
    },
    "url": "https://decisioninsights.ai"
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/#organization",
    "@type": "Organization",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "[email protected]"
    },
    "description": "Decision Insights is a Registry of technology companies, open source projects, and industry terms, built for people and for AI agents that need sourced, structured information.",
    "logo": {
      "@type": "ImageObject",
      "url": "https://wiretap-cdn-assets.nyc3.cdn.digitaloceanspaces.com/decision-insights/[email protected]"
    },
    "name": "Decision Insights",
    "parentOrganization": {
      "@type": "Organization",
      "name": "Wiretap Labs",
      "sameAs": [
        "https://www.linkedin.com/company/wiretap-labs",
        "https://www.crunchbase.com/organization/wiretap-labs"
      ],
      "url": "https://wiretaplabs.com"
    },
    "publishingPrinciples": "https://decisioninsights.ai/standards/",
    "sameAs": [
      "https://www.linkedin.com/company/decisioninsights"
    ],
    "url": "https://decisioninsights.ai"
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai",
        "name": "Decision Insights",
        "position": 1
      },
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai/records/",
        "name": "Records",
        "position": 2
      },
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai/sonic-details-sai-next-hop-group-failure-when-adding-a-third-spine/",
        "name": "SONiC Details SAI Next-Hop Group Failure When Adding a Third Spine",
        "position": 3
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/sonic-details-sai-next-hop-group-failure-when-adding-a-third-spine/#blogposting",
    "@type": "BlogPosting",
    "about": {
      "@id": "https://decisioninsights.ai/registry/sonicwall/#organization",
      "@type": "Organization",
      "mainEntityOfPage": "https://decisioninsights.ai/registry/sonicwall/",
      "name": "SonicWall"
    },
    "audience": [
      {
        "@type": "Audience",
        "additionalType": "Seniority",
        "audienceType": "Architect"
      },
      {
        "@type": "Audience",
        "additionalType": "Job function",
        "audienceType": "Application Management / Integration / Middleware"
      },
      {
        "@type": "Audience",
        "additionalType": "Persona",
        "audienceType": "Platform / Infrastructure Engineer"
      },
      {
        "@type": "Audience",
        "additionalType": "Buyer role",
        "audienceType": "Technical Implementer / Administrator"
      },
      {
        "@type": "Audience",
        "additionalType": "Adoption curve",
        "audienceType": "Early Majority"
      },
      {
        "@type": "Audience",
        "additionalType": "Technology maturity",
        "audienceType": "Operational Expansion"
      },
      {
        "@type": "Audience",
        "additionalType": "Industry",
        "audienceType": "Information Technology / Software & Services / IT Services / Internet Services & Infrastructure"
      }
    ],
    "author": {
      "@id": "https://decisioninsights.ai/author/decision-insights-coverage/#person",
      "@type": "Person",
      "name": "Decision Insights Coverage",
      "url": "https://decisioninsights.ai/author/decision-insights-coverage/"
    },
    "dateModified": "2026-08-23T13:41:32-06:00",
    "datePublished": "2026-05-13T23:55:22-06:00",
    "description": "ECMP in SONiC worked with two spines but failed after adding a third spine because SAI next-hop group replacement programming failed.",
    "headline": "SONiC Details SAI Next-Hop Group Failure When Adding a Third Spine",
    "isBasedOn": {
      "@type": "CreativeWork",
      "author": {
        "@type": "Person",
        "name": "Vishwas Tiwari"
      },
      "sourceOrganization": {
        "@id": "https://decisioninsights.ai/registry/aviz-networks/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/aviz-networks/",
        "name": "Aviz Networks"
      },
      "url": "https://aviznetworks.com/resources/blogs/why-does-adding-a-third-spine-break-ecmp-in-sonic-and-sai"
    },
    "keywords": [
      "Fabric",
      "Next Hop",
      "Orchestration"
    ],
    "mainEntityOfPage": {
      "@id": "https://decisioninsights.ai/sonic-details-sai-next-hop-group-failure-when-adding-a-third-spine/",
      "@type": "WebPage",
      "sdDatePublished": "2026-08-23",
      "sdPublisher": {
        "@id": "https://decisioninsights.ai/#organization"
      }
    },
    "mentions": [
      {
        "@id": "https://decisioninsights.ai/registry/next-powered-by-naec/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/next-powered-by-naec/",
        "name": "NEXT POWERED BY NAEC"
      },
      {
        "@id": "https://decisioninsights.ai/registry/sonic/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/sonic/",
        "name": "Sonic"
      },
      {
        "@id": "https://decisioninsights.ai/registry/sonicwall/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/sonicwall/",
        "name": "SonicWall"
      },
      {
        "@id": "https://decisioninsights.ai/projects/bgp-routing-protocol/#project",
        "@type": "SoftwareSourceCode",
        "mainEntityOfPage": "https://decisioninsights.ai/projects/bgp-routing-protocol/",
        "name": "Border Gateway Protocol (BGP)"
      },
      {
        "@id": "https://decisioninsights.ai/projects/sonic/#project",
        "@type": "SoftwareSourceCode",
        "mainEntityOfPage": "https://decisioninsights.ai/projects/sonic/",
        "name": "Software for Open Networking in the Cloud (SONiC)"
      }
    ],
    "publisher": {
      "@id": "https://decisioninsights.ai/#organization"
    }
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/author/decision-insights-coverage/#person",
    "@type": "Person",
    "description": "Blog posts, podcasts, and video analysis from across the industry, condensed into short, sourced summaries. Produced under our Standards & Methodology.",
    "name": "Decision Insights Coverage",
    "sameAs": [
      "https://www.linkedin.com/showcase/decisioninsights/"
    ],
    "url": "https://decisioninsights.ai/author/decision-insights-coverage/"
  }
]

Is this your company? Get structured data for your own pages