Skip to content

[orchagent] support single ASIC VOQ Fixed-System#4054

Merged
prsunny merged 15 commits intosonic-net:masterfrom
saravanan-nexthop:saravanan.isChassDb
Jan 5, 2026
Merged

[orchagent] support single ASIC VOQ Fixed-System#4054
prsunny merged 15 commits intosonic-net:masterfrom
saravanan-nexthop:saravanan.isChassDb

Conversation

@saravanan-nexthop
Copy link
Contributor

@saravanan-nexthop saravanan-nexthop commented Dec 10, 2025

What I did
Orchagent changes needed to support single ASIC VOQ Fixed-System (#3847) was reverted via (#4035) because
vms-kvm-t2 tests were failing.
That was because the isChassisAppDbPresent() was using an incorrect path to database_config.json
This PR brings back the original #3847 and fixes the isChassisAppDbPresent() to use the correct path.

Why I did it
Single-asic VOQ systems do need #3847

How I verified it
Tests on vms-kvm-t2 and also single-asic voq systems
Verified on vms-kvm-t2 the test_bgp_fact is passing

bgp/test_bgp_fact.py::test_bgp_facts[vlab-t2-1-1-0] PASSED [ 25%]                                                                            
bgp/test_bgp_fact.py::test_bgp_facts[vlab-t2-1-1-1] PASSED [ 50%]                                                                            
bgp/test_bgp_fact.py::test_bgp_facts[lvlab-t2-1-2-0] PASSED [ 75%]                                                                            
bgp/test_bgp_fact.py::test_bgp_facts[vlab-t2-1-2-1] PASSED [100%]          

Details if related

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@saravanan-nexthop
Copy link
Contributor Author

Original PR3847 reviewers: @mlok-nokia @vganesan-nokia @prsunny @arlakshm
Please review this PR.
Thank you

lakshmi-nexthop added a commit to lakshmi-nexthop/sonic-swss that referenced this pull request Dec 16, 2025
@mssonicbld
Copy link
Collaborator

/azp run

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

use m_intfsOrch->isRemoteSystemPortIntf(nexthop.alias) check
inside NeighOrch::getNeighborEntry() instead of `gMySwitchType ==
voq` as the isRemoteSystemPortIntf is used in similar places for
inband ports

Signed-off-by: Saravanan Sellappa <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@saravanan-nexthop
Copy link
Contributor Author

@saravanan-nexthop, can you please check the vs test failure

@arlakshm All checks are now passing

@prsunny prsunny merged commit 1244a7d into sonic-net:master Jan 5, 2026
16 checks passed
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202511: #4105

arpit-nexthop pushed a commit to nexthop-ai/sonic-swss that referenced this pull request Jan 21, 2026
What I did
Orchagent changes needed to support single ASIC VOQ Fixed-System (sonic-net#3847) was reverted via (sonic-net#4035) because
vms-kvm-t2 tests were failing.
That was because the isChassisAppDbPresent() was using an incorrect path to database_config.json
This PR brings back the original sonic-net#3847 and fixes the isChassisAppDbPresent() to use the correct path.

Why I did it
Single-asic VOQ systems do need sonic-net#3847
ganglyu pushed a commit to ganglyu/sonic-swss that referenced this pull request Jan 26, 2026
What I did
Orchagent changes needed to support single ASIC VOQ Fixed-System (sonic-net#3847) was reverted via (sonic-net#4035) because
vms-kvm-t2 tests were failing.
That was because the isChassisAppDbPresent() was using an incorrect path to database_config.json
This PR brings back the original sonic-net#3847 and fixes the isChassisAppDbPresent() to use the correct path.

Why I did it
Single-asic VOQ systems do need sonic-net#3847

Signed-off-by: ganglyu <[email protected]>
prsunny pushed a commit that referenced this pull request Feb 12, 2026
…s is Inband port (#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in #4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in #4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
jithenderkondam pushed a commit to jithenderkondam/sonic-swss that referenced this pull request Feb 17, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
ksravani-hcl pushed a commit to ksravani-hcl/sonic-swss that referenced this pull request Feb 20, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
baorliu pushed a commit to baorliu/sonic-swss that referenced this pull request Feb 23, 2026
What I did
Orchagent changes needed to support single ASIC VOQ Fixed-System (sonic-net#3847) was reverted via (sonic-net#4035) because
vms-kvm-t2 tests were failing.
That was because the isChassisAppDbPresent() was using an incorrect path to database_config.json
This PR brings back the original sonic-net#3847 and fixes the isChassisAppDbPresent() to use the correct path.

Why I did it
Single-asic VOQ systems do need sonic-net#3847

Signed-off-by: Baorong Liu <[email protected]>
baorliu pushed a commit to baorliu/sonic-swss that referenced this pull request Feb 23, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.

Signed-off-by: Baorong Liu <[email protected]>
ksravani-hcl pushed a commit to ksravani-hcl/sonic-swss that referenced this pull request Feb 24, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
ksravani-hcl pushed a commit to ksravani-hcl/sonic-swss that referenced this pull request Feb 25, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
ksravani-hcl pushed a commit to ksravani-hcl/sonic-swss that referenced this pull request Feb 26, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
ksravani-hcl pushed a commit to ksravani-hcl/sonic-swss that referenced this pull request Feb 27, 2026
…s is Inband port (sonic-net#4157)

What I did
Fixed the bug reported in sonic-net/sonic-buildimage#25211
Fixed the bug introduced in sonic-net#4054 which was preventing the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Why I did it
Fixed the bug introduced in sonic-net#4054 which prevents the ever flow mirror sessions becoming active in remote Asics. When the nexthop is added in remote asics in Voq systems, it is always added against the Inband port and not on the remote system port. So when the nexthop is resolved for the mirror session in the remote asic, the mirror code calls getNeighborEntry to find the nexthop entry by passing the nexthop of the route entry for the mirror destination. Since the nexthop was added on Inband port and getNeighborEntry was checking for RemoteSystemPort, finding nexthop was failing and hence the mirror session never gets activated in remote asics. So modified the code to include the isInbandPort check in addition to isRemoteSystemPortIntf . The isRemoteSystemPortIntf might be needed since the neighbor entries are added against the remote system port.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.