[dts] [PATCH]test_plans: sync case to TestSuite_floating_veb.py

Tu, Lijuan lijuan.tu at intel.com
Tue Feb 26 04:25:06 CET 2019


Applied, thanks

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Peng Yuan
> Sent: Friday, February 15, 2019 5:37 PM
> To: dts at dpdk.org
> Cc: Peng, Yuan <yuan.peng at intel.com>
> Subject: [dts] [PATCH]test_plans: sync case to TestSuite_floating_veb.py
> 
> Sync case to TestSuite_floating_veb.py
> 
> Signed-off-by: Peng Yuan <yuan.peng at intel.com>
> 
> diff --git a/test_plans/floating_veb_test_plan.rst
> b/test_plans/floating_veb_test_plan.rst
> index 012589b..17b8231 100644
> --- a/test_plans/floating_veb_test_plan.rst
> +++ b/test_plans/floating_veb_test_plan.rst
> @@ -78,44 +78,43 @@ Prerequisites for VEB testing
> 
>  1. Get the pci device id of DUT, for example::
> 
> -       ./dpdk-devbind.py --st
> -       0000:05:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens785f0
> drv=i40e
> -       unused=
> +      ./dpdk-devbind.py --st
> +      0000:05:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens785f0
> drv=i40e
> +      unused=
> 
>  2. Host PF in kernel driver. Create 2 VFs from 1 PF with kernel driver, and
>     set the VF MAC address at PF::
> 
> -       echo 2 > /sys/bus/pci/devices/0000\:05\:00.0/sriov_numvfs
> -       ./dpdk-devbind.py --st
> +      echo 2 > /sys/bus/pci/devices/0000\:05\:00.0/sriov_numvfs
> +      ./dpdk-devbind.py --st
> 
> -       0000:05:02.0 'XL710/X710 Virtual Function' unused=
> -       0000:05:02.1 'XL710/X710 Virtual Function' unused=
> +      0000:05:02.0 'XL710/X710 Virtual Function' unused=
> +      0000:05:02.1 'XL710/X710 Virtual Function' unused=
> 
> -       ip link set ens785f0 vf 0 mac 00:11:22:33:44:11
> -       ip link set ens785f0 vf 1 mac 00:11:22:33:44:12
> +      ip link set ens785f0 vf 0 mac 00:11:22:33:44:11
> +      ip link set ens785f0 vf 1 mac 00:11:22:33:44:12
> 
>  3. Host PF in DPDK driver. Create 2VFs from 1 PF with dpdk driver::
> 
> -       ./dpdk-devbind.py -b igb_uio 05:00.0
> -       echo 2 >/sys/bus/pci/devices/0000:05:00.0/max_vfs
> -       ./dpdk-devbind.py --st
> -       0000:05:02.0 'XL710/X710 Virtual Function' unused=i40evf,igb_uio
> -       0000:05:02.1 'XL710/X710 Virtual Function' unused=i40evf,igb_uio
> +      ./dpdk-devbind.py -b igb_uio 05:00.0
> +      echo 2 >/sys/bus/pci/devices/0000:05:00.0/max_vfs
> +      ./dpdk-devbind.py --st
> +      0000:05:02.0 'XL710/X710 Virtual Function' unused=i40evf,igb_uio
> +      0000:05:02.1 'XL710/X710 Virtual Function' unused=i40evf,igb_uio
> 
>  4. Bind the VFs to dpdk driver::
> 
> -       ./tools/dpdk-devbind.py -b igb_uio 05:02.0 05:02.1
> +      ./tools/dpdk-devbind.py -b igb_uio 05:02.0 05:02.1
> 
>  5. Reserve huge pages memory(before using DPDK)::
> 
> -       echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-
> 2048kB
> -       /nr_hugepages
> -       mkdir /mnt/huge
> -       mount -t hugetlbfs nodev /mnt/huge
> +      echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-
> 2048kB
> +      /nr_hugepages
> +      mkdir /mnt/huge
> +      mount -t hugetlbfs nodev /mnt/huge
> 
> -
> -Test Case1: Floating VEB inter VF-VF
> -====================================
> +Test Case: Floating VEB inter VF-VF
> +===================================
> 
>  Summary: 1 DPDK PF, then create 2VF, PF in the host running dpdk testpmd,  and
> VF0 are running dpdk testpmd, VF0 send traffic, and set the packet's @@ -
> 126,92 +125,86 @@ MAC switch when PF is link down as well as up.
> 
>        ./testpmd -c 0xf -n 4 --socket-mem 1024,1024
>        -w 05:00.0,enable_floating_veb=1 --file-prefix=test1 -- -i
> -
> -2. In the host, run testpmd with floating parameters and make the link down::
> -
> -      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024
> -      -w 05:00.0,enable_floating_veb=1 --file-prefix=test1 -- -i
>        testpmd> port start all
>        testpmd> show port info all
> 
> -3. In VM1, run testpmd::
> +2. VF1, run testpmd::
> 
>        ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024
>        -w 05:02.0 --file-prefix=test2 -- -i --crc-strip
> -      testpmd>mac_addr add 0 vf1_mac_address
> -      testpmd>set fwd rxonly
> -      testpmd>start
> -      testpmd>show port stats all
> +      testpmd> mac_addr add 0 vf1_mac_address
> +      testpmd> set fwd rxonly
> +      testpmd> set promisc all off
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -   In VM2, run testpmd::
> +   VF2, run testpmd::
> 
>        ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file-
> prefix=test3
>        -- -i --crc-strip --eth-peer=0,vf1_mac_address
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +      testpmd> set fwd txonly
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -4. Check if VF1 can get all the packets. Check the packet content is no
> +3. Check if VF1 can get all the packets. Check the packet content is no
>     corrupted. RX-packets=TX-packets, but there is a little RX-error.
> -   RF receive no packets.
> +   PF receive no packets.
> 
> -5. Set "testpmd> port stop all" and "testpmd> start" in step2,
> -   then run the step3-4 again. same result.
> +4. Set "testpmd> port stop all" and "testpmd> start" in step2,
> +   then run the step2-3 again. Get same result.
> 
> +Test Case: Floating VEB PF can't get traffic from VF
> +====================================================
> 
> -Test Case2: Floating VEB PF can't get traffic from VF -
> =====================================================
> -DPDK PF, then create 1VF, PF in the host running dpdk testpmd,
> +Summary: DPDK PF, then create 1VF, PF in the host running dpdk testpmd,
>  send traffic from PF to VF0, VF0 can't receive any packets;  send traffic from
> VF0 to PF, PF can't receive any packets either.
> 
> +1. In PF, launch testpmd::
> 
> -1. In host, launch testpmd::
> -
> -      ./testpmd -c 0x3 -n 4 -w 82:00.0,enable_floating_veb=1 -- -i
> +      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w
> + 05:00.0,enable_floating_veb=1 --file-prefix=test1 -- -i
>        testpmd> set fwd rxonly
> +      testpmd> set promisc all off
>        testpmd> port start all
>        testpmd> start
>        testpmd> show port stats all
> 
> -3. In VM1, run testpmd::
> +2. VF1, run testpmd::
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,pf_mac_addr
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file-
> prefix=test2 -- -i --eth-peer=0,pf_mac_addr
> +      testpmd> set fwd txonly
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -4. Check if PF can not get any packets, so VF1->PF is not working.
> +3. Check if PF can not get any packets, so VF1->PF is not working.
> 
> -5. Set "testpmd> port stop all" in step2, then run the test case again.
> +4. Set "testpmd> port stop all" in step2, then run the test case again.
>     Same result.
> 
> +5. in the opposite direction, PF->VF1 is not working either.
> 
> -
> -Test Case3 Floating VEB VF can't receive traffic from outside world
> +Test Case: Floating VEB VF can't receive traffic from outside world
> 
> =================================================================
> ==
> 
> -DPDK PF, then create 1VF, send traffic from tester to VF1,
> +Summary: DPDK PF, then create 1VF, send traffic from tester to VF1,
>  in floating mode, check VF1 can't receive traffic from tester.
> 
>  1. Start VM1 with VF1, see the prerequisite part.
> 
> -2. In host, launch testpmd::
> +2. PF, launch testpmd::
> 
> -      ./testpmd -c 0x3 -n 4 -w 82:00.0,enable_floating_veb=1 -- -i
> +      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w
> + 05:00.0,enable_floating_veb=1 --file-prefix=test1 -- -i
> + --eth-peer=0,VF_mac_address
>        testpmd> set fwd mac
>        testpmd> port start all
>        testpmd> start
>        testpmd> show port stats all
> 
> +   VF1, run testpmd::
> 
> -   In VM1, run testpmd::
> -
> -      ./testpmd -c 0x3 -n 4 -- -i
> -       testpmd>show port info all    //get VF_mac_address
> -       testpmd>set fwd rxonly
> -       testpmd>start
> -       testpmd>show port stats all
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file-
> prefix=test2 -- -i
> +      testpmd> set fwd rxonly
> +      testpmd> start
> +      testpmd> show port stats all
> 
>     In tester, run scapy::
> 
> @@ -219,115 +212,98 @@ in floating mode, check VF1 can't receive traffic
> from tester.
>        sendp(packet,iface="enp132s0f0")
> 
>  3. Check if VF1 can not get any packets, so tester->VF1 is not working.
> -4. Set "testpmd> port stop all" in step2 in Host, then run the test case
> -   again. same result.PF can't receive any packets.
> 
> +4. Set "testpmd> port stop all" in step2 in Host, then run the test case
> +   again. Get same result. PF can't receive any packets.
> 
> -Test Case4: Floating VEB VF can not communicate with legacy VEB VF -
> =================================================================
> =
> +Test Case: Floating VEB VF can not communicate with legacy VEB VF
> +================================================================
> =
> 
> -Summary: DPDK PF, then create 4VFs and 4VMs, VF1,VF3,VF4, floating VEB; -
> VF2, legacy VEB. Make PF link down(the cable can be plugged out),
> +Summary: DPDK PF, then create 4VFs and 4VMs, VF0,VF2,VF3, floating VEB;
> +VF1, legacy VEB. Make PF link down(the cable can be plugged out),
>  VFs in VMs are running dpdk testpmd.
> 
> -1. VF1 send traffic, and set the packet's DEST MAC to VF2,
> -   check VF2 can not receive the packets.
> -2. VF1 send traffic, and set the packet's DEST MAC to VF3,
> -   check VF3 can receive the packets.
> -3. VF4 send traffic, and set the packet's DEST MAC to VF3,
> -   check VF3 can receive the packets.
> -4. VF2 send traffic, and set the packet's DEST MAC to VF1,
> +1. VF0 send traffic, and set the packet's DEST MAC to VF1,
>     check VF1 can not receive the packets.
> +2. VF0 send traffic, and set the packet's DEST MAC to VF2,
> +   check VF2 can receive the packets.
> +3. VF3 send traffic, and set the packet's DEST MAC to VF2,
> +   check VF2 can receive the packets.
> +4. VF1 send traffic, and set the packet's DEST MAC to VF0,
> +   check VF0 can not receive the packets.
> 
> -Check Inter-VM VF-VF MAC switch when PF is link down as well as up.
> -
> -Launch PF testpmd::
> -
> -   ./testpmd -c 0x3 -n 4
> -   -w "82:00.0,enable_floating_veb=1,floating_veb_list=0;2-3" -- -i
> +Details:
> 
> -1. Start VM1 with VF1, VM2 with VF2, VM3 with VF3,
> -   VM4 with VF4,see the prerequisite part.
> +1. Launch PF testpmd, run testpmd with floating parameters and make the link
> down::
> 
> -2. In the host, run testpmd with floating parameters and make the link down::
> -
> -      ./testpmd -c 0x3 -n 4
> -       -w "82:00.0,enable_floating_veb=1,floating_veb_list=0;2-3" -- -i
> -       //VF1 and VF3 in floating VEB, VF2 in legacy VEB
> +      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 \
> +      \"-w "05:00.0,enable_floating_veb=1,floating_veb_list=0;2-3\" \
> +      --file-prefix=test1 -- -i
> +      //VF0, VF2 and VF3in floating VEB, VF1 in legacy VEB
> 
>        testpmd> port stop all
>        //this step should be executed after vf running testpmd.
> 
>        testpmd> show port info all
> 
> -3. VF1 send traffic, and set the packet's DEST MAC to VF2,
> -   check VF2 can not receive the packets.
> -
> -   In VM2, run testpmd::
> -
> -       ./testpmd -c 0x3 -n 4 -- -i
> -       testpmd>set fwd rxonly
> -       testpmd>mac_addr add 0 vf2_mac_address     //set the vf2_mac_address
> -       testpmd>start
> -       testpmd>show port stats all
> -
> -   In VM1, run testpmd::
> -
> -       ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,vf2_mac_address
> -       testpmd>set fwd txonly
> -       testpmd>start
> -       testpmd>show port stats all
> -
> -   Check VF2 can not get any packets, so VF1->VF2 is not working.
> +2. VF0 send traffic, and set the packet's DEST MAC to VF1,
> +   check VF1 can not receive the packets.
> 
> -4. VF1 send traffic, and set the packet's DEST MAC to VF3,
> -   check VF3 can receive the packets.
> +   VF0, run testpmd::
> 
> -   In VM3, run testpmd::
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 \
> +      --file-prefix=test2 -- -i --eth-peer=0,vf1_mac_address
> +      testpmd> set fwd rxonly
> +      testpmd> mac_addr add 0 vf0_mac_address     //set the vf0_mac_address
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -      testpmd>set fwd rxonly
> -      testpmd>show port info all     //get the vf3_mac_address
> -      testpmd>start
> -      testpmd>show port stats all
> +   VF1, run testpmd::
> 
> -   In VM1, run testpmd::
> +      ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.1 \
> +       --file-prefix=test3 -- -i --eth-peer=0,vf1_mac_address
> +      testpmd> set fwd txonly
> +      testpmd> mac_addr add 0 vf1_mac_addres
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,vf3_mac_address
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +   Check VF1 can not get any packets, so VF0->VF1 is not working.
> +   In the opposite direction, VF1->VF0 is not working either.
> 
> -    Check VF3 can get all the packets. Check the packet content is no
> -    corrupted.  so VF1->VF2 is working.
> +3. VF0 send traffic, and set the packet's DEST MAC to VF2,
> +   check VF2 can receive the packets.
> 
> -5. VF2 send traffic, and set the packet's DEST MAC to VF1,
> -   check VF1 can not receive the packets.
> +   VF2, run testpmd::
> 
> -   In VM1, run testpmd::
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.2 \
> +      --file-prefix=test2 -- -i
> +      testpmd> set fwd rxonly
> +      testpmd> mac_addr add 0 vf2_mac_addres
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -      testpmd>set fwd rxonly
> -      testpmd>show port info all     //get the vf1_mac_address
> -      testpmd>start
> -      testpmd>show port stats all
> +   VF0, run testpmd::
> 
> -   In VM2, run testpmd::
> +      ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.0 \
> +       --file-prefix=test3 -- -i --eth-peer=0,vf2_mac_address
> +      testpmd> set fwd txonly
> +      testpmd> start
> +      testpmd> show port stats all
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,vf1_mac_address
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +    Check VF2 can get all the packets. Check the packet content is no
> +    corrupted.  so VF0->VF2 is working.
> 
> -   Check VF1 can not get any packets, so VF2->VF1 is not working.
> +4. VF2 send traffic, and set the packet's DEST MAC to VF3,
> +   check VF3 can receive the packets.
> 
> -6. Set "testpmd> port start all" and "testpmd> start" in step2,
> -   then run the step3-5 again. same result.
> +5. Set "testpmd> port start all" and "testpmd> start" in step1,
> +   then run the step2-4 again. same result.
> 
> +Test Case: PF interaction with Floating VF and legacy VF
> +========================================================
> 
> -Test Case5: PF interaction with Floating VF and legacy VF -
> =========================================================
> -DPDK PF, then create 2VFs, VF0 is in floating VEB, VF1 is in legacy VEB.
> +Summary: DPDK PF, then create 4VFs, VF0 and VF3 is in floating VEB,
> +VF1 and VF2 is in legacy VEB.
> 
>  1. Send traffic from VF0 to PF, then check PF will not see any traffic;  2. Send
> traffic from VF1 to PF, then check PF will receive all the packets.
> @@ -335,77 +311,87 @@ DPDK PF, then create 2VFs, VF0 is in floating VEB, VF1
> is in legacy VEB.
>     tester.
>  4. send traffic from tester to VF1, check VF1 can receive all the traffic
>     from tester.
> +5. send traffic from VF1 to VF2, check VF2 can receive all the traffic
> +   from VF1.
> 
> -5. In host, launch testpmd::
> +Details:
> 
> -      ./testpmd -c 0x3 -n 4
> -       -w 82:00.0,enable_floating_veb=1,floating_veb_list=0 -- -i
> +1. In PF, launch testpmd::
> +
> +      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 \
> +      \"-w 05:00.0,enable_floating_veb=1,floating_veb_list=0;3\" \
> +      --file-prefix=test1 -- -i
>        testpmd> set fwd rxonly
>        testpmd> port start all
>        testpmd> start
>        testpmd> show port stats all
> 
> -6. In VF1, run testpmd::
> -
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,pf_mac_addr
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +2. VF0, run testpmd::
> 
> -   Check PF can not get any packets, so VF1->PF is not working.
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 \
> +      --file-prefix=test2 -- -i --eth-peer=0,pf_mac_addr
> +      testpmd> set fwd txonly
> +      testpmd> start
> 
> -7. In VF2, run testpmd::
> +   Check PF can not get any packets, so VF0->PF is not working.
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,pf_mac_addr
> -      testpmd>set fwd txonly
> -      testpmd>start
> -      testpmd>show port stats all
> +3. VF1, run testpmd::
> 
> -      Check PF can get all the packets, so VF2->PF is working.
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 \
> +      --file-prefix=test2 -- -i --eth-peer=0,pf_mac_addr
> +      testpmd> set fwd txonly
> +      testpmd> start
> 
> -8. Set "testpmd> port stop all" in step2 in Host,
> -   then run the test case again. same result.
> +   Check PF can get all the packets, so VF1->PF is working.
> 
> -9. In host, launch testpmd::
> +4. VF0, run testpmd::
> 
> -      ./testpmd -c 0x3 -n 4
> -       -w 82:00.0,enable_floating_veb=1,floating_veb_list=0 -- -i
> -      testpmd> set fwd mac
> -      testpmd> port start all
> +     ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file-
> prefix=test2 -- -i
> +      testpmd> mac_addr add 0 VF0_mac_address
> +      testpmd> set promisc all off
> +      testpmd> set fwd rxonly
>        testpmd> start
> -      testpmd> show port stats all
> 
> +   In tester, run scapy::
> +
> +      packet=Ether(dst="VF0_mac_address")/IP()/UDP()/Raw('x'*20)
> +      sendp(packet,iface="enp132s0f0")
> 
> -10. In VF1, run testpmd::
> +   Check VF0 can get all the packets, so tester->VF0 is working.
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -       testpmd>show port info all       //get VF1_mac_address
> -       testpmd>set fwd rxonly
> -       testpmd>start
> -       testpmd>show port stats all
> +5. VF1, run testpmd::
> +
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file-
> prefix=test2 -- -i
> +      testpmd> mac_addr add 0 VF1_mac_address
> +      testpmd> set promisc all off
> +      testpmd> set fwd rxonly
> +      testpmd> start
> 
>     In tester, run scapy::
> 
>        packet=Ether(dst="VF1_mac_address")/IP()/UDP()/Raw('x'*20)
>        sendp(packet,iface="enp132s0f0")
> 
> -   Check VF1 can not get any packets, so tester->VF1 is not working.
> +   Check VF1 can get all the packets, so tester->VF1 is working.
> 
> -11. In VF2, run testpmd::
> +6. VF1, run testpmd::
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -       testpmd>show port info all       //get VF2_mac_address
> -       testpmd>set fwd rxonly
> -       testpmd>start
> -       testpmd>show port stats all
> +      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file-
> prefix=test2 -- -i
> +      testpmd> mac_addr add 0 VF1_mac_address
> +      testpmd> set promisc all off
> +      testpmd> set fwd rxonly
> +      testpmd> start
> 
> -   In tester, run scapy::
> +   VF2, run testpmd::
> 
> -      packet=Ether(dst="VF2_mac_address")/IP()/UDP()/Raw('x'*20)
> -      sendp(packet,iface="enp132s0f0")
> +      ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.2 \
> +      --file-prefix=test3 -- -i --eth-peer=0,VF1_mac_address
> +      testpmd> set fwd txonly
> +      testpmd> start
> 
> -   Check VF1 can get all the packets, so tester->VF2 is working.
> +   Check VF1 can get all the packets, so VF2->VF1 is working.
> +   PF link down, VF2->VF1 can work too.
> 
> -12. Set "testpmd> port stop all" in step2 in Host, then run the test case
> -    again.  VF1 and VF2 cannot receive any packets. (because PF link down, and
> -    PF can't receive any packets. so even if VF2 can't receive any packets.)
> +7. Set "testpmd> port stop all" in step1 in PF, then run the test case
> +   again.  VF1 and VF2 cannot receive any packets. (because PF link down, and
> +   PF can't receive any packets. so even if VF2 can't receive any
> +packets.)
> --
> 2.5.0



More information about the dts mailing list