-
Notifications
You must be signed in to change notification settings - Fork 563
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
[smartswitch] Add support for ENI Based Forwarding #3398
Conversation
Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
/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 |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@prsunny kindly reminder to review it to avoid additional conflicts |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @prsunny, Any ETA to finish review on this PR? |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Overall lgtm. Can you please put some example of DB entries for reference? like ENI_FWD_TABLE
orchagent/aclorch.cpp
Outdated
@@ -619,6 +623,7 @@ bool AclTableRangeMatch::validateAclRuleMatch(const AclRule& rule) const | |||
return true; | |||
} | |||
|
|||
|
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.
please remove these extra lines (formatting changes)
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.
Updated
orchagent/dash/dashenifwdorch.h
Outdated
|
||
// TODO: Update in sonic-swss-common schema.h | ||
#define CFG_DPU_TABLE "DPU_TABLE" | ||
#define APP_DASH_ENI_FORWARD_TABLE "DASH_ENI_FORWARD_TABLE" |
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.
Can we move these to swss common since a later change may break the code.
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.
Removed, Will raise a swss-common PR
return update_type; | ||
} | ||
|
||
void EniAclRule::fire(EniInfo& eni) |
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.
Please add a description of this function and what steps are executed.
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.
Updated
} | ||
} | ||
|
||
void DashEniFwdOrch::handleNeighUpdate(const NeighborUpdate& update) |
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.
Please add a description. Also is it only for new neighbor add or do you also handle delete neighbor?
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.
Updated, only neigh update is supported as of now
bool EniInfo::update(const NeighborUpdate& nbr_update)
{
if (nbr_update.add)
{
fireAllRules();
}
else
{
/*
Neighbor Delete handling not supported yet
When this update comes, ACL rule must be deleted first, followed by the NEIGH object
*/
}
return true;
}
Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@prsunny kindly reminder to approve it |
Hi Liat, we need to get swss-common to approve/merge before this PR |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @prsunny, Here is the dependent PR: sonic-net/sonic-swss-common#976 |
@vivekrnv , swss-common PR is merged. would you update this PR? |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
lgtm
What I did
HLD: sonic-net/SONiC#1842
Requires sonic-net/sonic-swss-common#976
Add DashEniFwdOrch which installs ACL rules to Redirect the DASH packet to corresponding DPU
Why I did it
How I verified it
Result:
Details if related