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

Fix potential blackholing/looping traffic when link-local was used and refresh ipv6 neighbor to avoid CPU hit #1904

Merged
merged 4 commits into from
Aug 12, 2018

Commits on Aug 8, 2018

  1. Fix potential blackholing/looping traffic and refresh ipv6 neighbor t…

    …o avoid CPU hit
    
    In case ipv6 global addresses were configured on L3 interfaces and used for peering,
    and routing protocol was using link-local addresses on the same interfaces as prefered nexthops,
    the link-local addresses could be aged out after a while due to no activities towards the link-local
    addresses themselves. And when we receive new routes with the link-local nexthops, SONiC won't insert
    them to the HW, and thus cause looping or blackholing traffic.
    
    Global ipv6 addresses on L3 interfaces between switches are refreshed by BGP keeplive and other messages.
    
    On server facing side, traffic may hit fowarding plane only, and no refresh for the ipv6 neighbor entries regularly.
    This could age-out the linux kernel ipv6 neighbor entries, and HW neighbor table entries could be removed,
    and thus traffic going to those neighbors would hit CPU, and cause traffic drop and temperary CPU high load.
    
    Also, if link-local addresses were not learned, we may not get them at all later.
    
    It is intended to fix all above issues.
    
    Changes:
    Add ndisc6 package in swss docker and use it for ipv6 ndp ping to update the neighbors' state on Vlan interfaces
    Change the default ipv6 neighbor reachable timer to 30mins
    Add periodical ipv6 multicast ping to ff02::11 to get/refresh link-local neighbor info.
    zhenggen-xu committed Aug 8, 2018
    Configuration menu
    Copy the full SHA
    7ab439f View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2018

  1. Fix review comments:

    Add PORTCHANNEL_INTERFACE interface for ipv6 multicast ping
    format issue
    zhenggen-xu committed Aug 9, 2018
    Configuration menu
    Copy the full SHA
    ca0f9ef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f25dff View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2018

  1. Configuration menu
    Copy the full SHA
    d7baed2 View commit details
    Browse the repository at this point in the history