86. Short-lived Application Tests

This feature is to reduce application start-up time, and do more cleanup when exit so that it could rerun many times.

86.1. Prerequisites

To test this feature, need to use linux time and start testpmd by: create and mount hugepage, must create more hugepages so that could measure time more obviously:

# echo 8192 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
# mount -t hugetlbfs hugetlbfs /mnt/huge

Bind nic to DPDK:

./usertools/dpdk-devbind.py -b igb_uio device_bus_id

Start testpmd using time:

# echo quit | time ./testpmd -c 0x3 -n 4 -- -i

86.2. Test Case 1: basic fwd testing

  1. Start testpmd:

    ./testpmd -c 0x3 -n 4 -- -i
    
  2. Set fwd mac

  3. Send packet from pkg

  4. Check all packets could be fwd back

86.3. Test Case 2: Get start up time

  1. Start testpmd:

    echo quit | time ./testpmd -c 0x3 -n 4 --huge-dir /mnt/huge -- -i
    
  2. Get the time stats of the startup

  3. Repeat step 1~2 for at least 5 times to get the average

86.4. Test Case 3: Clean up with Signal – testpmd

  1. Create 4G hugepages, so that could save times when repeat:

    echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    mount -t hugetlbfs hugetlbfs /mnt/huge1
    
  2. Start testpmd:

    ./testpmd -c 0x3 -n 4 --huge-dir /mnt/huge1 -- -i
    
  3. Set fwd mac

  4. Send packets from pkg

  5. Check all packets could be fwd back

  6. Kill the testpmd in shell using below commands alternately:

    SIGINT:  pkill -2  testpmd
    SIGTERM: pkill -15 testpmd
    
  7. Repeat step 1-6 for 20 times, and packet must be fwd back with no error for each time.

86.5. Test Case 4: Clean up with Signal – l2fwd

  1. Create 4G hugepages, so that could save times when repeat:

    echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    mount -t hugetlbfs hugetlbfs /mnt/huge1
    
  2. Start testpmd:

    ./l2fwd -c 0x3 -n 4 --huge-dir /mnt/huge1 -- -p 0x01
    
  3. Set fwd mac

  4. Send packets from pkg

  5. Check all packets could be fwd back

  6. Kill the testpmd in shell using below commands alternately:

    SIGINT:  pkill -2  l2fwd
    SIGTERM: pkill -15 l2fwd
    
  7. Repeat step 1-6 for 20 times, and packet must be fwd back with no error for each time.

86.6. Test Case 5: Clean up with Signal – l3fwd

  1. Create 4G hugepages, so that could save times when repeat:

    echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
    mount -t hugetlbfs hugetlbfs /mnt/huge1
    
  2. Start testpmd:

    ./l3fwd -c 0x3 -n 4 --huge-dir /mnt/huge1 -- -p 0x01 --config="(0,0,1)"
    
  3. Set fwd mac

  4. Send packets from pkg

  5. Check all packets could be fwd back

  6. Kill the testpmd in shell using below commands alternately:

    SIGINT:  pkill -2  l3fwd
    SIGTERM: pkill -15 l3fwd
    
  7. Repeat step 1-6 for 20 times, and packet must be fwd back with no error for each time.