Skip to content

Virtual Router Redundancy Protocol Adaptation HLD#1446

Merged
adyeung merged 28 commits intosonic-net:masterfrom
micas-net:master-vrrp-hld
Sep 9, 2024
Merged

Virtual Router Redundancy Protocol Adaptation HLD#1446
adyeung merged 28 commits intosonic-net:masterfrom
micas-net:master-vrrp-hld

Conversation

@micas-net
Copy link
Contributor

@micas-net micas-net commented Aug 17, 2023

Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
@nser77
Copy link

nser77 commented Aug 20, 2023

Hi all, adding the VRRP protocol implementation in SONiC would be a great improvement for me; really good job.

While reading the HLD, I left some comments (which for GitHub looks like a review); I hope those are not off-topics.

@micas-net
Copy link
Contributor Author

Hi all, adding the VRRP protocol implementation in SONiC would be a great improvement for me; really good job.

While reading the HLD, I left some comments (which for GitHub looks like a review); I hope those are not off-topics.

Thanks! The comments are helpful, wish for more reviewing comments.

Signed-off-by: philo <philo@micasnetworks.com>
Signed-off-by: philo <philo@micasnetworks.com>
@nser77
Copy link

nser77 commented Aug 21, 2023

@philo-micas, many thanks for your answers.

Just want you to know that I'm pointing to another scenario that we may need to add in the #restrictionslimitations section (or even fix it), maybe a possible security scenario.

Using your diagram doc/vrrp/images/VRRP_Tracking_Interface_Scenarios_Diagram.png as base, my concern is connected to the interface where vrrp_advs are sent, but let me investigate and elaborate it a bit more.

@prvattem
Copy link
Collaborator

@philo-micas There was a review request covering VRRP functionality earlier.
#475
Please see if it can be combined with your proposal.

@micas-net
Copy link
Contributor Author

micas-net commented Aug 22, 2023

@philo-micas There was a review request covering VRRP functionality earlier. #475 Please see if it can be combined with your proposal.

@prvattem From the aspect of RFC, two proposals have already combined, please check the CLI and Functionality session, but from up layer service, one is based on keepactived, the other is based on FRR, they can't be combined, the adaptation exit some difference.

@zhangyanzhao
Copy link
Collaborator

@zhangyanzhao
Copy link
Collaborator

BRCM register as a reviewer. @adyeung

Signed-off-by: philo <philo@micasnetworks.com>
(1) Updated the HLD to reflect VRRP, VRRP6, VRRP_TRACK and VRRP6_TRACK tables.
(2) Removed the vrrpmgrd from the APP_DB VRRP_TABLE's Producers
(3) Updated the Architecture Diagram according to (2).

Signed-off-by: philo <philo@micasnetworks.com>
@micas-net
Copy link
Contributor Author

@philo-micas can you please help to check the code PRs? Will Micas target 202405 release for this feature or move to future release? Thanks.

Code change will be ready soon, and will have a revivew at 3/28 Routing WG meeting. Keep target 202405. Thanks.

@micas-net micas-net changed the title [202311 Release] Virtual Router Redundancy Protocol Adaptation HLD [202311] Virtual Router Redundancy Protocol Adaptation HLD Mar 22, 2024
@micas-net micas-net changed the title [202311] Virtual Router Redundancy Protocol Adaptation HLD Virtual Router Redundancy Protocol Adaptation HLD Mar 25, 2024
@adyeung adyeung mentioned this pull request Apr 11, 2024
Signed-off-by: philo <philo@micasnetworks.com>
@adyeung
Copy link
Collaborator

adyeung commented May 1, 2024

@prvattem @nser77 @madhupalu @vvbrcm @lguohan @venkatmahalingam pls help review the latest change, signoff if you agree with the design, we are tracking this for 202405. The HLD has also been presented and reviewed in the Routing WG on 4/11/24, recording link https://lists.sonicfoundation.dev/g/sonic-wg-routing/wiki/36530

Signed-off-by: philo <philo@micasnetworks.com>
@nser77
Copy link

nser77 commented May 9, 2024

Hi all, many thanks for that and for your work.

I just have one major concern regarding the actual and the future architecture: why is vrrpmgr adding and deleting VIPs into VMAC interfaces? This is not done by FRR/vrrpd? I don't know if the code is valid or ever triggered, but I don't see any reason to manage that part from the vrrpmgr and to put that code there.

Apart of that, and as also other users suggested, I also believe that warm reboot can be covered by this HLD.

Many thanks and regards.

@micas-net
Copy link
Contributor Author

micas-net commented May 14, 2024

Hi all, many thanks for that and for your work.

I just have one major concern regarding the actual and the future architecture: why is vrrpmgr adding and deleting VIPs into VMAC interfaces? This is not done by FRR/vrrpd? I don't know if the code is valid or ever triggered, but I don't see any reason to manage that part from the vrrpmgr and to put that code there.

Apart of that, and as also other users suggested, I also believe that warm reboot can be covered by this HLD.

Many thanks and regards.

