Page MenuHomeFreeBSD

Cavium LiquidIo 2350/2360 10/25G Intelligent NIC driver Initial submission
ClosedPublic

Authored by pkanneganti_cavium.com on Aug 8 2017, 5:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 6, 2:38 PM
Unknown Object (File)
Wed, Nov 6, 2:35 PM
Unknown Object (File)
Tue, Nov 5, 7:11 AM
Unknown Object (File)
Mon, Nov 4, 11:02 AM
Unknown Object (File)
Fri, Nov 1, 12:00 PM
Unknown Object (File)
Oct 11 2024, 1:23 AM
Unknown Object (File)
Oct 3 2024, 10:28 PM
Unknown Object (File)
Sep 11 2024, 11:02 PM

Details

Summary

The diff is the initial submission of Cavium Liquidio 2350/2360 10/25G Intelligent NIC driver.
The submission conconsists of firmware binary file and driver sources.

Test Plan

Test Sub Section TEST ID TEST DESCRIPTION
Installation Tests LiquidIO-Driver-PASS-1-INS-1.1 Continuously Inserting and removing the corresponding PF/VF drivers
LiquidIO-Driver-PASS-1-INS-1.2 Inserting and removing the PF driver continuously on Host side
LiquidIO-Driver-PASS-1-INS-1.3 Inserting and removing the VF driver continuously on Host/VM side
LiquidIO-Driver-PASS-1-INS-1.4 Removing the VF and PF driver without bring down the ethx interfaces on VM and HOST
LiquidIO-Driver-PASS-1-INS-1.5 Verify LiquidIO driver should load successfully using num_vfs=x,x

Package and Image Verification tests LiquidIO-Driver-FULL-QA-BIN-PKG-1.1 Verify LiquidIO-Driver binary package installation is successful
LiquidIO-Driver-FULL-QA-BIN-PKG-1.2 Verify LiqduiIO-Driver binary package version numbers in LiquidIO-Driver binary package docs
LiquidIO-Driver-FULL-QA-BIN-PKG-1.3 Verify LiquidIO-Driver binary package release docs are suggesting correct and check supported target platforms list
LiquidIO-Driver-FULL-QA-BIN-PKG-1.4 Verify LiquidIO-Driver binary package includes required set of liquidio binary image files in octeon folder
LiquidIO-Driver-FULL-QA-SRC-PKG-1.1 Verify LiquidIO-Driver source package includes the LiquidIO-Driver released docs
LiquidIO-Driver-FULL-QA-SRC-PKG-1.2 Verify LiquidIO-Driver source package includes required set of liquidio files
LiquidIO-Driver-FULL-QA-SRC-PKG-1.3 Verify LiquidIO-Driver source package includes required set of liquidio binary image files and cvmcs-nic.strip in octeon folder
LiquidIO-Driver-FULL-QA-IMG-VER-1.1 Verify LiquidIO PF driver is loading successfully on Octeon NIC adapters at x-86 host
LiquidIO-Driver-FULL-QA-IMG-VER-1.3 Check the modinfo of both liquid.ko and liquidio_vf.ko module before and after installing the module
LiquidIO-Driver-FULL-QA-PKG-CMPL-1.1 Verify host octeon driver compilation is successful in LiquidIO-Driver binary package

