sonic-net / DASH

Disaggregated APIs for SONiC Hosts
Apache License 2.0
78 stars 88 forks source link

[Dash-Sonic] Introduce route group, pa validation tables #520

Closed prsunny closed 4 months ago

prsunny commented 5 months ago
  1. Add Route group table for grouping routes and binding to an ENI
  2. Introduce PA validation table for special validation for certain scenarios
KrisNey-MSFT commented 5 months ago

Currently the route table is modified w/routes belonging to an ENI (per ENI). Controller calls each route update w/ENI key. Group table & binding allows for atomic binding for an ENI (instead of updating 1 by 1) (Not a subset of ENI routes). Cx update their routes in the route table, and expect all or nothing to work. Adding 1 by 1 we can end up in a non-complete/inconsistent goal state.

What if libsai has no resources to support an atomic update?
The controller will need to wait to determine whether this is a successful operation or not. If unsuccessful, old route table will persist.

KrisNey-MSFT commented 4 months ago

Are all comments resolved? IF Y, I can merge :)

KrisNey-MSFT commented 4 months ago

hi @r12f , @kperumalbfn , and @pranjal-git - would you mind reviewing for Prince please? TY...