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

ECN verification on Dual ToR testbed #5779

Open
vmittal-msft opened this issue Jun 7, 2022 · 2 comments
Open

ECN verification on Dual ToR testbed #5779

vmittal-msft opened this issue Jun 7, 2022 · 2 comments

Comments

@vmittal-msft
Copy link
Contributor

vmittal-msft commented Jun 7, 2022

We have following test gap for ECN marking on dual ToR. Default behavior is to mark the packets in congestion situation.

How to test ENCAP case:-

Send raw 10000 IPV4 packets from T1 to server. Different packet formats need to be verified using different lossless priorities and DSCP/ECN values as shown below. Packets entering standby ToR will get encapsulated and enter the tunnel between standby ToR <-> T1 <-> active ToR. If we need to test congestion scenario below, we need to disable outgoing port on standby ToR towards T1 before sending traffic. Once all the packets are in the queue, we can enable the port and release the packets towards T1. We need to capture these encapped packets on T1 and analyze if they match following outcome.

ENCAP cases (Packets received from T1, Standby ToR T0 encaps packets into the tunnel before sending back to T1)

Case # 1
Incoming IPv4 packet :- (DSCP = 3 or 4 ECN = 2), No congestion on outgoing port
Outgoing encapped packet :- (DSCP = 3 or 4 , ECN = 2) Same for inner and outer

Case # 2
Incoming IPv4 packet :- (DSCP = 3 or 4, ECN = 3), No congestion on outgoing port
Outgoing encapped packet :- (DSCP = 3 or 4, ECN = 3) Same for inner and outer

Case # 3
Incoming IPv4 packet :- (DSCP = 3 or 4, ECN = 2), CONGESTION on outgoing port
Outgoing encapped packet :- (DSCP = 3 or 4 , ECN = 3) Same for inner and outer

How to test DECAP case:-

Send 10000 encapped IPV4 packets from T1 to server as if they are coming in over tunnel.In real traffic case, Packets entering standby ToR will get encapsulated and enter the tunnel between standby ToR <-> T1 <-> active ToR. After reaching active ToR, these packets will get de-capsulated before delivering to server. Different packet formats need to be verified using different lossless priorities and DSCP/ECN values as shown below. If we need to test congestion scenario below, we need to disable outgoing port on active ToR towards server before sending traffic. Once all the packets are in the queue, we can enable the port and release the packets towards server. We need to capture these decapped packets on server and analyze if they match following outcome.

DECAP case: (Packets recevied over tunnel, Active ToR T0 decaps packets before sending the packets to server)

Case # 1
Incoming encapped packet :- (DSCP = 3 or 4 ECN = 2 [same for inner and outer]), No congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 2)

Case #2
Incoming encapped packet :- (DSCP = 3 or 4, ECN = 3 [same for inner and outer]), No congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4, ECN = 3)

Case # 3
Incoming encapped packet :- (DSCP = 3 or 4, ECN = 2 [same for inner and outer]), CONGESTION on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 3)

Case # 4
Incoming encapped packet :- (DSCP = 3 or 4, ECN = [for outer 3, for inner 2), CONGESTION on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 3)

Case # 5
Incoming encapped packet :- (DSCP = 3 or 4, ECN = [for outer 3, for inner 2), No congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 3)

Case # 6
Incoming encapped packet :- (DSCP = 3 or 4, ECN = [for outer 2, for inner 3), No congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 2)

Case # 7
Incoming encapped packet :- (DSCP = 3 or 4, ECN = [for outer 3, for inner 3), congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 3)

Case # 8
Incoming encapped packet :- (DSCP = 3 or 4, ECN = [for outer 2, for inner 3), congestion on outgoing port
Outgoing IPv4 packet :- (DSCP = 3 or 4 , ECN = 3)

@yxieca
Copy link
Collaborator

yxieca commented Jan 25, 2023

@vmittal-msft can you clarify this requirement:

"we need to disable outgoing port on standby ToR towards T1 before sending traffic"

The same outgoing port is used for incoming IO from T1. Do you mean we allow IO to come down from T1 but don't allow IO to go out to T1 at this step?

@vmittal-msft
Copy link
Contributor Author

@yxieca we need to disable Tx (not Rx) on the port to keep packets in the queue so when the port is enabled, packets will be marked with ECN.

@yxieca yxieca added the QoS label Apr 5, 2023
@developfast developfast self-assigned this Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants