You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From: Olivier Dugeon [email protected]
Sent: Saturday, May 7, 2022 2:45 AM
To: sonicproject [email protected]
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
The text was updated successfully, but these errors were encountered:
From: Olivier Dugeon [email protected]
Sent: Saturday, May 7, 2022 2:45 AM
To: sonicproject [email protected]
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
The text was updated successfully, but these errors were encountered: