Association Tests
P2P
General notes on P2P association tests:
- These tests are done using
r2d2
commands - Select appropriate before every association if not supported in software
PUMA_RF_AT-R2D2
Four Sector PoP Assoc
Description: Four P2P associations, one being on each sector
Test Setup: Four Sector PoP
Procedure:
- Associate one sector of the PoP node with its responder
- Wait 30 seconds and ping
- Associate a second sector on PoP node with its responder
- Wait 30 seconds and ping
- Associate a third sector on PoP node with its responder
- Wait 30 seconds and ping
- Associate the final sector on PoP node with its responder
- Wait 30 seconds and ping
- Disassociate the links in a random manner
- Repeat all above steps 50 times
Note: if possible the association of the sectors should be done in a random order.
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
Point to Multipoint (P2MP)
PUMA_RF_AT-1
1DN:16CN Assoc
Description: P2MP Association test (DN to 16-CN)
Test Setup: P2MP Setup
Procedure:
- Associate DN ↔ 16 responder nodes sequentially
- Ping for TBR pings at a rate of TBR pings/second
- Disassociate the links in a random manner
- Repeat above 3 steps 50 times
- Do this using TAS SuperAssoc action and also using
randomassoc.py
script
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-2
1DN:15CN + 1DN Assoc
Description: P2MP Association test (DN:DN + 15-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-2 but configure one of the responder nodes as a DN (DN-R).
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-3
1DN:14CN + 2DN Assoc (Golay 0)
Description: P2MP Association test (DN:2DN + 14-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-2 but configure two of the responder nodes as a DN (DN-R).
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-3.1
1DN:14CN + 2DN Assoc (Golay 1)
Description: P2MP Association test (DN:2DN + 14-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-4 but use Golay code index of 1 for the initiator.
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-3.2
1DN:14CN + 2DN Assoc (Golay 2)
Description: P2MP Association test (DN:2DN + 14-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-4 but use Golay code index of 2 for the initiator.
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-3.3
1DN:14CN + 2DN Assoc (Golay 3)
Description: P2MP Association test (DN:2DN + 14-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-4 but use Golay code index of 3 for the initiator.
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-4
1DN:14CN + 2DN Assoc (Reverse Polarity, Reverse Disassoc)
Description: P2MP Association test (DN:2DN + 14-CN)
Test Setup: P2MP Setup
Procedure: Same as AT-P2MP-4 but use odd polarity on initiator.
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT-5
E2E Four Sector PoP Assoc (E2E)
Description: P2MP (7 associations) associations on each sector
Test Setup: Four Sector PoP
Procedure:
- Ignite the PoP with all four sectors connected to it
- Verify that the entire network is up with pings
- Kill E2E
- Ignite the PoP and now ignite all the sectors sequentially
- Verify with pings
- Kill E2E
- Ignite the PoP and bring up two sectors in parallel; then bring up the remaining two sectors in parallel
- Verify with pings
- Kill E2E
Passing:
- No ignition failures
- No failed pings
PUMA_RF_AT-6
E2E Four Sector PoP Assoc with different Golays (E2E)
Description: P2MP (7 associations) associations on each sector
Test Setup: Four Sector PoP
Procedure:
- Ignite the PoP with all four sectors connected to it and each sector is brought up on a different Golay code
- Verify that the entire network is up with pings
- Kill E2E
- Ignite the PoP and now ignite all the sectors sequentially
- Verify with pings
- Kill E2E
- Ignite the PoP and bring up two sectors in parallel; then bring up the remaining two sectors in parallel
- Verify with pings
- Kill E2E
Passing:
- No ignition failures
- No failed pings
PUMA_RF_AT-7
P2P Assoc
Description: P2P association test
Test Setup: P2P setup
Procedure:
- Associate one sector of the initiator node with its responder using DPDK MAC address
- Ping
- Disassociate the link
- Wait 10 seconds
- Repeat all above steps 50 times
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_AT
Negative Test Channel Mismatch
Description: P2MP negative association test
Test Setup: P2MP setup
Procedure:
- Associate one sector of the initiator node with its responders using different channels on both devices
- Ping
Passing:
- Assoc should fail
- Terra ping should fail
Re-Association Test Cases
PUMA_RF_ReAT-1
P2P DN-DN Assoc
Description: P2P Association test (DN to DN)
Procedure:
- Associate DN-I ↔ DN-R
- Send 50 (TBR) pings once a second (TBR)
- Disassociate DN-I ↔ DN-R link
- Repeat 50 times
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_ReAT-2
P2MP 1 DN - 7CN Assoc
Description: P2MP Association test
Test Setup: P2MP Setup
Procedure:
- Associate DN-I ↔ 7 CNs
- Send 50 (TBR) pings once a second (TBR)
- Disassociate all links
- Repeat 50 times
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_ReAT-3
P2MP 1 DN - 15CN+1DN Assoc
Description: P2MP Re-Association test
Test Setup: P2MP Setup
Procedure:
- Associate DN-I ↔ 15 CNs + 1DN
- Send 50 (TBR) pings once a second (TBR)
- Disassociate all links
- Repeat 50 times
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_ReAT-4
P2MP 1DN-7CN Assoc using r2d2
Description: P2MP Association test
Test Setup: P2MP Setup
Procedure:
- Associate DN-I ↔ 7 CNs
- Verify assoc success with pings
- Run P2MP random assoc script on the DN with command
python3 /usr/bin/p2mp_random_assoc.py
Passing:
- Expected output for the script: Test passed with flying colors!
PUMA_RF_ReAT-5
P2MP 1DN-15CNs + 1DN Assoc using r2d2
Description: P2MP Association test
Procedure:
- Associate DN-I ↔ 15 CNs + 1DN
- Verify assoc success with pings
- Run P2MP random assoc script on the DN with command
python3 /usr/bin/p2mp_random_assoc.py
Passing:
- Expected output for the script: Test passed with flying colors!
GPS Tests
PUMA_RF_GPS_STR-1
P2P GPS Sync
Description: Testing GPS sync between 2DNs after loss of GPS signal on initiator
Test Setup: P2P Setup
Procedure:
- Enable GPS on DN-I but not on DN-R
- Associate DN-I ↔ DN-R, ping between associated hosts, disassociate
- Set GPS co-ordinates on DN-R and enable GPS;
- Associate DN-I ↔ DN-R, ping between associated hosts, disassociate
- Associate DN-I ↔ DN-R, ping between associated hosts, disable GPS on DN-R (in middle of test) and ping again, verify link stays up
- Enable GPS on DN-R (in middle of test), ping between associated hosts, disassociate
Passing:
- All associations should pass
- All pings should pass; ping after disabling and enabling GPS in middle of test should also pass
- All disassocs should pass
PUMA_RF_GPS_STR-2
GPS Stability test
Description: Test GPS sync through long duration ping
Test Setup: P2P setup
Procedure:
- Enable GPS on DN-I
- Associate P2P link, ping, disassociate
- Set GPS co-ordinates on DN-R and enable GPS
- Associate DN-I ↔ DN-R
- Keep pinging between associated hosts for one hour
- Disassociate
Passing:
- No failed assocs
- No failed pings
- No failed disassocs
PUMA_RF_GPS-6.1
Multi-Hop GPS Test with DNs
Description: Test GPS sync over multi-hops, DN can be 1 hop away from GPS source to maintain successful association
Test Setup: Multi-Hop setup
Procedure:
- Associate DN-I ↔ DNR (both in GPS sync)
- Attempt association with DN1 (in GPS sync); assoc should succeed; verify with ping
- Disassociate DN1
- Associate DN-I ↔ DNR (both in GPS sync)
- Attempt assoc with DN1 (not in GPS sync); assoc should succeed; verify with ping
- Disassociate DN1
- Disable GPS on DNR; confirm that DN-I ↔ DN0 link stays up; verify with ping
- Attempt association with DN1; assoc should fail
Passing:
- No failed assocs except in step (8)
- No failed pings
- No failed disassocs
PUMA_RF_GPS-6.4
Multi-Hop GPS Test with CNs
Description: Test GPS sync over multi-hops, CN can be 2 hops away from GPS source to maintain successful association
Test Setup: Multi-Hop setup
Procedure:
- Associate DN-I ↔ DNR (both in GPS sync)
- Attempt association with CN1; assoc should succeed; verify with ping
- Disable GPS on DNR; confirm that DN-I ↔ DNR link stays up; DNR ↔ CN1 link stays up, verify with pings
- Disassociate CN1
- Attempt association with CN1; assoc should pass (GPS is disabled on DNR)
- Disable GPS on DN-I
- CN1 should get dropped; ping should fail
- Link DN-I ↔ DNR should also get dropped; ping should fail
- Attempt association with DNR; assoc should fail
Passing:
- No failed assocs except in (9)
- No failed pings except in (7) and (8)
- No failed disassocs
PUMA_RF_GPS-6.5
GPS sector Test
Description: Test GPS sync over multi-hops, when nodes are connected to different sectors of the DN
Test scenario: DN1, DN2, CN1 are connected to 3 sectors of DN0
Procedure:
- Enable GPS on DN0 and DN2
- Attempt association from DN0 sectors to all the connected nodes; all associations should succeed
- Disable GPS on DN0; confirm DN0 ↔ DN1 and DN0 ↔ CN1 are dropped
- Enable GPS on DN0 and DN1
- Associate DN0 ↔ DN1; DN0 ↔ CN1; all associations should succeed
- Disable GPS on DN0; verify link to CN1 is dropped & remaining 2 links stay up
- Enable GPS on DN0; attempt association with DN1 and CN1; all associations should succeed
- Disable GPS on DN2; verify all links stay up
Passing:
- All assocs should pass
- all pings should pass; except in (3),(6)
- All disassocs should succeed when nodes are connected to different sectors of the DN
- Test scenario: DN1, DN2, CN1 are connected to 3 sectors of DN0
PUMA_RF_GPS-6.6
GPS Y-Street Test with Frequency Offset
Description: Test GPS sync over a Y-street when the clocks of different nodes have the frequency source offset. The offset is created by using a signal generator to generate the clock source (currently looking into modification of boards to do this). The setup is shown in the figure below:
Procedure:
- Run Y-street ignition test "
PUMA_RF_Y.D.D.1.0
Ignition Test" (with DUT0==DN1, DUT1==DN2, & DUT2==DN3) with the following frequency offsets:
DUT1 (ppm) | DUT2 (ppm) |
---|---|
0 | 0 |
4 | 4 |
-4 | 4 |
-4 | -4 |
7 | -7 |
-7 | -7 |
7 | 7 |
10 | 10 |
-10 | -10 |
10 | -10 |
PUMA_RF_GPS-6.7
GPS Y-Street Stability Test with Frequency Offset
Description: This test measures the ability of the y-street to support traffic
for a long duration when there exists frequency offset. This test uses the same
setup as PUMA_RF_GPS-6.7
. However this test will use an x86 traffic generator.
Procedure:
- Ignite DUT1 and DUT2 from DUT0
- Send bi-directional TCP traffic using an x86 traffic generator attached to DUT0 to an x86 traffic generator attached to DUT1. Simultaneously send bi-directional TCP traffic using an x86 traffic generator attached to DUT0 to an x86 traffic generator attached to DUT2. T_ideal should be 50% for each link
- Run traffic for a minimum of 8 hours
- Repeat the tests for the offsets given in the following table:
DUT1 (ppm) | DUT2 (ppm) |
---|---|
0 | 0 |
7 | -7 |
7 | 7 |
-7 | -7 |
Passing:
- Traffic does not drop below MCS 10 rates