PF Driver Installation Tests LiquidIO-PF-Driver-FULL-QA-INS-1.1 LiquidIO driver build test
LiquidIO-PF-Driver-FULL-QA-INS-1.2 Verify driver successfully load in "boot from PCI mode" and "boot from flash mode" and update the u-boot
LiquidIO-PF-Driver-FULL-QA-INS-1.3 Driver compiled as built in kernel module
LiquidIO-PF-Driver-FULL-QA-INS-1.4 Verify LiquidIO Driver should install and uninstall with out using LiquidIO NIC card.
LiquidIO-PF-Driver-FULL-QA-INS-1.5 LiquidIO driver load during system boot
LiquidIO-PF-Driver-FULL-QA-INS-1.6 Hot plug PCI
LiquidIO-PF-Driver-FULL-QA-INS-1.7 insmod fwtype=”none”
LiquidIO-PF-Driver-FULL-QA-INS-1.8 console_bitmask=xx
LiquidIO-PF-Driver-FULL-QA-INS-1.9 LiquidIO Driver should install with debug param
LiquidIO-PF-Driver-FULL-QA-INS-1.10 Test with PCIe gen-1/2/3 and different lanes like x4, x8
LiquidIO-PF-Driver-FULL-QA-INS-1.11 Test with 2 NIC card installed on single Host
LiquidIO-PF-Driver-FULL-QA-INS-1.12 Verify ethX interface's MAC address on all the ethX interface's
LiquidIO-PF-Driver-FULL-QA-INS-1.13 Verify ping should works on both host's while installing and uninstall the LiquidIO driver on both host's
LiquidIO-PF-Driver-FULL-QA-INS-1.14 Check the Driver information by using ethx interfaces
LiquidIO-PF-Driver-FULL-QA-INS-1.15 Verify LiquidIO driver should load successfully without using num_vfs=x,x and Check number of I/O queues per PF
LiquidIO-PF-Driver-FULL-QA-INS-1.16 Verify LiquidIO driver should load successfully with num_queues_per_pf=x,x and Check number of I/O queues per PF
LiquidIO-PF-Driver-FULL-QA-INS-1.17 Verify LiquidIO driver should load successfully with num_queues_per_vf=x,x and Check number of I/O queues per VF
LiquidIO-PF-Driver-FULL-QA-INS-1.18 Verify that PF driver shouldn't uninstall when VF driver is in use
LiquidIO-PF-Driver-FULL-QA-INS-1.19 Verify that PF driver should load and unload successfully with OCT PCI console or Serial console open
LiquidIO-PF-Driver-FULL-QA-INS-1.20 Verify that whether LiquidIO NIC able to support live upgrade or not.

Test Sub Section TEST ID TEST DESCRIPTION
VF Driver Installation Tests LiquidIO-VF-Driver-FULL-QA-INS-1.1 VF driver installation without adding Cavium Adapter PCI Host device
LiquidIO-VF-Driver-FULL-QA-INS-1.2 VF driver installation by adding Cavium Adapter PCI Host device
LiquidIO-Driver-FULL-QA-IMG-VER-1.2 Verify LiquidIO VF driver is loading loading successfully on Octeon NIC adapters at x-86 host
LiquidIO-VF-Driver-FULL-QA-INS-1.3 Check the driver information after loading liquidio_vf.ko module on VM's
LiquidIO-VF-Driver-FULL-QA-INS-1.4 Check the Adpater name using “lspci |grep MIPS” command
LiquidIO-VF-Driver-FULL-QA-INS-1.5 Check the MAC address of eth interface on VM
LiquidIO-VF-Driver-FULL-QA-INS-1.6 Check the System status after removing VF module on VM's
LiquidIO-VF-Driver-FULL-QA-INS-1.7 Check installing VF driver without installing liquidio.ko module
LiquidIO-VF-Driver-FULL-QA-INS-1.8 Verify liquidIO vf module will load during VM reboot
LiquidIO-VF-Driver-FULL-QA-INS-1.9 Check the modinfo of VF driver installation before and after installing the VF driver
LiquidIO-VF-Driver-FULL-QA-INS-1.10 Check the VM behavior when we try to remove PF driver directly on Hosts
LiquidIO-VF-Driver-FULL-QA-INS-1.11 Check the traffic flow between VM's when we remove VF driver on other VM
LiquidIO-VF-Driver-FULL-QA-INS-1.12 Verify VF driver should load successfully with num_queues=x,x and Check number of I/O queues per VF
LiquidIO-VF-Driver-FULL-QA-INS-1.13 Verify VF driver successfully installed on VM and host
LiquidIO-VF-Driver-FULL-QA-INS-1.14 Verify VF driver compilation is successful using LiquidIO-Driver binary package and install VF driver on VM
LiquidIO-VF-Driver-FULL-QA-INS-1.15 Verify that VF interfaces should present on host even one of VF interface is attached to VM in SR-IOV mode and VF driver is loaded on VM
LiquidIO-VF-Driver-FULL-QA-INS-1.16 Verify Vf driver compatibility. Should able to load the released VF driver with current released PF driver.

