Skip to content
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

[fpmsyncd]: Add support for SRv6 #3123

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

cscarpitta
Copy link
Contributor

@cscarpitta cscarpitta commented Apr 24, 2024

HLD: sonic-net/SONiC#1620

What I did

Extended fpmsyncd to process Netlink TLVs containing SRv6 information (SRv6 local SIDs and routes).

Why I did it

fpmsyncd did not process Netlink TLVs containing SRv6 information (SRv6 local SIDs and routes).

How I verified it

Added new test cases in test_srv6.py.

@cscarpitta
Copy link
Contributor Author

/azpw run Azure.sonic-swss

@mssonicbld
Copy link
Collaborator

/AzurePipelines run Azure.sonic-swss

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@cscarpitta cscarpitta force-pushed the dplane_fpm_sonic branch 3 times, most recently from faf75e9 to 171fbfb Compare September 21, 2024 11:57
@eddieruan-alibaba
Copy link

@cscarpitta can you rebase it to fix the compile issue? sonic-net/sonic-buildimage#18715 is merged.

@eddieruan-alibaba
Copy link

This change has been cherry-picked into phoenix wing and used in daily run.

http://phoenixwing.com.cn/build

#define NH_ENCAP_SRV6_ROUTE 101

#define RTM_NEWSRV6LOCALSID 1000
#define RTM_DELSRV6LOCALSID 1001
Copy link
Contributor

Choose a reason for hiding this comment

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

These constants are defined in fpmlink.h, do we need it here? Pls remove if not needed.

@@ -81,6 +145,8 @@ RouteSync::RouteSync(RedisPipeline *pipeline) :
m_vnet_routeTable(pipeline, APP_VNET_RT_TABLE_NAME, true),
m_vnet_tunnelTable(pipeline, APP_VNET_RT_TUNNEL_TABLE_NAME, true),
m_warmStartHelper(pipeline, &m_routeTable, APP_ROUTE_TABLE_NAME, "bgp", "bgp"),
m_srv6LocalSidTable(pipeline, APP_SRV6_MY_SID_TABLE_NAME, true),
Copy link
Contributor

Choose a reason for hiding this comment

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

minor: could we change the table name to mysidTable. I think we changed most of the reference of localSid to MySid.


if (vpn_sid.empty())
{
return false;
Copy link
Contributor

Choose a reason for hiding this comment

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

Error logs for debugging?

@cscarpitta cscarpitta force-pushed the dplane_fpm_sonic branch 2 times, most recently from f53196b to a1671dc Compare October 6, 2024 13:05
* Extend fpmsyncd to process SRv6 routes and local SIDs received from FRR
* Add test cases to verify SRv6 functionality

Signed-off-by: Carmine Scarpitta <[email protected]>
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.

4 participants