Since we need to transmit vip and vmac to OA, appl db need them.
and the whole proposal support cli configuration, so a mgrd is needed to do the data transmission from config db to appl db
(since other protocol like keepactive will config function direct to kernel, and kernel send data to vrrpsyncd which will transmit data into appl db), And why we not do it in vrrpd, since it will need some system tool to set vip or vmac, like iproute2, but other OS may support ifupdown2, as FRR is open source, will be much more compatible not do it in vrrpd.

@nser77
Copy link

nser77 commented May 25, 2024

Hi all, many thanks for that and for your work.
I just have one major concern regarding the actual and the future architecture: why is vrrpmgr adding and deleting VIPs into VMAC interfaces? This is not done by FRR/vrrpd? I don't know if the code is valid or ever triggered, but I don't see any reason to manage that part from the vrrpmgr and to put that code there.
Apart of that, and as also other users suggested, I also believe that warm reboot can be covered by this HLD.
Many thanks and regards.

Since we need to transmit vip and vmac to OA, appl db need them. and the whole proposal support cli configuration, so a mgrd is needed to do the data transmission from config db to appl db (since other protocol like keepactive will config function direct to kernel, and kernel send data to vrrpsyncd which will transmit data into appl db), And why we not do it in vrrpd, since it will need some system tool to set vip or vmac, like iproute2, but other OS may support ifupdown2, as FRR is open source, will be much more compatible not do it in vrrpd.

Hi @philo-micas, I understand your point of view and I will certainly take the time to dig deeper - many thanks for your answer and for your input.

I'm ok with vrrpsyncd, I agree that it's necessary.

Regarding my concern, and maybe due a lack of knowledge, I'm still not sure how vrrpmgr will be able to add and delete VIPs into VMAC interfaces in a efficient way without knowing the VRRP's machine state, which is managed by FRR/vrrpd through the protocol implementation.

Maybe, renaming vrrpmgr into macvlanmgr and sharing it across the whole SONiC architecture should be evaluated and as also other users pointed in the past it could help to bring more features in the future.

Regards,

Signed-off-by: philo <philo@micasnetworks.com>
@micas-net
Copy link
Contributor Author

Hi all, many thanks for that and for your work.
I just have one major concern regarding the actual and the future architecture: why is vrrpmgr adding and deleting VIPs into VMAC interfaces? This is not done by FRR/vrrpd? I don't know if the code is valid or ever triggered, but I don't see any reason to manage that part from the vrrpmgr and to put that code there.
Apart of that, and as also other users suggested, I also believe that warm reboot can be covered by this HLD.
Many thanks and regards.

Since we need to transmit vip and vmac to OA, appl db need them. and the whole proposal support cli configuration, so a mgrd is needed to do the data transmission from config db to appl db (since other protocol like keepactive will config function direct to kernel, and kernel send data to vrrpsyncd which will transmit data into appl db), And why we not do it in vrrpd, since it will need some system tool to set vip or vmac, like iproute2, but other OS may support ifupdown2, as FRR is open source, will be much more compatible not do it in vrrpd.

Hi @philo-micas, I understand your point of view and I will certainly take the time to dig deeper - many thanks for your answer and for your input.

I'm ok with vrrpsyncd, I agree that it's necessary.

Regarding my concern, and maybe due a lack of knowledge, I'm still not sure how vrrpmgr will be able to add and delete VIPs into VMAC interfaces in a efficient way without knowing the VRRP's machine state, which is managed by FRR/vrrpd through the protocol implementation.

Maybe, renaming vrrpmgr into macvlanmgr and sharing it across the whole SONiC architecture should be evaluated and as also other users pointed in the past it could help to bring more features in the future.

Regards,

@nser77 Thanks, it is a good idea, I have accepted and updated HLD. @adyeung help forward it, thanks!

Copy link

@vvbrcm vvbrcm left a comment

Choose a reason for hiding this comment

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

These changes look fine. Approved.

Copy link

@vvbrcm vvbrcm left a comment

Choose a reason for hiding this comment

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

Changes look fine. Approved.

@micas-net
Copy link
Contributor Author

@prsunny @lguohan @adyeung Please check if more reviewers are needed for this PR, otherwise, please help merge it. Thanks!

@adyeung
Copy link
Collaborator

adyeung commented Sep 4, 2024

This HLD has been reviewed in Routing WG, and SONiC Community call. I will merge the HLD if there is no further comments by the end of the week

@adyeung adyeung merged commit 361f856 into sonic-net:master Sep 9, 2024
@nmoray
Copy link

nmoray commented Sep 27, 2024

@philo-micas As per the HLD, I am unable to find the changes related to vrrpsyncd and vrrporch in any of your PRs. Can you please point me to the respective PR?
cc: @venkatmahalingam

@micas-net
Copy link
Contributor Author

@philo-micas As per the HLD, I am unable to find the changes related to vrrpsyncd and vrrporch in any of your PRs. Can you please point me to the respective PR? cc: @venkatmahalingam

@nmoray The vrrporch and vrrpsyncd sessions have already been included in this HLD. As for the code PR related to them, let's move to the SWSS code PR: sonic-net/sonic-swss#3106. Thanks!

@zhangyanzhao
Copy link
Collaborator

code PRs are not merged, move to backlog

@zhangyanzhao zhangyanzhao mentioned this pull request Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: MovedToBacklog

Development

Successfully merging this pull request may close these issues.