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] Fix the bug of iccp FDB synchronization #7680

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

Conversation

jianjundong
Copy link
Contributor

@jianjundong jianjundong commented May 24, 2021

Signed-off-by: dongjianjun@inspur.com

Why I did it

The method of ICCP reading FDB table entries from ASIC DB is optimized.
When more than 1400 MACs was notified to iccpd at the same time, the buffer size (65535) of the data read by iccpd will be exceeded, causing iccpd to read incomplete messages and an exception occurred.

How I did it

When iccpd reads MAC information, it first reads the length of the message from the message header, and then reads the data information of the message according to the length, so that each time it reads a complete message. In order to avoid falling into dead loop or occupying CPU for a long time, iccpd can read up to 20 packets (more than 1700 MACs) at a time. If more than 1700 MACs, it will read the remaining MAC next time.

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 24, 2021 03:49
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