Ethtool Tests LiquidIO-Driver-PASS-1-ETH-1.1 Check the driver information of both PF and VF interfaces using ethtool
LiquidIO-Driver-PASS-1-ETH-1.3 Check the link status of PF and VF interfaces using ethtool on both Host's and VM's
LiquidIO-Driver-PASS-1-ETH-1.4 Check the PF and VF interfaces statistics using ethtool -S command
LiquidIO-Driver-PASS-1-ETH-1.5 Check the pause parameter status on PF and VF interfaces using ethtool -a command
LiquidIO-Driver-PASS-1-ETH-1.6 Verify Pause parameters setting enable/disable on PF and VF interfaces
LiquidIO-Driver-PASS-1-ETH-1.7 Check enabling/disbaling checksun offloads for pF and VF interfaces
LiquidIO-Driver-PASS-1-ETH-1.8 Verify timestamping parameters on PF and VF interfaces using ethtool -T command
LiquidIO-Driver-PASS-1-ETH-1.9 Verify dump registers on PF and VF interfaces using ethtool -d option
LiquidIO-Driver-FULL-QA-ETH-1.1 Verify LED flashing for LIO interface
LiquidIO-Driver-FULL-QA-ETH-1.4 Verify TX/RX ring descriptor information
LiquidIO-Driver-FULL-QA-ETH-1.5 Display channel parameters and current hardware settings on ethX interfaces
LiquidIO-Driver-FULL-QA-ETH-1.6 Verify EEProm information using ethtool
LiquidIO-Driver-FULL-QA-ETH-1.7 Verify raw mode test using ethtool command
LiquidIO-Driver-FULL-QA-ETH-1.8 Verify msglvl using ethtool command
LiquidIO-Driver-FULL-QA-ETH-1.9 Verify coalescing parameters on lio interfaces

PF specific functional tests LiquidIO-Driver-FULL-QA-PF-FUN-1.1 Verify packet-size more than MTU are dropped on ethX interfaces
LiquidIO-Driver-FULL-QA-PF-FUN-1.2 Verify good and Bad Checksum verification on eth interfaces
LiquidIO-Driver-FULL-QA-PF-FUN-1.3 Verify ping test with system suspend/resume
LiquidIO-Driver-FULL-QA-PF-FUN-1.4 Verify "TSO honors MSS test , Packet-size more than MTU are dropped" on ethx interfaces
LiquidIO-Driver-FULL-QA-PF-FUN-1.5 Verify "TSO honors MSS test , Packet-size more than MTU are dropped" on Intel interface.
LiquidIO-Driver-FULL-QA-PF-FUN-1.6 Verify reach-ability of ping command on host-1 to host-3 ip via host-2
LiquidIO-Driver-FULL-QA-PF-FUN-1.7 Verify packets with PSH/URG/ECE flags should never be aggregated
LiquidIO-Driver-FULL-QA-PF-FUN-1.8 Verify simultaneous ping using multiple ethX interface test on ethX interfaces
LiquidIO-Driver-FULL-QA-PF-FUN-1.9 Verify DHCP functionality for ethX interface's
LiquidIO-Driver-FULL-QA-PF-FUN-1.10 Verify various ethertypes
LiquidIO-Driver-FULL-QA-PF-FUN-1.11 Host must not receive packets larger than MTU set on ethX interface
LiquidIO-Driver-FULL-QA-PF-FUN-1.12 Check link status of eth1 interface without connecting xaui cable to eth0 interface
LiquidIO-Driver-FULL-QA-PF-FUN-1.13 Verify TCP and UDP traffic using jumbo frames on ethx interfaces. To test this install driver on both host's.
LiquidIO-Driver-FULL-QA-PF-FUN-1.14 Verify TCP and UDP traffic with vxlan on ethx interfaces
LiquidIO-Driver-FULL-QA-PF-FUN-1.15 verify good and Bad Checksum verification on vxlan interface

