Skip to content

Conversation

@yue-fred-gao
Copy link
Collaborator

why

currently, sonic-dash-ha adds sonic-dash-api as submodule to compile protos into rust structs. At the same time, both are submodules in sonic-buildimage. This creates unnecessary dependency and complexity. The solution is moving sonic-dash-api-proto crate into sonic-dash-api. sonic-dash-ha adds sonic-dash-api-proto as a dependent crate. At build time, it pulls the crate through git and the latter compiles protos on demand. This is similar to swss-common crate to sonic-dash-ha.
However, sonic-dash-api-proto depends on sonicdb-derive and sonic-common crates in sonic-dash-ha. To break the inter-dependency, we need to move sonicdb-derive and SonicDBTable in sonic-common, which is added to a new crate called sonicdb to another place. swss-common is the most natural location because it is a derive macro for SONiC db and it potentially can be used by other components in sonic.

what this PR does

  • remove sonic-dash-api submodule
  • remove sonic-dash-api-proto crate
  • remove sonicdb-derive crate (moved to swss-common)
  • remove SonicDbTable (moved to swss-common)
  • change dependent crates in each crates to use workspace dependency to avoid mismatched version

dependency

This PR has dependency on sonic-net/sonic-dash-api#45 and sonic-net/sonic-swss-common#1077. It should be merged after them.

 - remove sonic-dash-api-proto crate
 - remove sonicdb-derive crate (moved to swss-common)
 - remove SonicDbTable (moved to swss-common)
 - change dependent crates in each crates to use workspace dependency to avoid mismatched version
@mssonicbld
Copy link

/azp run

@yue-fred-gao yue-fred-gao marked this pull request as draft September 10, 2025 17:39
@mssonicbld
Copy link

/azp run

@KrisNey-MSFT
Copy link

Same here @yue-fred-gao - is this one still a Draft? TY!

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.

3 participants