-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Introduce a SONiC-specific communication channel between FRR and SONiC #18715
Introduce a SONiC-specific communication channel between FRR and SONiC #18715
Conversation
@StormLiangMS,@liushilongbuaa PR: #18715 is conflict with MS internal repo |
/azpw ms_conflict |
dc29b17
to
f098a94
Compare
f098a94
to
4fff266
Compare
/azpw ms_conflict |
4fff266
to
318ee37
Compare
@@ -164,7 +164,7 @@ environment=ASAN_OPTIONS="log_path=/var/log/asan/teammgrd-asan.log{{ asan_extra_ | |||
{% endif %} | |||
|
|||
[program:zebra] | |||
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_nl --asic-offload=notify_on_offload | |||
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic --asic-offload=notify_on_offload |
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.
it is better if we do not change it by default, it is better to first introduce this as option and then wait till it becomes stable.
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.
Hi @lguohan
Many thanks for the review.
I added a compile-time option ENABLE_DPLANE_FPM_SONIC
.
When this option is set, SONiC uses the new FPM module.
When this option is not set, SONiC uses the old FPM module and behaves exactly as it does today.
By default, this option is not set.
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.
i am fine that we build them into image by default, but do not enable it by default. if you can do it at runtime, it will be easier for you, and i am fine with that.
does this dplane_fpm_sonic support all features as dplane_fpm_nl?
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.
Yes, the dplane_fpm_sonic
supports all features as dplane_fpm_nl
. It is a copy of the old dplane_fpm_nl
.
Indeed, it is easier to compile this by default and keep the old dplane_fpm_nl
running by default.
I reverted the compile option and changed the supervisord config file to keep dplane_fpm_nl
as default.
318ee37
to
8575a45
Compare
ce8dd1f
to
4831515
Compare
@cscarpitta , have we sync with frr community to see if we can add this plugin into frr repo and get maintainer there? I think this can be facilitated by the routing group? @kperumalbfn , and @eddieruan-alibaba ? if we cannot get into frr repo, for this plugin, can we maintain as a patch format to fpm_nl? so that we can still keep track of upstream changes. What if there is some new changes to dplane_fpm_nl and we need those changes into dplane_fpm_sonic? |
Discussed this with Donald Sharp in Routing WG. The conclusion was that Donald didn't want to take it into FRR community since it is SONiC specific. This proposal was proposed via Mark Stepp from Cisco who worked in FRR fpm before and supported by Donald who owns FRR. The discussion meeting minutes could be found in https://lists.sonicfoundation.dev/g/sonic-wg-routing/wiki/36598. The basic idea is to let SONiC team own sonic fpm. The zebra/fpm apis have already been changed with versioning by Mark S. Since we own sonic fpm, I feel it is simple to keep dplane_fpm_sonic.c as a file instead of as a diff. |
@lguohan As Eddie mentioned, the option of adding the new changes as a patch was discussed in the Routing WG. However there were some concerns on this approach and the consensus was that this will be maintained as a separate module under the Regarding the second point, in case of new features or bug fixes or improvements of |
For the platform which wants to use dplane_fpm_sonic.so, how does this .so get picked up? Do you want to add a README file for that? |
d79ee30
to
2590bc9
Compare
Hi @eddieruan-alibaba Many thanks for the review. I added a README file to explain how to enable the |
/azpw ms_conflict |
@liushilongbuaa @StormLiangMS Can you please help fix the ms_conflict? |
The HLD for this feature has been merged: sonic-net/SONiC#1620 We addressed all comments on this PR. Can you please take a look again and help merge? |
/azpw ms_conflict -f |
Thanks Carmine. The readme explains the changes needed. As part of Phoenix wing project, we could change the .j2 based on the supported platform type. |
@lguohan currently, he just commit the changes needed as infra. It would not be enabled on the current platforms. As part of phoenix wing project, we could enable them on the platforms verified in that project. |
@cscarpitta I don't understand what does DPLAINE_OP_STARTUP_STAGE mean and it seems that there is no definition about this flag. Thanks. |
This PR's changes are cherry picked to Phoenixwing Repro and get validated. |
1861641
to
8cac5df
Compare
@cscarpitta could you check the buildimage failures and VS test failurs? |
Signed-off-by: Carmine Scarpitta <[email protected]>
8cac5df
to
293af24
Compare
/azpw ms_conflict -f |
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. Will merge after resolving the conflict.
@liushilongbuaa Could you check the conflict and trigger ms_conflict check |
/azpw ms_checker |
/azpw ms_conflict |
@kperumalbfn could you please check again? the PR passed all tests. Thanks! |
…nic-net#18715) [FRR FPM] Introduce new FRR-SONiC communication channel (FPM SONiC module). Signed-off-by: Carmine Scarpitta <[email protected]>
…nic-net#18715) [FRR FPM] Introduce new FRR-SONiC communication channel (FPM SONiC module). Signed-off-by: Carmine Scarpitta <[email protected]>
This PR fixes the SRv6 SID uninstall introduced in this PR: #18715 This fix has been already merged in the FRR mainline: FRRouting/frr#16835 Signed-off-by: Carmine Scarpitta <[email protected]>
Hi, is it possible to know that which of dplane_fpm_sonic or dplane_fpm_nl is running in the system loaded with sonic image ? |
root@sonic:/# ps -aux | grep zebra |
@sudhanshukumar22 dplane_fpm_sonic is running in the system. |
This PR fixes the SRv6 SID uninstall introduced in this PR: sonic-net#18715 This fix has been already merged in the FRR mainline: FRRouting/frr#16835 Signed-off-by: Carmine Scarpitta <[email protected]>
…nic-net#18715) [FRR FPM] Introduce new FRR-SONiC communication channel (FPM SONiC module). Signed-off-by: Carmine Scarpitta <[email protected]>
This PR fixes the SRv6 SID uninstall introduced in this PR: sonic-net#18715 This fix has been already merged in the FRR mainline: FRRouting/frr#16835 Signed-off-by: Carmine Scarpitta <[email protected]>
Why I did it
Introduce a SONiC-specific communication channel between FRR and SONiC.
HLD: sonic-net/SONiC#1620
How I did it
Introduce a SONiC-specific communication channel between FRR and SONiC (FPM SONiC module).
How to verify it
By switching to the new FPM SONiC module, all existing test cases for all features are successfully passed.
Description for the changelog