Basic functional tests LiquidIO-Driver-FULL-QA-FUN-1.1 Check the TCP traffic flow between Host-1/VM-1 to Host-2/VM-2 with default MTU for different flow
LiquidIO-Driver-FULL-QA-FUN-1.2 Check the UDP traffic flow between Host-1/VM-1 to Host-2/VM-2 with defailt MTU for different flows
LiquidIO-Driver-FULL-QA-FUN-1.3 Check the TCP traffic flow between Host-1/VM-1 to Host-2/VM-2 with modified MTU for different flows
LiquidIO-Driver-FULL-QA-FUN-1.4 Check the UDP traffic flow between Host-1/VM-1 to Host-2/VM-2 with modified MTU for different flows
LiquidIO-Driver-FULL-QA-FUN-1.5 Check the ethx interfaces status on Hosts/VM's,when we plug back to back connected cables
LiquidIO-Driver-FULL-QA-FUN-1.6 Check the ethx interfaces status on Hosts/VM's, when we unplug back to back connected cables
LiquidIO-Driver-FULL-QA-FUN-1.7 Verify "Negotiate different MSS using TCP_MAXSEG"
LiquidIO-Driver-FULL-QA-FUN-1.8 Verify multiple alias for ethX interface test
LiquidIO-Driver-FULL-QA-FUN-1.9 Verify timestamp fields using wireshark on ethX interfaces
LiquidIO-Driver-FULL-QA-FUN-1.10 Verify able to give alias interface name to LiquidIO interface using ip command
LiquidIO-Driver-FULL-QA-FUN-1.11 Verify able to rename interface name of LiquidIO interface using ip command
LiquidIO-Driver-FULL-QA-FUN-1.12 Verify able to disable and enable multicast on interface using ip command
LiquidIO-Driver-FULL-QA-FUN-1.13 Verify able to disable and enable arp on interface using ip command
LiquidIO-Driver-FULL-QA-FUN-1.14 Verify we are able to monitor all network events such as changes in network configuration, routing tables, and ARP/NDP tables with ip command on LiquidIO interface
LiquidIO-Driver-FULL-QA-FUN-1.15 Verify we are able to monitor specific network events with ip command on LiquidIO interface
LiquidIO-Driver-FULL-QA-FUN-1.16 Verify UDP traffic with vxlan on ethx interfaces with different destination port numbers

Test Sub Section TEST ID TEST DESCRIPTION

