Skip to content

Commit 8636ba6

Browse files
Yuriy Harhasaputriax
authored andcommitted
Dash ptf overlay testplan update with new cases.
- Updated Connection tracking test plan - ENI test plan update - Vnet test plan: listed all new test cases, added tests description - Updated requirements and underlay routing dependencies. - Style minor updated Signed-off-by: Yuriy Harhas <[email protected]>
1 parent 5b5d7b6 commit 8636ba6

File tree

4 files changed

+180
-155
lines changed

4 files changed

+180
-155
lines changed

test/docs/testplans/conntrack.md

Lines changed: 44 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
2. [Requirements](#requirements)
55
3. [Automation](#automation)
66
4. [Test Suites](#test-suites)
7-
- [Basic](#eni-creation)
8-
- [Ageing](#eni-removal)
9-
- [Performance](#eni-scale)
7+
- [Basic](#basic)
8+
- [Ageing](#ageing)
9+
- [Performance](#performance)
1010

1111
---
1212

@@ -17,10 +17,12 @@ Connection per Second (CPS) is the most important attribute of the DASH products
1717

1818
# Requirements
1919

20-
| Item | Expected value
21-
|---|---
22-
| Active Connections/ENI | 1M (Bidirectional)
23-
| CPS per card | 4M+
20+
| Item | Expected value |
21+
|:-------------------|:-------------------------|
22+
| Active Connections | 1M per ENI (Bidirectional, +oversubscription capabilities) |
23+
| CPS | 4M+ per card |
24+
| bg TCP flows | - |
25+
| bg UDP flows | - |
2426

2527
**To clarify**
2628
1. Ageing time
@@ -36,51 +38,58 @@ Test cases are automated:
3638
1. Each test should be executed using TCP and UDP streams.
3739
1. Each test should be executed for Inbound and Outbound routing scenario.
3840
1. So far there is **no direct API to get active connection number** or CPS. Verification might be done using indirect ways:
39-
- Based on packets forwarding - check whether packets are passed or dropped
41+
- Based on packets forwarding - check whether packets are passed or dropped
4042
- Based on routing and ACL counters that are incremented on slow path. So when connection is established the counters should not be incremented.
4143

4244
# Test suites
4345

4446
## Basic
4547

46-
| # | Test case | Test Class.Method
47-
| --- | --- | ---
48-
| 1 | Basic positive TCP session verification with counters check | -
49-
| 2 | Basic positive UDP session verification with counters check | -
50-
| 3 | TCP session verification with fragmented packets | -
51-
| 4 | UDP session verification with fragmented packets | -
52-
| 5 | ICMP traffic. **to clarify** no session is expected? | -
53-
| 6 | Same overlay IPs but different ENIs | -
48+
| # | Test case purpose | Test Class.Method | Test description |
49+
|:---:|:------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
50+
| 1 | Basic positive TCP session verification with counters check for VNET Outbound Routing. | `ConnTrackOutboundSessionTest.`<br/> `connTrackOutboundTcpSessionTest` | Creates single ENI outbound configuration. Verifies connection tracking with bidirectional TCP traffic and counters verification. |
51+
| 2 | Basic positive TCP session verification with counters check for VNET Inbound Routing. | `ConnTrackInboundSessionTest.`<br/> `connTrackInboundTcpSessionTest` | Creates single ENI inbound configuration. Verifies connection tracking with bidirectional TCP traffic and counters verification. |
52+
| 3 | Basic positive UDP session verification with counters check for VNET Outbound Routing. | `ConnTrackOutboundSessionTest.`<br/> `connTrackOutboundUdpSessionTest` | Creates single ENI outbound configuration. Verifies connection tracking with bidirectional UDP traffic and counters verification. |
53+
| 4 | Basic positive UDP session verification with counters check for VNET Inbound Routing. | `ConnTrackInboundSessionTest.`<br/> `connTrackInboundUdpSessionTest` | Creates single ENI inbound configuration. Verifies connection tracking with bidirectional UDP traffic and counters verification. |
54+
| 5 | TCP session verification with fragmented packets | - | - |
55+
| 6 | UDP session verification with fragmented packets | - | - |
56+
| 7 | ICMP traffic for VNET Inbound routing. **to clarify** no session is expected? | `ConnTrackInboundSessionTest.`<br/> `connTrackInboundIcmpSessionTest` | Creates single ENI inbound configuration. Verifies connection tracking with bidirectional ICMP traffic (echo request & reply) and counters verification. |
57+
| 8 | ICMP traffic for VNET Outbound routing. **to clarify** | `ConnTrackOutboundSessionTest.`<br/> `connTrackOutboundIcmpSessionTest` | Creates single ENI outbound configuration. Verifies connection tracking with bidirectional ICMP traffic (echo request & reply) and counters verification. |
58+
| 9 | Same overlay MAC/IP but different ENI, Inbound Routing. | `ConnTrackInboundSameOverlayIpDiffEniTest.`<br/>`verifyEni0TcpSessionTest`<br/>`verifyEni0UdpSessionTest`<br/>`verifyEni1TcpSessionTest`<br/>`verifyEni1UdpSessionTest` | Creates two the same ENIs with same MAC addresses and different VNIs. Creates the same Inbound configuration for ENIs.<br/> Verifies connection tracking with bidirectional TCP & UDP traffic and counters verification. |
59+
| 10 | Same overlay MAC/IP but different ENI, Outbound Routing. | `ConnTrackOutboundSameOverlayIpDiffEniTest.`<br/>`verifyEni0TcpSessionTest`<br/>`verifyEni0UdpSessionTest`<br/>`verifyEni1TcpSessionTest`<br/>`verifyEni1UdpSessionTest` | Creates two the same ENIs with same MAC addresses and different VNIs. Creates the same Outbound configuration for ENIs.<br/> Verifies connection tracking with bidirectional TCP & UDP traffic and counters verification. |
5460

5561
## Ageing
5662

57-
| # | Test case | Test Class.Method
58-
| --- | --- | ---
59-
| 1 | Standard ageing (fully correct TCP session, session dropped immediately). | -
60-
| 2 | Standard ageing (fully correct UDP session, session dropped after timeout). | -
61-
| 3 | Custom ageing (fully correct TCP session). | -
62-
| 4 | Custom ageing (fully correct UDP session). | -
63-
| 5 | Open TCP session but no data and no FIN. | -
64-
| 6 | TCP session started from the middle (no SYN packet). | -
63+
| # | Test case purpose | Test Class.Method | Test description |
64+
|:---:|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
65+
| 1 | Verify standard ageing (fully correct TCP session). | `ConnTrackInboundSessionAgeingTest.`<br/> `connTrackInboundTcpStandardAgeingTest` | Creates single ENI inbound configuration. Bidirectionally send TCP packets needed for standard TCP session start and termination.<br/> Send TCP inbound packet to verify session is terminated and packet is dropped immediately after last TCP termination packet. |
66+
| 2 | -//- (but VNET Outbound Routing) | `ConnTrackOutboundSessionAgeingTest.`<br/> `connTrackOutboundTcpStandardAgeingTest` | Creates single ENI outbound configuration. Bidirectionally send TCP packets needed for standard TCP session start and termination.<br/> Immediately after last TCP termination packets sends TCP outbound packet to verify session is terminated and packet dropped. |
67+
| 3 | Verify standard ageing (fully correct UDP session). | `ConnTrackInboundSessionAgeingTest.`<br/> `connTrackInboundUdpStandardAgeingTest` | Creates single ENI inbound configuration. Bidirectionally send UDP packets. Wait default ageing time for session termination.<br/> Send UDP packet to verify session is terminated and packet is dropped after default ageing time. |
68+
| 4 | -//- (but VNET Outbound Routing) | `ConnTrackOutboundSessionAgeingTest.`<br/> `connTrackOutboundUdpStandardAgeingTest` | Creates single ENI outbound configuration. Bidirectionally send UDP packets. Wait default ageing time for session termination.<br/> Immediately after default ageing time sends UDP packet to verify session is terminated and packet dropped. |
69+
| 5 | Verify custom ageing (fully correct TCP session). | - | - |
70+
| 6 | Verify custom ageing (fully correct UDP session). | - | - |
71+
| 7 | Verify open TCP session but no data and no FIN. | `ConnTrackInboundSessionAgeingTest.`<br/> `connTrackInboundTcpAgeingTest` | Creates single ENI inbound configuration. Bidirectionally send TCP packets needed only for TCP session start. Wait default ageing time for session termination.<br/> Immediately after default ageing time sends TCP packet to verify session is terminated and packet dropped. |
72+
| 8 | -//- (but VNET Outbound Routing) | `ConnTrackOutboundSessionAgeingTest`.<br/> `connTrackOutboundTcpAgeingTest` | Creates single ENI outbound configuration. Bidirectionally send TCP packets needed only for TCP session start. Wait default ageing time for session termination.<br/> Immediately after default ageing time sends TCP packet to verify session is terminated and packet dropped. |
73+
| 6 | Verify TCP session started from the middle (no SYN packet). | - | - |
6574

6675
## Integration
6776

68-
| # | Test case | Test Class.Method
69-
| --- | --- | ---
70-
| 1 | Inbound and outbound configuration in parallel | -
71-
| 2 | Routes update during active session | -
72-
| 3 | ACL update during active session | -
73-
| 4 | Configuration removal during active session (Route, VNET, ENI removal) | -
77+
| # | Test case purpose | Test Class.Method | Test description |
78+
|:---:|:------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------|
79+
| 1 | Verify Inbound and outbound configuration in parallel | `ConnTrackInboundOutboundParallelConfigsTest.`<br/> `verifyOutboundTcpSessionTest`<br/> `verifyInboundTcpSessionTest`<br/> `verifyOutboundUdpSessionTest`<br/> `verifyOutboundUdpSessionTest` | Creates Inbound and Outbound configuration on single ENI.<br/> Verifies connection tracking with bidirectional TCP & UDP traffic and counters verification. |
80+
| 2 | Verify Routes update during active session | - | - |
81+
| 3 | Verify ACL update during active session | - | - |
82+
| 4 | Verify configuration removal during active session (Route, VNET, ENI removal) | - | - |
7483

7584
## Performance
7685

7786
**TBD**
7887

79-
| # | Test case | Test Class.Method
80-
| --- | --- | ---
81-
| 1 | CPS | -
82-
| 2 | Max sessions per ENI. (Verify resources clean up) | -
83-
| 3 | Max sessions per card (multiple ENIs). (Verify resources clean up) | -
88+
| # | Test case | Test Class.Method | Test description |
89+
|:---:|:-------------------------------------------------------------------|:------------------|:-----------------|
90+
| 1 | CPS | - | - |
91+
| 2 | Max sessions per ENI. (Verify resources clean up) | - | - |
92+
| 3 | Max sessions per card (multiple ENIs). (Verify resources clean up) | - | - |
8493

8594
## Future
8695

0 commit comments

Comments
 (0)