Skip to content

[dualtor-aa][nic_simulator] Improve the upstream flow#11459

Merged
yxieca merged 3 commits intosonic-net:masterfrom
lolyu:fix_nic_simulator_grpc_traffic
Feb 12, 2024
Merged

[dualtor-aa][nic_simulator] Improve the upstream flow#11459
yxieca merged 3 commits intosonic-net:masterfrom
lolyu:fix_nic_simulator_grpc_traffic

Conversation

@lolyu
Copy link
Collaborator

@lolyu lolyu commented Jan 31, 2024

Description of PR

Summary:
Fixes # (issue)

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 201911
  • 202012
  • 202205
  • 202305
  • 202311

Approach

What is the motivation for this PR?

Improve the nic_simulator upstream nic traffic flow.
Currently, the upstream traffic from server nic is duplicated to both ToRs.
So the grpc traffic to the lower ToR could be forwarded to the upper ToR in such case, and those
traffic will go out the upper ToR via the default route though the port-channels. And those trivial traffic
will make some noises so some of the testcases that verify the port/queue counters will fail.

Signed-off-by: Longxiang Lyu [email protected]

How did you do it?

Add two dedicated flows:
one to forward the traffic with upper ToR loopback IP to the upper ToR.
one to forward the traffic with lower ToR loopback IP to the lower ToR.

How did you verify/test it?

run test_bgp_queues and verify that the counters on tx queue 1 don't increase.

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

lolyu added 2 commits February 8, 2024 03:34
From the ovs doc, if mod-flow is used without --strict, priority is not
used in matching.
This will cause problem for downstream set_drop when
duplicate_nic_upstream is disabled.

For example:

When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both
flow #2 and flow  sonic-net#3 as priority is not used in flow match.

So let's enforce strict match for mod-flow.

Signed-off-by: Longxiang Lyu <[email protected]>
@lolyu
Copy link
Collaborator Author

lolyu commented Feb 8, 2024

@yxieca, per previous discussion, add flag to enable/disable the nic upstream duplication. Please help review, thanks!

@yxieca yxieca merged commit 7585344 into sonic-net:master Feb 12, 2024
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Feb 12, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not
used in matching.
This will cause problem for downstream set_drop when
duplicate_nic_upstream is disabled.

For example:

When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both
flow #2 and flow  sonic-net#3 as priority is not used in flow match.

So let's enforce strict match for mod-flow.

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

Cherry-pick PR to 202311: #11686

mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Feb 12, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not
used in matching.
This will cause problem for downstream set_drop when
duplicate_nic_upstream is disabled.

For example:

When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both
flow #2 and flow  sonic-net#3 as priority is not used in flow match.

So let's enforce strict match for mod-flow.

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

Cherry-pick PR to 202305: #11687

mssonicbld pushed a commit that referenced this pull request Feb 15, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not
used in matching.
This will cause problem for downstream set_drop when
duplicate_nic_upstream is disabled.

For example:

When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both
flow #2 and flow  #3 as priority is not used in flow match.

So let's enforce strict match for mod-flow.

Signed-off-by: Longxiang Lyu <[email protected]>
mssonicbld pushed a commit that referenced this pull request Feb 15, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not
used in matching.
This will cause problem for downstream set_drop when
duplicate_nic_upstream is disabled.

For example:

When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both
flow #2 and flow  #3 as priority is not used in flow match.

So let's enforce strict match for mod-flow.

Signed-off-by: Longxiang Lyu <[email protected]>
vivekverma-arista added a commit to vivekverma-arista/sonic-mgmt that referenced this pull request Mar 23, 2024
…nks."

This change is not longer required as it was fixed by: sonic-net#11459

This reverts commit 45cb9ed.
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