-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[FRR] Switch to dplane_fpm_nl plugin instead of fpm #12852
Conversation
As part of these changes: - Switch to dplane_fpm_nl zebra plugin from old fpm plugin which is not supported anymore - Remove stale patches for old fpm plugin and add similar patches for dplane_fpm_nl - FRR patch backport from 8.4 to add support for fpm dataplane feedback - Templates are updated to read new feature configuration and configure FRR accordingly - YANG models updates to reflect new configuration Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
/azpw run |
/AzurePipelines run |
You have several pipelines (over 10) configured to build pull requests in this repository. Specify which pipelines you would like to run by using /azp run [pipelines] command. You can specify multiple pipelines using a comma separated list. |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
why build failed? |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
/azpw run Azure.sonic-buildimage |
/AzurePipelines run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
@dgsudharsan could you please also help to review the FRR changes? |
1 similar comment
@dgsudharsan could you please also help to review the FRR changes? |
@@ -6,6 +6,13 @@ | |||
! | |||
{% endblock banner %} | |||
! | |||
{% block fpm %} | |||
! Uses the old known FPM behavior of including next hop information in the route (e.g. RTM_NEWROUTE) messages |
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.
What is the behavior if the user has split mode and performs an upgrade?
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.
fpmsyncd will get RTN_NEWROUTE without next hops and routes won't be programmed. User needs to update his own configs
@stepanblyschak Can you please mention the commit ids for the patch updates? |
@dgsudharsan This commit FRRouting/frr@551fa8c comes from FRR upstream. Other patches are not in FRR upstream and were updated to work on top of new plugin |
…unified modes Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
@dgsudharsan Could you please check the last commit? |
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
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.
approved with a question
FILE_NAME=${1} | ||
|
||
grep -q '^no fpm use-next-hop-groups' $FILE_NAME || { | ||
sed -i '1i no fpm use-next-hop-groups\nfpm address 127.0.0.1' $FILE_NAME |
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.
why adding this?
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.
Please refer to the comment by @dgsudharsan #12852 (comment).
SONiC supports split mode FRR configuration. That is, user provides own zebra.conf, bgp.conf, etc. in /etc/sonic/frr folder, instead of generated from templates by SONiC.
In case user upgrades from older version to image with these changes he will not have mandatory configuration in his zebra.conf copied from the old image. I added this line to insert this configuration in case user does not have it.
Signed-off-by: Stepan Blyschak stepanb@nvidia.com DEPENDS: #12852 Why I did it To support BGP pending FIB suppression. How I did it I backported patches from FRR 8.4 feature that allows communicating ASIC route status back to FRR. Also, added a new field in DEVICE_METADATA YANG model table. Added UT for YANG model changes. How to verify it Run on the switch.
… image to debian bullseye This fixes an issue zebra config missing in docker-sonic-vpp because of the below fix in the mainline sonic-net/sonic-buildimage#12852 Unit tested static routes update, vrf routes etc. Signed-off-by: Shashidhar Patil <shashidhar.patil@gmail.com>
Why I did it
dplane_fpm_nl
is a new FPM implementation in FRR. The old pluginfpm
will not have any new features implemented. Usage of the new plugin gives us ability to use BGP suppression feature and next hop groups in the future.How I did it
How to verify it
Build and run on the switch.
Which release branch to backport (provide reason below if selected)
Description for the changelog
Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)