Skip to content

Upgrade SAI API version from 1.9.0 to 1.12.0#19

Open
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1762442118-upgrade-sai-version-1-12-0
Open

Upgrade SAI API version from 1.9.0 to 1.12.0#19
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1762442118-upgrade-sai-version-1-12-0

Conversation

@devin-ai-integration
Copy link
Copy Markdown

Upgrade SAI API version from 1.9.0 to 1.12.0

Summary

This PR upgrades the minimum required SAI (Switch Abstraction Interface) API version from 1.9.0 to 1.12.0 across the codebase. The upgrade implements the recommendation documented in configure.ac (lines 250-263) to use SAI v1.12.0 for full struct binary backward compatibility, particularly for next hop group API and ACL capability data structures.

Changes made:

  • Updated compile-time version check in configure.ac (line 264)
  • Updated runtime version check in syncd/VendorSai.cpp (line 135)
  • Updated SAI submodule to v1.12.0 (commit 3ff228a7)

Review & Testing Checklist for Human

⚠️ Important: This is a breaking change for systems/vendors that don't support SAI v1.12.0 or higher.

  • Verify SAI submodule commit: Confirm that commit 3ff228a7 corresponds to the v1.12.0 tag in the SAI repository
  • Check CI passes: Ensure all build, lint, and test steps complete successfully, especially SAI-related checks
  • Production impact assessment: Verify that all target vendor libraries and production systems support SAI v1.12.0 or can be upgraded before deploying this change
  • Test version enforcement: If possible, test that the runtime check in VendorSai::apiInitialize() correctly rejects libraries below v1.12.0

Test Plan

  1. Verify the code compiles with SAI v1.12.0 headers
  2. Test that syncd initializes successfully with v1.12.0 vendor libraries
  3. Test that syncd correctly rejects vendor libraries with version < 1.12.0
  4. Run existing integration tests to ensure no regression

Notes

  • This change aligns with the existing codebase recommendation in configure.ac comments
  • The upgrade provides full struct binary backward compatibility per SAI PR #1795
  • Local build testing was not performed due to pre-existing environment issues (sonic-swss-common library dependencies), relying on CI for verification

Devin Session: https://app.devin.ai/sessions/0979f12bbd0b4b77bb43d95518d9873b
Requested by: Arthur Poon (@arthurkkp-cog)

- Update minimum SAI version in configure.ac compile-time check
- Update minimum SAI version in syncd/VendorSai.cpp runtime check
- Update SAI submodule to v1.12.0 for full struct binary backward compatibility

This change implements the recommendation in configure.ac comments to upgrade
to SAI v1.12.0 for better binary compatibility, particularly for next hop
group API and ACL capability data structures.

Co-Authored-By: Arthur Poon <arthur.poon@windsurf.com>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Nov 6, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants