From owner-svn-src-all@FreeBSD.ORG Tue Sep 24 20:15:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 21CDF51F; Tue, 24 Sep 2013 20:15:00 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F332C262A; Tue, 24 Sep 2013 20:14:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8OKExkn021819; Tue, 24 Sep 2013 20:14:59 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8OKExTa021818; Tue, 24 Sep 2013 20:14:59 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201309242014.r8OKExTa021818@svn.freebsd.org> From: Joel Dahl Date: Tue, 24 Sep 2013 20:14:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255861 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Sep 2013 20:15:00 -0000 Author: joel (doc committer) Date: Tue Sep 24 20:14:59 2013 New Revision: 255861 URL: http://svnweb.freebsd.org/changeset/base/255861 Log: Minor mdoc fixes. Approved by: re (blanket) Modified: head/share/man/man4/bxe.4 Modified: head/share/man/man4/bxe.4 ============================================================================== --- head/share/man/man4/bxe.4 Tue Sep 24 20:05:16 2013 (r255860) +++ head/share/man/man4/bxe.4 Tue Sep 24 20:14:59 2013 (r255861) @@ -32,10 +32,7 @@ .Os .Sh NAME .Nm bxe -.Nd "Broadcom NetXtreme II Ethernet adapter driver for BCM57710 / BCM57711 / -BCM57711E / BCM57712 / BCM57712-MF / BCM57800 / BCM57800-MF / BCM57810 / -BCM57810-MF / BCM57840 / BCM57840-MF 10Gb PCIE Ethernet Network Controllers -and Broadcom NetXtreme II BCM57840 10Gb/20Gb PCIE Ethernet Network Controllers. +.Nd Broadcom NetXtreme II Ethernet 10Gb PCIe adapter driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -54,7 +51,8 @@ if_bxe_load="YES" The .Nm driver provides support for PCIe 10Gb Ethernet adapters based on the Broadcom -NetXtreme II family of 10Gb chips. The driver supports Jumbo Frames, VLAN +NetXtreme II family of 10Gb chips. +The driver supports Jumbo Frames, VLAN tagging, checksum offload (IPv4, TCP, UDP, IPv6-TCP, IPv6-UDP), MSI-X interrupts, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), and Receive Side Scaling (RSS). @@ -90,35 +88,45 @@ Broadcom NetXtreme II BCM57840-MF 10Gb .El .Sh CONFIGURATION There a number of configuration parameters that can be set to tweak the -driver's behavior. These parameters can be set via the +driver's behavior. +These parameters can be set via the .Xr loader.conf 5 -file to take affect during the next system boot. The following parameters affect +file to take affect during the next system boot. +The following parameters affect ALL instances of the driver. .Bl -tag -width indent .It Va hw.bxe.debug DEFAULT = 0 .br -Sets the default logging level of the driver. See the Diagnostics and Debugging +Sets the default logging level of the driver. +See the Diagnostics and Debugging section below for more details. .It Va hw.bxe.interrupt_mode DEFAULT = 2 .br -Sets the default interrupt mode: 0=IRQ, 1=MSI, 2=MSIX. If set to MSIX and -allocation fails, the driver will roll back and attempt MSI allocation. If MSI +Sets the default interrupt mode: 0=IRQ, 1=MSI, 2=MSIX. +If set to MSIX and +allocation fails, the driver will roll back and attempt MSI allocation. +If MSI allocation fails, the driver will roll back and attempt fixed level IRQ -allocation. If IRQ allocation fails, then the driver load fails. With MSI/MSIX, +allocation. +If IRQ allocation fails, then the driver load fails. +With MSI/MSIX, the driver attempts to allocate a vector for each queue in addition to one more for default processing. .It Va hw.bxe.queue_count DEFAULT = 4 .br -Sets the default number of fast path packet processing queues. Note that one +Sets the default number of fast path packet processing queues. +Note that one MSI/MSIX interrupt vector is allocated per-queue. .It Va hw.bxe.max_rx_bufs DEFAULT = 0 .br -Sets the maximum number of receive buffers to allocate per-queue. Zero(0) means -to allocate a receive buffer for every buffer descriptor. By default this +Sets the maximum number of receive buffers to allocate per-queue. +Zero(0) means +to allocate a receive buffer for every buffer descriptor. +By default this equates to 4080 buffers per-queue which is the maximum value for this config parameter. .It Va hw.bxe.hc_rx_ticks @@ -132,14 +140,17 @@ Sets the number of ticks for host interr .It Va hw.bxe.rx_budget DEFAULT = 0xffffffff .br -Sets the maximum number of receive packets to process in an interrupt. If the +Sets the maximum number of receive packets to process in an interrupt. +If the budget is reached then the remaining/pending packets will be processed in a scheduled taskqueue. .It Va hw.bxe.max_aggregation_size DEFAULT = 32768 .br -Sets the maximum LRO aggregration byte size. The higher the value the more -packets the hardware will aggregate. Maximum is 65K. +Sets the maximum LRO aggregration byte size. +The higher the value the more +packets the hardware will aggregate. +Maximum is 65K. .It Va hw.bxe.mrrs DEFAULT = -1 .br @@ -155,11 +166,15 @@ Enable/Disable 4-tuple RSS for UDP: 0=DI .El .Pp Special care must be taken when modifying the number of queues and receive -buffers. FreeBSD imposes a limit on the maximum number of +buffers. +FreeBSD imposes a limit on the maximum number of .Xr mbuf 9 -allocations. If buffer allocations fail, the interface initialization will fail -and the interface will not be usable. The driver does not make a best effort -for buffer allocations. It is an all or nothing effort. +allocations. +If buffer allocations fail, the interface initialization will fail +and the interface will not be usable. +The driver does not make a best effort +for buffer allocations. +It is an all or nothing effort. .Pp You can tweak the .Xr mbuf 9 @@ -175,19 +190,26 @@ as follows: .Ed .Pp There are additional configuration parameters that can be set on a per-instance -basis to dynamically override the default configuration. The '#' below must be +basis to dynamically override the default configuration. +The '#' below must be replaced with the driver instance / interface unit number: .Bl -tag -width indent .It Va dev.bxe.#.debug DEFAULT = 0 .br -Sets the default logging level of the driver instance. See hw.bxe.debug above and +Sets the default logging level of the driver instance. +See +.Va hw.bxe.debug +above and the Diagnostics and Debugging section below for more details. .It Va dev.bxe.#.rx_budget DEFAULT = 0xffffffff .br Sets the maximum number of receive packets to process in an interrupt for the -driver instance. See hw.bxe.rx_budget above for more details. +driver instance. +See +.Va hw.bxe.rx_budget +above for more details. .El .Pp Additional items can be configured using @@ -221,7 +243,8 @@ DEFAULT = ON .Sh DIAGNOSTICS AND DEBUGGING There are many statistics exposed by .Nm -via sysctl. +via +.Xr sysctl 8 . .Pp To dump the default driver configuration: .Bd -literal -offset indent @@ -253,12 +276,20 @@ additional '#' with the queue number): The .Nm driver has the ability to dump a ton of debug messages to the system -log. The default level of logging can be set with the 'hw.bxe.debug' -configuration parameter. Take care with this setting as it can result in too -many logs being dumped. Since this parameter is the default one, it affects -every instance and will dramatically change the timing in the driver. A better +log. +The default level of logging can be set with the +.Va hw.bxe.debug +.Xr sysctl 8 . +Take care with this setting as it can result in too +many logs being dumped. +Since this parameter is the default one, it affects +every instance and will dramatically change the timing in the driver. +A better alternative to aid in debugging is to dynamically change the debug level of a -specific instance with the 'dev.bxe.#.debug' configuration parameter. This allows +specific instance with the +.Va dev.bxe.#.debug +.Xr sysctl 8 . +This allows you to turn on/off logging of various debug groups on-the-fly. .Pp The different debug groups that can be toggled are: @@ -288,13 +319,13 @@ When finished turn the logging back off: # sysctl dev.bxe.0.debug=0 .Ed .Sh SEE ALSO +.Xr netstat 1 , .Xr altq 4 , .Xr arp 4 , .Xr netintro 4 , .Xr ng_ether 4 , .Xr vlan 4 , .Xr ifconfig 8 -.Xr netstat 1 .Sh HISTORY The .Nm