freebsd-skq/sys/dev/qlxgb
hselasky 49c137f7be Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.

- Wrong or missing "access" specifier. The "access" specifier
sometimes included the SYSCTL type, which it should not, except for
procedural SYSCTL nodes.

- Logical OR where binary OR was expected.

- Properly assert the "access" argument passed to all SYSCTL macros,
using the CTASSERT macro. This applies to both static- and dynamically
created SYSCTLs.

- Properly assert the the data type for both static and dynamic
SYSCTLs. In the case of static SYSCTLs we only assert that the data
pointed to by the SYSCTL data pointer has the correct size, hence
there is no easy way to assert types in the C language outside a
C-function.

- Rewrote some code which doesn't pass a constant "access" specifier
when creating dynamic SYSCTL nodes, which is now a requirement.

- Updated "EXAMPLES" section in SYSCTL manual page.

MFC after:	3 days
Sponsored by:	Mellanox Technologies
2014-10-21 07:31:21 +00:00
..
qla_dbg.c
qla_dbg.h
qla_def.h
qla_glbl.h
qla_hw.c check for defrag only when bus_dmamap_load_mbuf_sg() returns EFBIG. Comment in 2014-02-14 01:02:06 +00:00
qla_hw.h
qla_inline.h
qla_ioctl.c
qla_ioctl.h
qla_isr.c
qla_misc.c
qla_os.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
qla_os.h Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
qla_reg.h
qla_ver.h
README.txt

# $FreeBSD$

			README File
	QLogic 3200 and 8200 series Single/Dual Port
10 Gigabit Ethernet & CNA Adapter Driver for FreeBSD 7.x/8.x/9.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_qlxgb.ko)
	- FreeBSD 7.x/8.x/9.x
 * Firmware: pre-flashed on QLogic adapter;

2. OS Support

The Qlogic 10Gigabit Ethernet/CNA driver is compatible with the 
following OS platforms:
 * FreeBSD 7.x/8.x/9.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_qlxgb.ko) into some directory (say qla_driver)
   - cd <to qla_driver>
   - kldload -v ./if_qlxgb.ko

 4.2 Removing the driver
 
  - kldunload if_qlxgb

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
   
	kern.ipc.nmbjumbo9=262144
	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 kern.ipc.nmbjumbo9=262144
	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

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