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

Allowing the first time FEC and AN configuration to be pushed to SAI #1705

Merged
merged 3 commits into from
Apr 15, 2021

Conversation

dgsudharsan
Copy link
Collaborator

What I did
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

Why I did it
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.

How I verified it
Configure FEC as none and autoneg as false and check if ASIC DB is programmed.

Details if related
This change will force the FEC and autoneg configuration only if the configuration is explicitly present. There is no impact when there are no external FEC or autoneg configuration.
If an external FEC or autoneg config is present below are how different boot scenarios will be handled.

  1. Warm boot will not be affected even if an external configuration is present since it will be reconciled. I tested the case and found no link flaps
  2. Fast boot and Cold boot - Only if external configuration is present, it will be programmed during port initialization. No additional link flaps is seen or additional time is taken.

@dgsudharsan
Copy link
Collaborator Author

This needs to be back ported to 202012

@lguohan lguohan requested a review from jleveque April 13, 2021 20:01
@lguohan
Copy link
Contributor

lguohan commented Apr 13, 2021

can you check the test failure, it seems related to the auto neg feature.

@jleveque
Copy link
Contributor

This needs to be back ported to 202012

@dgsudharsan: FYI, the autoneg values have changed to on/off in master, but they are still 0/1 in 202012. Therefore, you will need to open a separate PR against 202012 once this is reviewed/merged.

@dgsudharsan
Copy link
Collaborator Author

This needs to be back ported to 202012

@dgsudharsan: FYI, the autoneg values have changed to on/off in master, but they are still 0/1 in 202012. Therefore, you will need to open a separate PR against 202012 once this is reviewed/merged.

Sure Joe. I will raise a separate PR after this.

@jleveque
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jleveque jleveque merged commit 8bc7aee into sonic-net:master Apr 15, 2021
jleveque pushed a commit that referenced this pull request Apr 16, 2021
…d to SAI (#1710)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.

This is the porting of PR #1705 to 202012
raphaelt-nvidia pushed a commit to raphaelt-nvidia/sonic-swss that referenced this pull request Oct 5, 2021
…onic-net#1705)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.
EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
dgsudharsan added a commit to dgsudharsan/sonic-swss that referenced this pull request Mar 17, 2022
…onic-net#1705)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.
dgsudharsan added a commit to dgsudharsan/sonic-swss that referenced this pull request Mar 17, 2022
…onic-net#1705)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.
dgsudharsan added a commit to dgsudharsan/sonic-swss that referenced this pull request Mar 17, 2022
…onic-net#1705)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.
prsunny pushed a commit that referenced this pull request Mar 31, 2022
…1705) (#2196)

**What I did**
Allowing the first time configuration for FEC and Autoneg to be pushed to SAI even if they are default.

**Why I did it**
In orchagent, the port struct is pre-initialized with fec = none and autoneg = false (Default SAI values). However in different hardware the underlying implementation might be different. There can also be requirement where the user values need to be forced. In current logic due to the port struct being initialized with default, fec = none or an = false configurations are not pushed from orchagent to SAI. In order to push it even in default case the conditional checks are modified.
@dgsudharsan dgsudharsan deleted the an_fec_lt branch March 9, 2023 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants