Add Orchagent ZMQ table feature flag: orch_dash_zmq_enabled and orch_route_zmq_enabled.#22451
Conversation
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azpw ms_conflict |
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azpw run ms_conflict |
|
/AzurePipelines run ms_conflict |
|
No pipelines are associated with this pull request. |
|
/azpw ms_conflict |
prabhataravind
left a comment
There was a problem hiding this comment.
Discussed offline
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451
|
/azpw ms_conflict |
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451
|
@liuh-80, @prsunny, @prabhataravind This change would break backward compatibility for SmartSwitchDpu types that are already using ZMQ for GNMI <-> orchagent communication Please update the t1-smartswitch preset to have this config ( |
@qiluo-msft for viz |
Hi @vivekrnv , This change will not break the feature because:
|
Hi @liuh-80, I checked the orchagent code. It is enabled by default. Thanks for the clarification |
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451 Signed-off-by: Lawrence Lee <[email protected]>
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451 Signed-off-by: Lawrence Lee <[email protected]>
* Improve swss to support ZMQ Why I did it swssconfig does not support ZMQ How I did it Improve swss to support ZMQ swssconfig will load orchagent ZMQ table list from CONFIG_DB, and create ZMQ channel according to the config: sonic-net/sonic-buildimage#22451 Signed-off-by: Baorong Liu <[email protected]>
Improve orchagent to enable Dash ZMQ by feature flag. Why I did it On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough. However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659 Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough. For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag. And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag. ZMQ feature flag add by following PR: sonic-net/sonic-buildimage#22451 Signed-off-by: Baorong Liu <[email protected]>
* Improve route orch performance by enable ZMQ Why I did it For improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag, HLD: sonic-net/SONiC#1659 ZMQ feature flag add by following PR, because ZMQ flag renamed. may need another PR to update: sonic-net/sonic-buildimage#22451 Signed-off-by: Baorong Liu <[email protected]>
Add Orchagent ZMQ table feature flag: orch_dash_zmq_enabled and orch_route_zmq_enabled
Why I did it
On current image, orchagent only enable ZMQ on Dash tables, so use -q option to control the ZMQ feature is enough.
However, we plan to improve route performance by enable ZMQ between fpmsyncd and orchagent. sonic-net/SONiC#1659
Then there will be 2 features on orchagent share same ZMQ address, so using -q to control the Dash ZMQ feature is not enough.
For Dash, we plan to migrate to enable/disable with the 'orch_dash_zmq_enabled' feature flag. There will be another PR in orchagent to make Dash enable/disable ZMQ with this flag.
And for improve route performance by enable ZMQ between fpmsyncd and orchagent, it will be controlled by the 'orch_route_zmq_enabled' flag.
Work item tracking
How I did it
Add orch_dash_zmq_enabled and orch_route_zmq_enabled field to DEVICE_METADATA table in config_db.
orch_dash_zmq_enabled:
Control enable/disable ZMQ on Dash feature.
orch_route_zmq_enabled:
Control enable/disable ZMQ between fpmsyncd and orchagent for improve route performance.
How to verify it
Pass all test case.
Manually verified orch_zmq_tables.conf can generate correctly according to CONFIG_DB
admin@vlab-01:
$ sonic-db-cli CONFIG_DB hset "DEVICE_METADATA|localhost" "orch_route_zmq_enabled" "true"$ sonic-db-cli CONFIG_DB hset "DEVICE_METADATA|localhost" "orch_dash_zmq_enabled" "true"1
admin@vlab-01:
1
admin@vlab-01:
$ sudo config save -y$ sudo config reload -yRunning command: /usr/local/bin/sonic-cfggen -d --print-data > /etc/sonic/config_db.json
admin@vlab-01:
Acquired lock on /etc/sonic/reload.lock
Disabling container and routeCheck monitoring ...
Stopping SONiC target ...
Running command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db
Running command: /usr/local/bin/db_migrator.py -o migrate
Running command: /usr/local/bin/sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t /usr/share/sonic/templates/sonic-environment.j2,/etc/sonic/sonic-environment
Restarting SONiC target ...
Enabling container and routeCheck monitoring ...
Reloading Monit configuration ...
Reinitializing monit daemon
Released lock on /etc/sonic/reload.lock
admin@vlab-01:~$ docker exec -it swss bash
root@sonic:/# cat /etc/swss/orch_zmq_tables.conf
DASH_VNET_TABLE
DASH_QOS_TABLE
DASH_ENI_TABLE
DASH_ACL_IN_TABLE
DASH_ACL_OUT_TABLE
DASH_ACL_GROUP_TABLE
DASH_ACL_RULE_TABLE
DASH_HA_SET_TABLE
DASH_HA_SCOPE_TABLE
DASH_PREFIX_TAG_TABLE
DASH_ROUTING_TYPE_TABLE
DASH_APPLIANCE_TABLE
DASH_ROUTE_TABLE
DASH_ROUTE_RULE_TABLE
DASH_VNET_MAPPING_TABLE
DASH_ENI_ROUTE_TABLE
DASH_ROUTE_GROUP_TABLE
DASH_TUNNEL_TABLE
DASH_PA_VALIDATION_TABLE
DASH_METER_POLICY_TABLE
DASH_METER_RULE_TABLE
DASH_ROUTING_APPLIANCE_TABLE
DASH_ENI_FORWARD_TABLE
ROUTE_TABLE
LABEL_ROUTE_TABLE
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Description for the changelog
Add Orchagent ZMQ table feature flag: orch_dash_zmq_enabled and orch_route_zmq_enabled
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)