VF specific functional tests LiquidIO-Driver-FULL-QA-VF-FUN-1.1 Check whether we can pass-through all ethX Physical interfaces to separate VM's
LiquidIO-Driver-FULL-QA-VF-FUN-1.2 Check the ethx interface status across all VM's after loading liquidio_vf module on all VM's
LiquidIO-Driver-FULL-QA-VF-FUN-1.3 Check the MAC address for all ethx interface across all VM's which are added for eth0 and eth1 physical interface
LiquidIO-Driver-FULL-QA-VF-FUN-1.4 Check for ping request/reply packets across all VM's on single Host over eth0 physical interface
LiquidIO-Driver-FULL-QA-VF-FUN-1.5 Check the TCP traffic flow between VM-1 to VM-2 within a single Host for different flows
LiquidIO-Driver-FULL-QA-VF-FUN-1.6 Check the UDP traffic flow between VM-1 to VM-2 within a single Host for different flows
LiquidIO-Driver-FULL-QA-VF-FUN-1.7 Check whether we can pass-through all ethX Physical interfaces to separate VM's
LiquidIO-Driver-FULL-QA-VF-FUN-1.8 Check the traffic on both physical interfaces(eth0 and eth1) using all VM's
LiquidIO-Driver-FULL-QA-VF-FUN-1.9 Test whether we can add same PCI device ID for multiple VM's
LiquidIO-Driver-FULL-QA-VF-FUN-1.10 Verify end to end ping functionality from host1-VM to Host2 and vice versa
LiquidIO-Driver-FULL-QA-VF-FUN-1.11 Check whether we can pass-through all ethX Physical interfaces to separate VM's on both Host's
LiquidIO-Driver-FULL-QA-VF-FUN-1.12 Test whether we can able to add all 63 interfaces to a single VM or not
LiquidIO-Driver-FULL-QA-VF-FUN-1.13 Check the traffic between all 63 interfaces from four VMs at Host-1 and across all 63 interfaces at Host-2
LiquidIO-Driver-FULL-QA-VF-FUN-1.14 Verify traffic flow behaviour with cable insert and removal
LiquidIO-Driver-FULL-QA-VF-FUN-1.15 Verify TCP and UDP traffic using jumbo frames on ethx interfaces between VM-1 to VM-2 with different hosts. To test this install driver on both host's. Run VM on each host and install VF driver on VM.
LiquidIO-Driver-FULL-QA-VF-FUN-1.16 Verify TCP and UDP traffic with vxlan on ethx interfaces between VM-1 to VM-2 with different hosts
LiquidIO-Driver-FULL-QA-VF-FUN-1.17 Verify Ping with 63 VFs from VM to Other Host. Each VM is attached with up to 8 VF.
LiquidIO-Driver-FULL-QA-VF-FUN-1.18 Verify iperf with 63 VFs from VM to Other Host. Each VM is attached with up to 8 VF.
LiquidIO-Driver-FULL-QA-VF-FUN-1.19 Verify that VFs should be unable to send the traffic if PF interfaces are down.
LiquidIO-Driver-FULL-QA-VF-FUN-1.20 Verify LiquidIO must drop the packets and VM-1 should not receive the packets if larger than MTU is set on both Host VM's-ethX interfaces
LiquidIO-Driver-FULL-QA-VF-FUN-1.21 Verify that whether 31 macvtaps can be associated to each VF or not.
LiquidIO-Driver-FULL-QA-VF-FUN-1.22 Verify VF driver unload while ping is running should not lead to crash or memory leak or warnings
LiquidIO-Driver-FULL-QA-VF-FUN-1.23 Load the PF driver with maximum supported VFs to each PF and check each VF of PF link status is affected by corresponding PF up/down
LiquidIO-Driver-FULL-QA-VF-FUN-1.24 Check latency after turning adaptive rx off then on
LiquidIO-Driver-FULL-QA-VF-FUN-1.25 Check when all 63 VMs are in flood traffic whether a random VM can be destroyed and reattach with same VF and again start flood traffic in that VM
LiquidIO-Driver-FULL-QA-VF-FUN-1.26 Check when all 63 VMs are in flood traffic whether all VMs can be destroyed and reattach with respective VFs and again start flood traffic in all VMs
LiquidIO-Driver-FULL-QA-VF-FUN-1.27 Verify VF "enable" link state
LiquidIO-Driver-FULL-QA-VF-FUN-1.28 Verify TCP Traffic on 32 VFs from each PF attached to separate VMs.
LiquidIO-Driver-FULL-QA-VF-FUN-1.29 Verify when one VM pauses while traffic flowing between two VMs on same host, traffic from other VM also be paused, once VM unpauses traffic must resume
LiquidIO-Driver-FULL-QA-VF-FUN-1.30 Verify when one VM pauses while traffic flowing between two VMs on different host, traffic from other VM should pauses, once VM unpauses traffic must resume.
LiquidIO-Driver-FULL-QA-VF-FUN-1.31 Verify when 1st VM pauses while traffic flowing between two VMs on same host, traffic from 2nd VM should pauses and traffic from 3rd VM to 2nd VM should not be disturbed, once VM unpauses traffic must resume
LiquidIO-Driver-FULL-QA-VF-FUN-1.32 Verify when one VM pauses while traffic coming to that VM should be also paused but traffic from other VMs to running VMs should not be disturbed, once VM unpauses all traffic to that VM must resume

Time stamping tests LiquidIO-Driver-FULL-QA-TMS-1.1 Rx time stamping test
LiquidIO-Driver-FULL-QA-TMS-1.2 Tx time stamping test
LiquidIO-Driver-FULL-QA-TMS-1.3 Clock frequency adjustment test

