-
Notifications
You must be signed in to change notification settings - Fork 580
[orchagent/dash]: Changes to support gNMI feedback for DASH objects #3490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[orchagent/dash]: Changes to support gNMI feedback for DASH objects #3490
Conversation
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Pull request contains merge conflicts. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
/azpw run |
/AzurePipelines run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
d132974
to
f3929ef
Compare
/azp run |
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
/azpw run Azure.sonic-swss |
/AzurePipelines run Azure.sonic-swss |
Azure Pipelines successfully started running 1 pipeline(s). |
f3929ef
to
0caa6a4
Compare
/azp run |
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
/azpw run Azure.sonic-swss |
/AzurePipelines run Azure.sonic-swss |
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: Prabhat Aravind <[email protected]>
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
orchagent/dash/dashtunnelorch.cpp
Outdated
it_prev++; | ||
} | ||
writeResultToDB(dash_tunnel_result_table_, tunnel_name, result); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should only be writing the result here if the tunnel only has one endpoint, if it has multiple then we need to wait until after addTunnelMembersPost
orchagent/dash/dashtunnelorch.cpp
Outdated
@@ -172,14 +187,17 @@ void DashTunnelOrch::doTask(ConsumerBase &consumer) | |||
} | |||
else | |||
{ | |||
result = DASH_RESULT_FAILURE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keeping the tunnel in the consumer here indicates a success, we need to keep it in the consumer to allow for post-bulk ops in addTunnelMembersPost
. I think a simple bool
is not able to accurately represent all possible results here which I need to fix it a future PR, but I think at this point we should only consider the task a failure if addTunnelPost
signals to remove from the consumer AND there is more than one tunnel endpoint.
Signed-off-by: Prabhat Aravind <[email protected]>
Signed-off-by: Prabhat Aravind <[email protected]>
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: Prabhat Aravind <[email protected]>
9ae3549
to
546b6cf
Compare
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@@ -1250,3 +1202,68 @@ bool FabricOrchDaemon::init() | |||
|
|||
return true; | |||
} | |||
|
|||
DpuOrchDaemon::DpuOrchDaemon(DBConnector *applDb, DBConnector *configDb, DBConnector *stateDb, DBConnector *chassisAppDb, DBConnector *dpuAppDb, DBConnector *dpuAppstateDb, ZmqServer *zmqServer) : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we are using DpuOrchDaemon
for Orchs running on DPU? This is discussed and determined? If so, I will adapt my PR to this, but just wanted to confirm.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I felt it is better to do it this way given that we have additional dpu specific databases to deal with which are unnecessary for other orchs.
This PR makes the following changes:
Write result of SAI API call to APP_STATE_DB for DASH objects as per https://github.com/sonic-net/SONiC/pull/1759
Instantiate DpuOrchDaemon for smartswitch DPUs.
Related PRs
What I did
Changes to support gNMI feedback path for DASH objects on SmartSwitch DPUs
Why I did it
To enable propagation of SAI API call results back to the controller via DPU_APPL_STATE_DB
How I verified it
By verifying that the results of SAI API calls are written to DPU_APPL_STATE_DB during a SET operation and removed during a DEL operation
Details if related
169.254.200.254:6382> select 0
OK
169.254.200.254:6382> keys *
169.254.200.254:6382> select 16
OK
169.254.200.254:6382[16]> keys *
169.254.200.254:6382[16]> hgetall "DASH_VNET_TABLE|Vnet1"
169.254.200.254:6382[16]> hgetall "DASH_ROUTE_GROUP_TABLE|RouteGroup1"