Skip to content

VLAN Feature Test Suite

Shuotian Cheng edited this page Apr 26, 2017 · 3 revisions

Overview

This VLAN feature test suite is targeting on testing basic VLAN feature functionalities on SONiC. In our testbed, t0 and t0-64 have VLAN configurations. This test suite includes several basic tests - FIB test, VLAN traffic test, link-flap test, and ARP learning test. Each test covers a basic functionality of VLAN feature and ensures the switch works as expected under production scenarios.

Testbed

t0 testbed is set up with 24 VLAN members in one VLAN Vlan1000 and four LAGs. 6400 routes are learned via BGP from T1 switches with the next hop set to four LAGs as ECMP.

Tests

FIB Test

FIB test verifies the data plane traffic forwarding functionality. 6400 IP addresses that match 6400 routes and one IP address that matches default route are used as destination IP addresses to craft packets. Packets are sent from all used front-panel ports and verified to be received at the four outgoing ports.

FIB Test Module

VLAN L3 Traffic Test

VLAN traffic test verifies the data plane traffic forwarding functionality across the VLAN. Each 24 VLAN members' neighbors are assigned with unique MACs. Packets are sent from all used front-panel ports and verified to be received at the targeting outgoing VLAN member port.

Procedure

  1. Testbed setup
  2. Configure IP on the first VLAN member's neighbor interface IP
  3. Send packet using destination IP address set to the first VLAN member's neighbor interface IP from the first used front-panel port.
  4. Verify that the packet is received from the first VLAN member's neighbor interface.
  5. Remove the IP on the first VLAN member's neighbor interface
  6. Repeat the above four steps with sending packets from the rest 27 used front-panel ports.
  7. Repeat the above five steps with sending packets using destination IP addresses set to the rest 23 VLAN member's neighbor interface IPs.

VLAN L2 Traffic Test

This Test includes ARP learning test and unknown MAC packets dropping test. It verifies the ARP learning functionality and arp_update.sh script functionality. It also covers the scenario of MAC update when a VLAN member's neighbor interface MAC address changes.

Both known and Unknown MAC addresses packets are sent from the VLAN member ports to verify that known MAC addresses packets are received and unknown MAC addresses packets are dropped. Trigger arp_update.sh script to verify that all VLAN members' ports receive ARP requests.

Procedure

  1. Testbed setup
  2. Configure IP on the first VLAN member's neighbor interface IP
  3. Send packet using destination MAC address set to the first VLAN member's neighbor interface MAC from the first of the rest VLAN members' neighbor interfaces.
  4. Verify that the packet is received from the first of the rest VLAN members' neighbor interfaces.
  5. Remove the IP on the first VLAN member's neighbor interface
  6. Repeat the above four steps with sending packets from the rest 14 VLAN members' neighbor interfaces.
  7. Repeat the above five steps with sending packets using destination MAC address set to the rest 15 VLAN members' neighbor interface MACs.
  8. Send packet with unknown MAC address from each of the VLAN member's neighbor interface.
  9. Verify that the packet is dropped and not received from any of the VLAN member's neighbor interface.

Link-flap Test

Link-flap test verifies the interfaces' statuses. The neighbor interfaces are set to shutdown/no-shutdown statuses one after another so as to check the changes of interfaces' statuses on the switch. Once a VLAN member's neighbor interface is shutdown, the test checks if the VLAN member's interface is down and the VLAN interface is still up.

Clone this wiki locally