Negative Case tests LiquidIO-Driver-FULL-QA-NEG-1.1 Driver load test with bad firmware image
LiquidIO-Driver-FULL-QA-NEG-1.2 Driver load test with no firmware files
LiquidIO-Driver-FULL-QA-NEG-1.3 Driver load test with bad u-boot
LiquidIO-Driver-FULL-QA-NEG-1.4 Check minimum supported MTU for IPV4 is 68 and IPV6 is 1280
LiquidIO-Driver-FULL-QA-NEG-1.5 Verify that statistics shouldn't display for VF interfaces on VM
LiquidIO-Driver-FULL-QA-NEG-1.6 Verify that Channel parameters shouldn't display for VF driver
LiquidIO-Driver-FULL-QA-NEG-1.7 Verify that EEPROM information shouldn't display for VF interfaces on VM
LiquidIO-Driver-FULL-QA-NEG-1.8 Verify that LED flashing for VF interfaces on VM shouldn't work

Link AggregationTests LiquidIO-Driver-PASS-1-LA-1.1 LACP:Verify ethx interface can be added and removed to/from bonding. To test this install driver on host-1 and host-2 ethX interfaces. ethX interface can be added and removed from bonding module without any issue
LiquidIO-Driver-PASS-1-LA-1.2 LACP:Check the maximum traffic flow after adding ethx interfaces to bonding. To test this install driver on host-1 and host-2 ethX interfaces. Club ethX interfaces of same host using bonding feature and verify maximum iperf traffic.
LiquidIO-Driver-PASS-1-LA-1.3 LACP:Verify bonding mode=1 test on ethX interfaces. To test this install driver on host-1 and host-2 ethX interfaces. Ping should work without any issue on both host's.
LiquidIO-Driver-PASS-1-LA-1.4 LACP:Verify bonding mode=4 test on ethX interfaces. To test this install driver on host-1 and host-2 ethX interfaces. Ping should work without any issue on both host's. Traffic must pass without any issue.

Test Sub Section TEST ID TEST DESCRIPTION

Basic Functional Tests LiquidIO-Driver-PASS-1-FUN-1.1 Bring up/down PF and VF interfaces for multiple times
LiquidIO-Driver-PASS-1-FUN-1.2 Bring up/down PF and VF interfaces for multiple times during traffic flow
LiquidIO-Driver-PASS-1-FUN-1.3 Check the MAC address changes is reflecting over interface or not
LiquidIO-Driver-PASS-1-FUN-1.4 Verify ping functionality by changing MAC address for eth interface
LiquidIO-Driver-PASS-1-FUN-1.5 Verify multicast support on ethX interfaces
LiquidIO-Driver-PASS-1-FUN-1.6 Check mulitple multicast groups support on PF/VF interfaces over single interface
LiquidIO-Driver-PASS-1-FUN-1.7 Check for ping request/reply packets between end to end systems with modified MTU

Promisc Tests LiquidIO-Driver-PASS-1-PRO-1.1 Verify promisc mode functionality on PF interfaces
LiquidIO-Driver-PASS-1-PRO-1.2 Verify promisc mode functionality on VF interfaces and check whether VF packets getting on PF
LiquidIO-Driver-PASS-1-PRO-1.3 Verify promisc mode functionality on PF interfaces and check whether VF packets getting on VF only
LiquidIO-Driver-PASS-1-PRO-1.4 Verify promisc mode functionality on PF interfaces with unicast IP/MAC.

Data Integrity Tests LiquidIO-Driver-PASS_1-DI-1.1 Test wget(HTTP) data integrity test between Host's and VM's for small, medium and large size files
LiquidIO-Driver-PASS_1-DI-1.2 Test multiple wget sessions by running 5 to 6 wget download's on saperate terminals
LiquidIO-Driver-FULL-QA-DI-1.1 Data integrity test using ssh
LiquidIO-Driver-FULL-QA-DI-1.2 Data integrity test using ftp
LiquidIO-Driver-FULL-QA-DI-1.3 Verify UDP traffic with checksum
LiquidIO-Driver-FULL-QA-DI-1.4 Verify data integrity test using TCP with checksum
LiquidIO-Driver-FULL-QA-DI-1.5 Data integrity test using tftp
LiquidIO-Driver-FULL-QA-DI-1.6 Verify data integrity test where corrupted packet is sent and see that other end drops the packet accordingly

