-
Notifications
You must be signed in to change notification settings - Fork 267
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
Implementation of System ports initialization, Interface & Neighbor Synchronization... #380
Conversation
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]>
Signed-off-by: vedganes <[email protected]> State table for system neigh is added. This is to set the state of system nigh SAI programming. This state is signgl to nbrmgr for kernel programming of the system neighs for which SAI is programmed.
Signed-off-by: vedganes <[email protected]>
This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration. HLD: sonic-net/SONiC#639 Dependency PR(sonic-swss-common): sonic-net/sonic-swss-common#380 Co-authored-by: vedganes <[email protected]>
Fix for build failure due to pytest failure.
…ynchronization... (#1431) This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration. HLD: sonic-net/SONiC#639 Dependency PR's (sonic-swss-common): sonic-net/sonic-swss-common#380 (sonic-sairedis): sonic-net/sonic-sairedis#657 * [voq] Redis instance for global app db * [voq] System port init and orchestration * [voq] Router interface for system ports, global app db sync * [voq] Inband interface config * [voq] System port neighbors Kernel programming of static neigh and full mask static route for system neighbors is moved to nbrmgr since orchagent should not own kernel objects to avoid complication in warmboot reconciliation The orchagent programs only SAI object for the system neighbors and signals the completion of SAI programming by setting mac address in SYSTE_NEIGH table of STATE_DB. Nbrmgr subscribes to these state entries to program kernel entries corresponding to the system neighs * [swss]VS tests for VOQ system ports The following tests are added as part of virtual chassis tests - VOQ switch objects verification - System port object syncing with chassis app db by checking presence of system port RIFs in chassis app db in supervisor card - Creation of system port RIF record creation in ASIC_DB Following changes are done for the above tests: - SYSTEM_PORT table is added in default_config.json of line cards. These are loaded as part of config_db loading - Core and Port index mapping file is added in line card directories. - use dvs_database.py lib to connect to redis databases instead of using raw connection via swsscommon DBConnectors. - call dvs apis to get access to databases for the local redis instances. - Default handling for speed of the system port is removed in addSystemPorts() - Comment added to clarify types of rif-s synced to chassis app db - vs tests: connection to chassis app dp uses chassis app db id defined in dvs lib instead of using the id from swsscommon Using the chassis app db id from swsscommon instead of chassis app db id from dvd lib . This is to avoid python lgtm alert and test failure. Co-authored-by: vedganes <[email protected]> Co-authored-by: vganesan-nokia <[email protected]>
…ynchronization... (sonic-net#1431) This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration. HLD: sonic-net/SONiC#639 Dependency PR's (sonic-swss-common): sonic-net/sonic-swss-common#380 (sonic-sairedis): sonic-net/sonic-sairedis#657 * [voq] Redis instance for global app db * [voq] System port init and orchestration * [voq] Router interface for system ports, global app db sync * [voq] Inband interface config * [voq] System port neighbors Kernel programming of static neigh and full mask static route for system neighbors is moved to nbrmgr since orchagent should not own kernel objects to avoid complication in warmboot reconciliation The orchagent programs only SAI object for the system neighbors and signals the completion of SAI programming by setting mac address in SYSTE_NEIGH table of STATE_DB. Nbrmgr subscribes to these state entries to program kernel entries corresponding to the system neighs * [swss]VS tests for VOQ system ports The following tests are added as part of virtual chassis tests - VOQ switch objects verification - System port object syncing with chassis app db by checking presence of system port RIFs in chassis app db in supervisor card - Creation of system port RIF record creation in ASIC_DB Following changes are done for the above tests: - SYSTEM_PORT table is added in default_config.json of line cards. These are loaded as part of config_db loading - Core and Port index mapping file is added in line card directories. - use dvs_database.py lib to connect to redis databases instead of using raw connection via swsscommon DBConnectors. - call dvs apis to get access to databases for the local redis instances. - Default handling for speed of the system port is removed in addSystemPorts() - Comment added to clarify types of rif-s synced to chassis app db - vs tests: connection to chassis app dp uses chassis app db id defined in dvs lib instead of using the id from swsscommon Using the chassis app db id from swsscommon instead of chassis app db id from dvd lib . This is to avoid python lgtm alert and test failure. Co-authored-by: vedganes <[email protected]> Co-authored-by: vganesan-nokia <[email protected]>
"redis_chassis":{ | ||
"hostname" : "redis_chassis.server", | ||
"port" : 6380, | ||
"unix_socket_path" : "/var/run/redis/redis_chassis.sock" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move chassis specific configuration out of the default database_config.json. The file here is to maintain backward-compatibility to before multi-DB feature and minimal configuration for any sonic system.
For example, this file does not work with sonic-utilities.
If your use case need customization, just customize it and overwrite it in your use case only. Do not break others.
…ynchronization... (sonic-net#1431) This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration. HLD: sonic-net/SONiC#639 Dependency PR's (sonic-swss-common): sonic-net/sonic-swss-common#380 (sonic-sairedis): sonic-net/sonic-sairedis#657 * [voq] Redis instance for global app db * [voq] System port init and orchestration * [voq] Router interface for system ports, global app db sync * [voq] Inband interface config * [voq] System port neighbors Kernel programming of static neigh and full mask static route for system neighbors is moved to nbrmgr since orchagent should not own kernel objects to avoid complication in warmboot reconciliation The orchagent programs only SAI object for the system neighbors and signals the completion of SAI programming by setting mac address in SYSTE_NEIGH table of STATE_DB. Nbrmgr subscribes to these state entries to program kernel entries corresponding to the system neighs * [swss]VS tests for VOQ system ports The following tests are added as part of virtual chassis tests - VOQ switch objects verification - System port object syncing with chassis app db by checking presence of system port RIFs in chassis app db in supervisor card - Creation of system port RIF record creation in ASIC_DB Following changes are done for the above tests: - SYSTEM_PORT table is added in default_config.json of line cards. These are loaded as part of config_db loading - Core and Port index mapping file is added in line card directories. - use dvs_database.py lib to connect to redis databases instead of using raw connection via swsscommon DBConnectors. - call dvs apis to get access to databases for the local redis instances. - Default handling for speed of the system port is removed in addSystemPorts() - Comment added to clarify types of rif-s synced to chassis app db - vs tests: connection to chassis app dp uses chassis app db id defined in dvs lib instead of using the id from swsscommon Using the chassis app db id from swsscommon instead of chassis app db id from dvd lib . This is to avoid python lgtm alert and test failure. Co-authored-by: vedganes <[email protected]> Co-authored-by: vganesan-nokia <[email protected]>
This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration. HLD: sonic-net/SONiC#639 Dependency PR(sonic-swss-common): sonic-net/sonic-swss-common#380 Co-authored-by: vedganes <[email protected]>
This PR includes implementation of System ports initialization & orchestration, Interface & Neighbor Synchronization using GLOBAL_APP_DB, Inband Interface Configuration.
HLD: sonic-net/SONiC#639