Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sonic-net/sonic-linkmgrd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a836ef754940cda251a8d5f0f71f68f41f92fac0
Choose a base ref
...
head repository: sonic-net/sonic-linkmgrd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c911ec7bee78d5b1d0438c5a4ddd581d0a35177c
Choose a head ref
  • 2 commits
  • 14 files changed
  • 1 contributor

Commits on Jul 22, 2022

  1. Add support for reconciliation after warm restart (#76)

    Description of PR
    Summary:
    Fixes # (issue)
    
    This PR is to add support for linkmgrd process reconciliation after warm restart.
    
    sign-off: Jing Zhang [email protected]
    
    Type of change
     Bug fix
     New feature
     Doc/Design
     Unit test
    Approach
    What is the motivation for this PR?
    One step of warm reboot procedure for dual ToR is to config the switch into manual mode. Before warm reboot finalizer executes config save, we want to config the switch back into auto mode, so config_db.json will be consistent before and after the reboot.
    
    How did you do it?
    When linkmgrd is initializing, get the systemwide warm reboot flag from WARM_RESTART_ENABLE_TABLE. If flag == true, start a reconciliation timer.
    Maintenance a mux port count based on MUX_CABLE|PORTNAME count. When one port completes reconciliation, if warm restart flag == true, config it back into auto mode, reduce reconciliation port count by 1.
    If reconciliation timer expires or port count == 0, set state to reconciled in WARM_RESTART_TABLE|linkmgrd.
    How did you verify/test it?
    Unit tests
    Tested on dual ToR testbed. Ports were auto mode after warm restart completed. Entry WARM_RESTART_TABLE|linkmgrd was added as expected.
    zjswhhh authored and yxieca committed Jul 22, 2022
    Copy the full SHA
    bbae81d View commit details
  2. Avoid unnecessary error logs from `handleGetServerMacAddressNotificat…

    …ion` (#96)
    
    Description of PR
    Summary:
    Fixes # (issue)
    If blade MAC address is processed before link prober's initialization, we will expect to see the error message below.
    
    Jun  2 09:13:37.094025 str2-7260cx3-acs-13 ERR mux#linkmgrd: link_manager/LinkManagerStateMachine.cpp:640 handleGetServerMacAddressNotification: Ethernet96: failed to update Ethernet frame with mac ......
    Since link prober is not initialized, of course there was no Ethernet frame to update. The blade mac will still be stored in mux port config object and will be consumed later when link prober is activated. This shouldn't be considered as an error.
    
    sign-off: Jing Zhang [email protected]
    
    Approach
    What is the motivation for this PR?
    To avoid unnecessary error message, so tests won't fail for log analyzer.
    
    How did you do it?
    Check if link prober is initialized before logging the error message.
    zjswhhh authored and yxieca committed Jul 22, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    c911ec7 View commit details
Loading