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

IS-IS & Segment Routing test report 2022-0507 #276

Open
jian-hong-wu opened this issue May 7, 2022 · 0 comments
Open

IS-IS & Segment Routing test report 2022-0507 #276

jian-hong-wu opened this issue May 7, 2022 · 0 comments
Labels
documentation Improvements or additions to documentation sonicproject

Comments

@jian-hong-wu
Copy link
Owner

From: Olivier Dugeon olivier.dugeon@gmail.com
Sent: Saturday, May 7, 2022 2:45 AM
To: sonicproject sonicproject@googlegroups.com
Subject: [SONiC] IS-IS & Segment Routing test report

Dear all,

I progress in setting up Segment Routing under SONIC. I'm using latest master image on a Wedge-32bf which comes with Barefoot SDK version 9.9 (with IS-IS trap support and MPLS profile for tofino1). I activated IS-IS with Segment Routing configuration and connected our Wedge-32bf to a Juniper MX and Cisco ASR routers. IS-IS collects correctly Segment Routing information and send its prefix-SID. Juniper and Cisco routers setup MPLS table accordingly and Sonic box too. I could verify with 'ip route' and 'ip -M route' that prefix-SID are correctly configured. I could ping a neighbor router and verify with tcpdump that packets are correctly labeled.

But I got a last problem. Ping the Loopback of the Sonic box from a neighbor router doesn't work and I can't capture any packet with tcpdump.

Thus, I check the configuration on the tofino (with bfshell; bf_switchd; show mpls all) and discover that the MPLS table is empty. I check the log and didn't find any errors, but no trace of MPLS label configuration.

After investigating, it seems that MPLS labels and IP prefix with MPLS encapsulation i.e. prefix-SID are not propagated from FRR to fpmsyncd.

I browse both fpmsyncd and FRR fpm code and it seems that the problem is on FRR side. Indeed, I launch both zebra and fpmsyncd with debug log, and only IP route (AF_INET or AF_INET6) are sent by FRR to fpmsyncd through fpm. Fpmsyncd wait for AF_MPLS message, but not one is coming. It is also not clear if IP prefix sent by FRR contains the prefix SID (i.e. MPLS label) or not.

As MPLS is now supported in SONiC, how it is expected to work ? How MPLS labels are expected to be configured in the data plane (i.e. on the ASIC) through SAI ? Is there a special command ? Is fpmsyncd ready, but a patch is needed on FRR side ? Note, that I also upgrade to FRR 8.2.2 (following this PR sonic-net/sonic-buildimage#10691) and the result is similar.

Thanks for your help.

Regards

Olivier

@jian-hong-wu jian-hong-wu added documentation Improvements or additions to documentation sonicproject labels May 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation sonicproject
Projects
None yet
Development

No branches or pull requests

1 participant