44. Short-lived Application Tests

This feature is to reduce application start up time, and when exit, do more clean up so that it could be re-run many times.

44.1. Prerequisites

To test this feature, need to using 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:

./tools/dpdk_nic_bind.py -b igb_uio xxxx:xx:xx.x

Start testpmd using time:

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

44.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

44.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

44.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.

44.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.

44.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.