Ethtool Tests LiquidIO-Driver-PASS-1-ETH-1.2 Enable and Disable TSO/LRO properites of PF and VF interfaces using ethtool on both Host's and VM's
LiquidIO-Driver-FULL-QA-ETH-1.2 Verify coalescing parameters on lio interafces
LiquidIO-Driver-FULL-QA-ETH-1.3 Verify transmit side door bell count on lio interfaces

Fragmentation Tests LiquidIO-Driver-FULL-QA-FRA-1.1 Verify IP fragmentation and re-assembly test using ethX interfaces
LiquidIO-Driver-FULL-QA-FRA-1.2 Verify IP fragmentation and re-assembly test using UDP

Forwarding tests LiquidIO-Driver-FULL-QA-FWD-1.1 IP-forwarding of PCI traffic using traffic-gen (on Sub-Setup #3)
LiquidIO-Driver-FULL-QA-FWD-1.2 IP-forwarding with bridge (on Sub-Setup #4)
LiquidIO-Driver-FULL-QA-FWD-1.3 IP-forwarding when ip_forward is enabled (on Sub-Setup #5)
LiquidIO-Driver-FULL-QA-FWD-1.4 IP-forwarding when two LIO cards are connected with a single Host (on Sub-Setup #6)
LiquidIO-Driver-FULL-QA-FWD-1.5 Verify Bridge functionality using cavium Traffic-gen

Interoperability tests LiquidIO-Driver-FULL-QA-INT-1.1 Basic ping functionality on LIO-Intel
LiquidIO-Driver-FULL-QA-INT-1.2 Data integrity test using FTP from Host-1 to Host-2
LiquidIO-Driver-FULL-QA-INT-1.3 Data integrity test using FTP from Host-2 to Host-1
LiquidIO-Driver-FULL-QA-INT-1.4 Data integrity test using scp Host-1 to Host-2
LiquidIO-Driver-FULL-QA-INT-1.5 Data integrity test using scp from Host-2 to Host-1
LiquidIO-Driver-FULL-QA-INT-1.6 Data integrity test using HTTP Host-1 to Host-2
LiquidIO-Driver-FULL-QA-INT-1.7 Data integrity test using HTTP from Host-2 to Host-1
LiquidIO-DRIVER-FULL-QA-INT-1.8 Test for UDP traffic on LIO-Intel
LiquidIO-Driver-FULL-QA-INT-1.9 Data integrity test using TCP with checksum
LiquidIO-Driver-FULL-QA-INT-1.10 Test for TCP/UDP traffic using iperf
LiquidIO-Driver-FULL-QA-INT-1.11 IP fragmentation and re-assembly test
LiquidIO-Driver-FULL-QA-INT-1.12 IP fragmentation and re-assembly test using UDP
LiquidIO-Driver-FULL-QA-INT-1.13 Data integrity test using tftp

Load tests LiquidIO-Driver-FULL-QA-LOAD-1.1 Verify ping flood test using small packets size
LiquidIO-Driver-FULL-QA-LOAD-1.2 Verify ping flood test using medium packets size
LiquidIO-Driver-FULL-QA-LOAD-1.3 Verify ping flood test using large packets size
LiquidIO-Driver-FULL-QA-LOAD-1.4 Verify ping flood test using jumbo packets size
LiquidIO-Driver-FULL-QA-LOAD-1.5 Verify Load test using iperf3 and small size packets
LiquidIO-Driver-FULL-QA-LOAD-1.6 Verify Load test using iperf3 and medium size packets
LiquidIO-Driver-FULL-QA-LOAD-1.7 Verify Load test using iperf3 and large size packets
LiquidIO-Driver-FULL-QA-LOAD-1.8 Verify Load test using iperf3 and jumbo size packets
LiquidIO-Driver-FULL-QA-LOAD-1.9 Verify Load test for small packet size using traffic-gen
LiquidIO-Driver-FULL-QA-LOAD-1.10 Check the http protocol content download at full rate for 10 hours(over night) between Host-A-VM to Host-B-VM
LiquidIO-Driver-FULL-QA-LOAD-1.11 Check the ftp protocol content download at full rate for 10 hours(over night) between Host-A-VM to Host-B-VM
LiquidIO-Driver-FULL-QA-LOAD-1.12 Check TCP Traffic on 8 VFs from each PF to separate VM's on single Host for 12 hours
LiquidIO-Driver-FULL-QA-LOAD-1.13 Check TCP Traffic on 32 VFs from each PF to separate VM's on single Host for 12 hours
LiquidIO-Driver-FULL-QA-LOAD-1.14 Check TCP Traffic on 63 VFs from each PF to separate VM's on single Host for 12 hours

VLAN Tests LiquidIO-Driver-PASS-1-VLAN-1.1 Verify adding VLAN interface and ping
LiquidIO-Driver-PASS-1-VLAN-1.2 Verify VLAN tagging is successful
LiquidIO-Driver-PASS-1-VLAN-1.3 Check tcp/udp traffic flow between PF/VF over VLAN interfaces
LiquidIO-Driver-PASS-1-VLAN-1.4 Verify vlan support is available on LiquidIO NIC interfaces.
LiquidIO-Driver-PASS-1-VLAN-1.5 Verify VLAN configuration with NIC firmware
LiquidIO-Driver-PASS-1-VLAN-1.6 Verify NIC firmware overrides VLAN tagging on interface, with VLAN configured at NIC firmware
LiquidIO-Driver-PASS-1-VLAN-1.7 Verify firmware should not override VLAN tagging on interface after removing VLAN configuration on NIC firmware
LiquidIO-Driver-PASS-1-VLAN-1.8 Verify that VF on VM shouldn't see broadcast packet if it is not on VLAN
LiquidIO-Driver-PASS-1-VLAN-1.9 Verify VF to VF will ping when vlan Configuration of LiquidIO NIC VF interfaces at firmware level.

Data Base Tests LiquidIO-Driver-FULL-QA-DATABASE-1.1 Run MySql database server on Host-1 VM and run sysbench client from Host-2
LiquidIO-Driver-FULL-QA-DATABASE-1.2 Run MySql database server on Host-1 VM and run sysbench client from Host-2 with other loads to check stability

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

A few places where document dates have to be bumped, otherwise the manpages look good to me. Thanks for doing the work on these drivers!

share/man/man4/altq.4
155 ↗(On Diff #31767)

This is also a content change, so the .Dd of altq.4 needs to be bumped.

share/man/man4/liquidio.4
33 ↗(On Diff #31767)

You need to bump the .Dd to the date of the commit.

share/man/man4/vlan.4
138 ↗(On Diff #31767)

Another .Dd bump needed here in vlan.4.

sbruno requested changes to this revision.Aug 25 2017, 8:22 PM

So far, so good. A couple of "nits" that I'd like you to consider first.

  1. For the first pass, there's no need to add this to GENERIC. We can readd it well before the 12.0 release cycle.
  2. Let us add the driver to sys/modules/Makefile so we can get a KLD for folks to test with on this initial pass.
Index: sys/modules/Makefile
===================================================================
--- sys/modules/Makefile        (revision 322900)
+++ sys/modules/Makefile        (working copy)
@@ -225,6 +225,7 @@
        ${_linux_common} \
        ${_linux64} \
        linuxkpi \
+       lio \
        lmc \
        lpt \
        mac_biba \
  1. In sys/modules/lio/Makefile I'd rather see the KMOD name be set to "if_lio" as opposed to "lio". This matches other devices in the tree.

KMOD = if_lio

This revision now requires changes to proceed.Aug 25 2017, 8:22 PM
pkanneganti_cavium.com edited edge metadata.

Fixed the issues raised by the reviewers.

Since this driver explicitly refuses to compile on non-64bit architectures (where LP64 is not defined), I'm moving this to files.amd64 as I suspect that this was what was intended. Else this breaks every FreeBSD build.

Since this driver explicitly refuses to compile on non-64bit architectures (where LP64 is not defined), I'm moving this to files.amd64 as I suspect that this was what was intended. Else this breaks every FreeBSD build.

Leave it in files. Moving it to files.amd64 does nothing...

Just make sure we don't build this driver except on powerpc64, sparc64, amd64, mips64 and arm64. :)

This revision is now accepted and ready to land.Oct 30 2017, 8:33 PM
This revision was automatically updated to reflect the committed changes.