Skip to content

[SRv6] Add support for SRv6 VPN#3293

Merged
prsunny merged 32 commits intosonic-net:masterfrom
wenwang00:project-phoenixwing-srv6-vpn
Jan 30, 2025
Merged

[SRv6] Add support for SRv6 VPN#3293
prsunny merged 32 commits intosonic-net:masterfrom
wenwang00:project-phoenixwing-srv6-vpn

Conversation

@shuaishang
Copy link
Contributor

What I did
[HLD] SRv6 VPN HLD

Why I did it
This PR is to support SRv6 VPN functions

How I verified it

  1. sonic-mgmt phoenix wing ptf test plan
  2. orchagent UT (tests/test_srv6.py) in this PR

Details if related
Depends on sonic-swss-common#919

@shuaishang shuaishang requested a review from prsunny as a code owner September 20, 2024 03:56
@StormLiangMS
Copy link
Contributor

/azp run Azure.sonic-swss

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@shuaishang shuaishang force-pushed the project-phoenixwing-srv6-vpn branch from 87f3488 to f24fa65 Compare November 1, 2024 11:37
@shuaishang shuaishang force-pushed the project-phoenixwing-srv6-vpn branch from f24fa65 to 80b439d Compare November 4, 2024 01:28
@yuezhoujk
Copy link

/azp run Azure.sonic-swss

@azure-pipelines
Copy link

Commenter does not have sufficient privileges for PR 3293 in repo sonic-net/sonic-swss

@yuezhoujk
Copy link

/azp run Azure.sonic-swss

@azure-pipelines
Copy link

Commenter does not have sufficient privileges for PR 3293 in repo sonic-net/sonic-swss

@shuaishang shuaishang force-pushed the project-phoenixwing-srv6-vpn branch from afc1311 to 290102b Compare November 6, 2024 06:14
@prsunny
Copy link
Collaborator

prsunny commented Nov 7, 2024

How is this related to #3123? Is there any dependency which one to go first?

@prsunny prsunny requested a review from kperumalbfn November 7, 2024 00:14
@shuaishang
Copy link
Contributor Author

How is this related to #3123? Is there any dependency which one to go first?

No dependency with #3123.

@eddieruan-alibaba
Copy link
Contributor

@prsunny @kperumalbfn @lguohan

Can you help to review and close this PR?

@shuaishang shuaishang force-pushed the project-phoenixwing-srv6-vpn branch from 15400fb to 1d02012 Compare November 19, 2024 12:15
@kperumalbfn
Copy link
Contributor

@shuaishang could you rebase with the latest master branch and check all VS test failures.

}
else
{
srv6_nh = k.is_srv6_nexthop();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we include VPN SID for the mismatch? I believe there shouldn't be any mix of NHs.

Copy link
Contributor Author

@shuaishang shuaishang Nov 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no "vpn_sid" field in "APP_NEXTHOP_GROUP_TABLE_NAME" for nhgorch.
So don't need to check mismatch for VPN SID.

@shuaishang shuaishang force-pushed the project-phoenixwing-srv6-vpn branch 4 times, most recently from 8c5b903 to 61fdcef Compare November 20, 2024 07:06
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kperumalbfn
Copy link
Contributor

@abdosi please review and approve.

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

// Previous added an temporary route
auto& tmp_next_hop = ctx.tmp_next_hop;
addRoutePost(ctx, tmp_next_hop);
if (tmp_next_hop.getSize() > 0) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this change related to SRv6? any issues with regular flow?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it is to avoid the situation that addRoutePost() is invoked twice while addRoute() is called only once. For example, addTempRoute() called by addRoute() returns false before invoking addRoute() again, so the size of ctx.tmp_next_hop is zero, which is constructed by default. Without the condition if (tmp_next_hop.getSize() > 0), another addRoutePost() function call will be made, even though the addRoute() is called just once.

@prsunny prsunny merged commit 4b8cad4 into sonic-net:master Jan 30, 2025
14 checks passed
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-swss.msft#37

Janetxxx pushed a commit to Janetxxx/sonic-swss that referenced this pull request Nov 10, 2025
* [SRv6] Add support for SRv6 VPN (sonic-net#3293)

What I did
Implementation according to [HLD] SRv6 VPN HLD

Why I did it
This PR is to support SRv6 VPN functions

How I verified it

sonic-mgmt phoenix wing ptf test plan
orchagent UT (tests/test_srv6.py) in this PR
baorliu pushed a commit to baorliu/sonic-swss that referenced this pull request Feb 23, 2026
* [SRv6] Add support for SRv6 VPN (sonic-net#3293)

What I did
Implementation according to [HLD] SRv6 VPN HLD

Why I did it
This PR is to support SRv6 VPN functions

How I verified it

sonic-mgmt phoenix wing ptf test plan
orchagent UT (tests/test_srv6.py) in this PR

Signed-off-by: Baorong Liu <96146196+baorliu@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.