freebsd-dev/sys/dev/qlxge
Gleb Smirnoff b245f96c44 Since 32-bit if_baudrate isn't enough to describe a baud rate of a 10 Gbit
interface, in the r241616 a crutch was provided. It didn't work well, and
finally we decided that it is time to break ABI and simply make if_baudrate
a 64-bit value. Meanwhile, the entire struct if_data was reviewed.

o Remove the if_baudrate_pf crutch.

o Make all fields of struct if_data fixed machine independent size. The
  notion of data (packet counters, etc) are by no means MD. And it is a
  bug that on amd64 we've got a 64-bit counters, while on i386 32-bit,
  which at modern speeds overflow within a second.

  This also removes quite a lot of COMPAT_FREEBSD32 code.

o Give 16 bit for the ifi_datalen field. This field was provided to
  make future changes to if_data less ABI breaking. Unfortunately the
  8 bit size of it had effectively limited sizeof if_data to 256 bytes.

o Give 32 bits to ifi_mtu and ifi_metric.
o Give 64 bits to the rest of fields, since they are counters.

__FreeBSD_version bumped.

Discussed with:	emax
Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-03-13 03:42:24 +00:00
..
qls_dbg.c
qls_dbg.h
qls_def.h
qls_dump.c Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
qls_dump.h
qls_glbl.h
qls_hw.c
qls_hw.h
qls_inline.h
qls_ioctl.c Validate the buffer and its length passed to QLA_MPI_DUMP. 2013-11-15 01:44:58 +00:00
qls_ioctl.h
qls_isr.c
qls_os.c Since 32-bit if_baudrate isn't enough to describe a baud rate of a 10 Gbit 2014-03-13 03:42:24 +00:00
qls_os.h
qls_ver.h
README.txt

#$FreeBSD$

			README File
		QLogic 8100 series Dual Port
10 Gigabit Ethernet & CNA Adapter Driver for FreeBSD 9.x/10.x

		QLogic Corporation.
		All rights reserved. 


Table of Contents
1. Package Contents 
2. OS Support
3. Supported Features
4. Using the Driver
   4.1 Installing the driver
   4.2 Removing the driver
5. Driver Parameters
6. Additional Notes
7. Contacting Support

1. Package Contents 
 * Documentation 
   - README (this document) version:1.0
   - Release Notes Version:1.0
 * Driver (if_qlxge.ko)
	- FreeBSD 9.x/10.x
 * Firmware: pre-flashed on QLogic adapter;

2. OS Support

The Qlogic 10Gigabit Ethernet/CNA driver is compatible with the 
following OS platforms:
 * FreeBSD 9.x/10.x (64-bit) [Intel EM64T, AMD64]

3. Supported Features
10Gigabit Ethernet NIC/CNA driver supports following features

* Large Segment Offload over TCP IPV4
* Large Segment Offload over TCP IPV6
* Receive Side scaling
* TCP over IPv4 checksum offload
* UDP over IPv4 checksum offload
* IPV4 checksum offload
* TCP over IPv6 checksum offload
* UDP over IPv6 checksum offload
* Jumbo frames
* VLAN Tag


4. Using the driver

 4.1 Installing the driver

   - copy the driver file (if_qlxge.ko) into some directory (say qla_driver)
   - cd <to qla_driver>
   - kldload -v ./if_qlxge.ko

 4.2 Removing the driver
 
  - kldunload if_qlxge

5. Parameters to set prior to installing the driver

   - Add the following lines to /etc/sysctl.conf and reboot the machine prior
     to installing the driver
   
	net.inet.tcp.recvbuf_max=262144
	net.inet.tcp.recvbuf_inc=16384
	kern.ipc.nmbclusters=1000000
	kern.ipc.maxsockbuf=2097152
	net.inet.tcp.recvspace=131072
	net.inet.tcp.sendbuf_max=262144
	net.inet.tcp.sendspace=65536
 
   - If you do not want to reboot the system please run the following commands

	login or su to root

	sysctl net.inet.tcp.recvbuf_max=262144
	sysctl net.inet.tcp.recvbuf_inc=16384
	sysctl kern.ipc.nmbclusters=1000000
	sysctl kern.ipc.maxsockbuf=2097152
	sysctl net.inet.tcp.recvspace=131072
	sysctl net.inet.tcp.sendbuf_max=262144
	sysctl net.inet.tcp.sendspace=65536

7. Contacting Support 
Please feel free to contact your QLogic approved reseller or QLogic 
Technical Support at any phase of integration for assistance. QLogic
Technical Support can be reached by the following methods: 
Web:    http://support.qlogic.com
E-mail: support@qlogic.com
(c) Copyright 2013-14. All rights reserved worldwide. QLogic, the QLogic 
logo, and the Powered by QLogic logo are registered trademarks of
QLogic Corporation. All other brand and product names are trademarks 
or registered trademarks of their respective owners.