An LNet router is the node with only LNet running and without Lustre FS mounted on it. With the Multi-Rail feature added and other changes on the LNet, it is significant to test the LNet routers and ensure they work as expected.
Test Cases
1. Router Configuration Tests
1.1 Add/Delete routes using lnetctl
UT ID: rtr_test_cfg_01 Description: - Configure interfaces on the router - Add routes on client/server node with router's interfaces as gateway - Ensure that routes are added - Delete routes on client/server node with router's interfaces as gateway - Ensure that routes are deleted def lcmd_test_add_route(): rc, out = commands.getstatusoutput(LNETCTL + 'route add --net'+ argv[1] '--gateway' + argv[2]) if (rc != 0): print out return False print "\nConfigured route successfully." rc, out = commands.getstatusoutput(LNETCTL+'route show') print out if (rc != 0): return False def lcmd_test_del_route(): rc, out = commands.getstatusoutput(LNETCTL + 'route del --net'+ argv[1] '--gateway' + argv[2]) if (rc != 0): print out return False print "\nRoute deleted." rc, out = commands.getstatusoutput(LNETCTL+'route show') print out if (rc != 0): return False
1.2 Priority configuration test
UT ID: rtr_test_cfg_02 Description: - Configure priority on the router. - check if the correct priority is set on the router
1.3 Hop count configuration
UT ID: rtr_test_cfg_03 Description: - Configure hop on the router - check if the hop is set on the router
2. Route health check
UT ID: rtr_test_cfg_04 Description: - Configure interfaces on the router - Add a route on Client/Server with router's interface as gateway - Run traffic through the router - Check the transmit statistics
3. Multiple Routes Configuration Tests
3.1 Test for routes being used per Round-Robin
UT ID: rtr_test_cfg_05 Description: - Add 2 or more similar routes for the router - Pass traffic through the configured routes - Ensure that all the routes are used in round-robin fashion
3.2 Test for routes being used per priority
UT ID: rtr_test_cfg_06 Description: - Add 2 or more routes for the router - Set different priorities on the routes - Pass traffic through the configured routes - Test to ensure the highest priority route is used.
3.3 Test for routes be preferred per least hop count
UT ID: rtr_test_cfg_07 Description: - Add 2 or more routes on the router - Set different hop counts on the routes - Pass traffic through the router - Test to ensure the route with least hop count is used.
4. Add/Remove Routes dynamically
4.1 Remove a route dynamically
UT ID: rtr_test_cfg_08 Description: - Add 2 or more routes for the router - Run traffic through the configured routes - Bring down one route. - Check the other routes take over - Make sure there are no dropped packets
4.2 Add a new route dynamically
UT ID: rtr_test_cfg_09 Description: - Add a route for the router - Run traffic through the configured routes - Add a new route with same priority and hop count as the older route. - Check that traffic runs through new route as well - Check for the send statistics for the new route.
5. Router Buffer Pools Configuration Test
5.1 Configure Router Buffers
UT ID: rtr_test_cfg_10 Description: - Add a route for the router - Configure tiny, small and large buffer with different values on the router - Run varying size traffic through the router - Ensure the buffers are used
5.2 Reset Router Buffers
UT ID: rtr_test_cfg_11 Description: - Add a route on the router - Configure tiny, small and large buffer with value 0 - Check the buffers value are set to system defaults
5.3 Test Buffers pool configuration with edge values
UT ID: rtr_test_cfg_12 Description: - Add a route on the router - Configure tiny, small and large buffer with less than minimum values - Check the
6. Enabling/Disabling Routing Test
6.1 Enable/Disbale routing dynamically
UT ID: rtr_test_cfg_13 Description: - Add a route on the router - Enable routing using lnetctl - Run traffic through the router - Ensure messages are sent and check the statistics - Disbale routing dynamically - Run traffic - Check the messages are not sent - Check dropped packets count
7. Multi-Rail Routing Test
7.1 Routing with multiple interface configuration on same network
UT ID: rtr_test_cfg_14 Description: - Configure more than one interface on the router for the same network - Add route with multiple configured interfaces - Add router as peer on both server and client - Run traffic through the router - Ensure all the configured interfaces are used to send messages
7.2 Routing with multiple interface configuration on different network
UT ID: rtr_test_cfg_15 Description: - Configure more than one interface on the router for different networks - Add route with multiple configured interfaces - Add router as peer on both server and client - Run traffic through the router for the different networks - Ensure all the configured interfaces are used to send messages