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

[MCLAG] ICCP send gratuitious ARP and unsolicited NA when standby mod… #7714

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jianjundong
Copy link
Contributor

@jianjundong jianjundong commented May 26, 2021

…ifies systemid

Signed-off-by: dongjianjun@inspur.com

Why I did it

  1. In the original implementation, in strcuct LocalInterface{}, unit32_t ipv4_ addr is used to record IP address, unit32_ t ipv6_ addr[4] to record IPv6 address, and only one IPv4 and IPv6 address can be recorded; When the IP address changes, such as add or remove, it may lead to the error of judging whether the interface is L3 interface.
  2. In L3 scenario, if the master fails, standby switches the system ID back to the original MAC; At this time, if the switch is a gateway, the hosts connected below cannot update the gateway address in time, which will cause traffic interruption.

How I did it

  1. The list is used to record IP addresses, including IPv4 address and IPv6 address, but excluding IPv6 linklocal address; When the list is not empty, the interface is L3, otherwise it is L2.
  2. In L3 scenario, if the master fails, standby switches the system ID back to the original MAC; At this time, standby will traverse the IP address list and send gratutious ARP or unsolicited NA to the connected hosts to update the gateway address.

How to verify it

Test on the switch.

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

@jianjundong jianjundong requested a review from lguohan as a code owner May 26, 2021 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant