#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
283291 |
|
22-May-2015 |
jkim |
CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten years for head. However, it is continuously misused as the mpsafe argument for callout_init(9). Deprecate the flag and clean up callout_init() calls to make them more consistent.
Differential Revision: https://reviews.freebsd.org/D2613 Reviewed by: jhb MFC after: 2 weeks
|
#
276959 |
|
11-Jan-2015 |
np |
cxgb: replace r273280 with a more comprehensive fix.
Poll for link state when the link is down, even for interrupt capable PHYs.
Allow PHYs to report a dubious "partial" link. If this state is seen 3 consecutive times (each check is ~1s apart) then reset the PHY. This is a workaround for a situation where repeatedly toggling the link from the peer gets the AEL2005 PHY into a state where it never establishes a PCS block lock even when everything is in order.
MFC after: 1 week
|
#
272222 |
|
27-Sep-2014 |
np |
cxgb(4): implement if_get_counter.
|
#
271856 |
|
19-Sep-2014 |
glebius |
Remove ifq_drops from struct ifqueue. Now queue drops are accounted in struct ifnet if_oqdrops.
Some netgraph modules used ifqueue w/o ifnet. Accounting of queue drops is simply removed from them. There were no API to read this statistic.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
267992 |
|
28-Jun-2014 |
hselasky |
Pull in r267961 and r267973 again. Fix for issues reported will follow.
|
#
267985 |
|
27-Jun-2014 |
gjb |
Revert r267961, r267973:
These changes prevent sysctl(8) from returning proper output, such as:
1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory
|
#
267961 |
|
27-Jun-2014 |
hselasky |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel.
Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change.
MFC after: 2 weeks Sponsored by: Mellanox Technologies
|
#
257176 |
|
26-Oct-2013 |
glebius |
The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare to this event, adding if_var.h to files that do need it. Also, include all includes that now are included due to implicit pollution via if_var.h
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
250697 |
|
16-May-2013 |
kib |
Add dependencies on the firmware, which allows the loading of the cxgb and cxgbe modules.
Reviewed and approved by: np MFC after: 1 week
|
#
243857 |
|
04-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags in sys/dev.
|
#
241844 |
|
22-Oct-2012 |
eadler |
remove duplicate semicolons where possible.
Approved by: cperciva MFC after: 1 week
|
#
240680 |
|
18-Sep-2012 |
gavin |
Align the PCI Express #defines with the style used for the PCI-X #defines. This also has the advantage that it makes the names more compact, iand also allows us to correct the non-uniform naming of the PCIM_LINK_* defines, making them all consistent amongst themselves.
This is a mostly mechanical rename: s/PCIR_EXPRESS_/PCIER_/g s/PCIM_EXP_/PCIEM_/g s/PCIM_LINK_/PCIEM_LINK_/g
When this is MFC'd, #defines will be added for the old names to assist out-of-tree drivers.
Discussed with: jhb MFC after: 1 week
|
#
239913 |
|
30-Aug-2012 |
jhb |
Attach interrupt handlers during attach instead of during the first time the interface is brought up. Without this, the boot time interrupt round-robin assignment does not think the allocated interrupt resources are active and leaves them assigned to CPU 0.
While here, add descriptive tags to each interrupt handler when MSI-X is used.
Reviewed by: np MFC after: 1 week
|
#
237832 |
|
30-Jun-2012 |
np |
cxgb(4): IPv6 rx/tx hw checksum, IPv6 TSO and LRO too.
(Some parts already worked, this makes it complete).
|
#
237263 |
|
19-Jun-2012 |
np |
- Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features.
- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon.
Build-tested with make universe.
30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE
Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe
Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe
Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
|
#
231317 |
|
09-Feb-2012 |
np |
Add IPv6 TSO (including TSO+VLAN) support to cxgb(4).
If an IPv6 packet has extension headers the kernel needs to deal with it itself. For the rest it can set various CSUM_XXX flags and the driver will act on them.
|
#
231175 |
|
08-Feb-2012 |
np |
Allocate the BAR for userspace doorbells after the is_offload check is functional.
MFC after: 3 days
|
#
231116 |
|
07-Feb-2012 |
np |
Remove if_start from cxgb and cxgbe.
Submitted by: jhb MFC after: 3 days
|
#
227843 |
|
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
|
#
219946 |
|
24-Mar-2011 |
np |
t3_free_sge_resources should be given the number of qsets it needs to free.
MFC after: 1 week
|
#
219902 |
|
23-Mar-2011 |
jhb |
Do a sweep of the tree replacing calls to pci_find_extcap() with calls to pci_find_cap() instead.
|
#
218909 |
|
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
#
217321 |
|
12-Jan-2011 |
mdf |
sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.
Commit the cxgb driver piece.
|
#
211345 |
|
15-Aug-2010 |
np |
wakeup is required if the adapter lock is released anywhere during init and not just for the may_sleep case.
Pointed out by: Isilon MFC after: 3 days
|
#
210505 |
|
26-Jul-2010 |
jhb |
- Change the warning about PCI-e links narrower than x8 to only apply to 10G cards. 1G cards are x4 only. - Use constants from pcireg.h for reading the current link width. - Use pci_set_max_read_req() rather than implementing it by hand.
Reviewed by: np MFC after: 1 week
|
#
209841 |
|
09-Jul-2010 |
np |
Improve cxgb(4)'s behaviour when faced with temporarily "bouncy" links: - Run the adapter's tick at 1Hz and remove link state checks from it. Instead, have each port check its link state. Delay the check so that it takes place slightly after the driver is notified of a change in link state. This is a cheap way to debounce these notifications if many are received in rapid succession. POLL_LINK_1ST_TIME flag can also be eliminated as a side effect of these changes. - Do not reset the PHY when link goes down. - Clear port's link_fault flag if the PHY indicates link is down. - get_link_status_r should leave speed and duplex alone when link is down.
MFC after: 1 month
|
#
209840 |
|
09-Jul-2010 |
np |
Eliminate ext_intr_task. The "slow" interrupt handler is already running on the adapter's task queue. Just do what the task does instead of enqueueing it.
MFC after: 3 days
|
#
209839 |
|
09-Jul-2010 |
np |
Fix bufsize calculation so that cxgbtool can display information for the last I/O queue too.
MFC after: 3 days
|
#
209115 |
|
12-Jun-2010 |
np |
make format string a string literal.
Reported by: clang
|
#
208887 |
|
07-Jun-2010 |
np |
cxgb(4): add an 'nfilters' tunable that lets the user place an upper limit on the number of hardware filters (and thus the amount of TCAM reserved for filtering).
|
#
208356 |
|
20-May-2010 |
np |
Remove invalid assertion.
Holding the adapter lock while changing the LRO settings is sufficient.
PR: kern/146759 MFC after: 3 days
|
#
207687 |
|
05-May-2010 |
np |
Do not hold the T3 firmware in memory all the time. firmware(9) can load/unload it as needed.
|
#
207643 |
|
05-May-2010 |
np |
Add support for hardware filters to cxgb(4). The T3 chip can inspect L2/3/4 headers and can drop or steer packets as instructed. Filtering based on src ip, dst ip, src port, dst port, 802.1q, udp/tcp, and mac addr is possible. Add support in cxgbtool to program these filters. Some simple examples:
Drop all tcp/80 traffic coming from the subnet specified. # cxgbtool cxgb2 filter 0 sip 192.168.1.0/24 dport 80 type tcp action drop
Steer all incoming UDP traffic to qset 0. # cxgbtool cxgb2 filter 1 type udp queue 0 action pass
Steer all tcp traffic from 192.168.1.1 to qset 1. # cxgbtool cxgb2 filter 2 sip 192.168.1.1 type tcp queue 1 action pass
Drop fragments. # cxgbtool cxgb2 filter 3 type frag action drop
List all filters. # cxgbtool cxgb2 filter list index SIP DIP sport dport VLAN PRI P/MAC type Q 0 192.168.1.0/24 0.0.0.0 * 80 0 0/1 */* tcp - 1 0.0.0.0/0 0.0.0.0 * * 0 0/1 */* udp 0 2 192.168.1.1/32 0.0.0.0 * * 0 0/1 */* tcp 1 3 0.0.0.0/0 0.0.0.0 * * 0 0/1 */* frag - 16367 0.0.0.0/0 0.0.0.0 * * 0 0/1 */* * *
MFC after: 2 weeks
|
#
207639 |
|
04-May-2010 |
np |
Add IFCAP_LINKSTATE to cxgb's capabilities.
MFC after: 3 days
|
#
207554 |
|
03-May-2010 |
sobomax |
Add new tunable 'net.link.ifqmaxlen' to set default send interface queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value.
MFC after: 1 month
|
#
206109 |
|
02-Apr-2010 |
np |
Increase response queue size to avoid starvation, add a counter to track it when it does occur.
|
#
205950 |
|
31-Mar-2010 |
np |
Multiple fixes related to queue set sizing and resources:
- Only the tunnelq (TXQ_ETH) requires a buf_ring, an ifq, and the watchdog/timer callouts. Do not allocate these for the other tx queues.
- Use 16k jumbo clusters only on offload capable cards by default.
- Do not allocate a full tx ring for the offload queue if the card is not offload capable.
- Slightly better freelist size calculation.
- Fix nmbjumbo4 typo, remove unneeded global variables.
MFC after: 3 days
|
#
205948 |
|
31-Mar-2010 |
np |
Fix tx drop statistics.
MFC after: 3 days
|
#
205946 |
|
31-Mar-2010 |
np |
Do not attempt to retrieve interrupt information before it is available.
MFC after: 3 days
|
#
205944 |
|
31-Mar-2010 |
np |
Refresh the firmware version immediately after it is upgraded (or downgraded).
MFC after: 3 days
|
#
204921 |
|
09-Mar-2010 |
np |
Better TwinAx transceiver detection.
Originally submitted by: <Bruno dot Bittner at isilon dot com> (This is a rewritten, corrected version of that patch)
MFC after: 1 week
|
#
204348 |
|
26-Feb-2010 |
np |
Support IFCAP_VLANHWTSO in cxgb(4). It works with or without vlanhwtag. While here, remove old DPRINTFs and tidy up the capability code a bit.
|
#
204274 |
|
24-Feb-2010 |
np |
There is no need to test __FreeBSD_version for features that have been around for a long time now (7.1-ish or even earlier); assume they are present. These includes MSI, TSO, LRO, VLAN, INTR_FILTERS, FIRMWARE, etc.
Also, eliminate some dead code and clean up in other places as part of this quick once-over.
MFC after: 1 week
|
#
202863 |
|
23-Jan-2010 |
np |
Don't forget to release the adapter lock for a no-op.
|
#
202671 |
|
20-Jan-2010 |
np |
Fix for a cxgb(4) panic. cxgb_ioctl can be called by the IP and IPv6 layers with non-sleepable locks held. Don't (potentially) sleep in those situations.
|
#
199240 |
|
13-Nov-2009 |
np |
Don't disable the XGMAC's tx on ifconfig down. It is unnecessary and can cause false backpressure in the chip. Fix a us/ms mixup while here.
|
#
199237 |
|
13-Nov-2009 |
np |
sc->rev and is_offload(sc) will always be 0 during probe. Wait till attach to get correct values.
|
#
198988 |
|
06-Nov-2009 |
jhb |
Take a step towards removing if_watchdog/if_timer. Don't explicitly set if_watchdog/if_timer to NULL/0 when initializing an ifnet. if_alloc() sets those members to NULL/0 already.
|
#
197791 |
|
05-Oct-2009 |
np |
cxgb(4) updates, including: - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates.
Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month
|
#
196840 |
|
04-Sep-2009 |
jhb |
Fill the reverse RSS map with 0xff's so that the subsequent loop to calculate the values will work properly.
Reviewed by: np MFC after: 1 month
|
#
194921 |
|
24-Jun-2009 |
np |
Various ifmedia related fixes in cxgb(4), including:
- build ifmedia list based on phy->caps, not string comparisons. - rebuild media list when a transceiver change is detected. - return EOPNOTSUPP instead of ENXIO in cxgb_media_status.
Approved by: gnn (mentor) MFC after: 2 weeks.
|
#
194661 |
|
22-Jun-2009 |
np |
Fix cxgb's ifmedia ioctl handling. Also fixed a comment.
Reviewed by: kmacy Approved by: gnn (mentor)
|
#
194521 |
|
19-Jun-2009 |
kmacy |
Greatly simplify cxgb by removing almost all of the custom mbuf management logic
- remove mbuf iovec - useful, but adds too much complexity when isolated to the driver
- remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead
- remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers
- remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets
- remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters
- add hysteresis to descriptor coalescing logic
- add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP
- add once per second watchdog to effectively close the very rare races occurring from coalescing
- incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints)
- enable prefetches in get_packet and tx cleaning
Reviewed by: navdeep@ MFC after: 2 weeks
|
#
194039 |
|
11-Jun-2009 |
gnn |
Re-add the send queue tunable for people who do not use buffering.
Reviewed by: jhb MFC after: 3 days
|
#
192933 |
|
27-May-2009 |
gnn |
Rework interrupt bringup and teardown.
Calculate the exact number of vectors we'll use before calling pci_alloc_msix. Don't grab nine all the time.
Call cxgb_setup_interrupts once per T3, not once per port. Ditto for cxgb_teardown_interrupts.
Don't leak resources when interrupt setup fails in the middle.
Obtained from: Navdeep Parhar MFC after: 10 days
|
#
192593 |
|
22-May-2009 |
gnn |
Partial reversion of previous commit. The CXGB_SHUTDOWN flag does NOT need to be inverted when doing an ifconfig down of an interface.
Pointed out by: Navdeep Parhar MFC after: 1 week
|
#
192584 |
|
22-May-2009 |
gnn |
Fix a possible panic cxgb_controller_attach() routine that would occur only if prepping the adapter failed.
Slight adjustment to comments.
Fix a bug whereby downing the interface didn't preven it from processing packets.
Submitted by: Navdeep Parhar MFC after: 1 week
|
#
192540 |
|
21-May-2009 |
gnn |
Integrate three changes from Chelsio.
1) Add a sysctl that will say what type of PHYs exist on the card. 2) Fix a bug that occurs when an AEL 2005 PHY resets without a transciever in the card. 3) Unify the PHY link detection code.
Obtained from: Navdeep Parhar MFC after: 10 days
|
#
192537 |
|
21-May-2009 |
gnn |
Modified the attach and detach routines to handle bringing ports up and down more cleanly. This addresses a problem where if we have the link flap during boot the driver would lock up the system.
Reviewed by: jhb MFC after: 1 week
|
#
192450 |
|
20-May-2009 |
imp |
We no longer need to use d_thread_t, migrate to struct thread *.
|
#
190330 |
|
23-Mar-2009 |
gnn |
Minor updates to the Chelsio driver, including removing an LOR.
Submitted by: Navdeep Parhar at Chelsio Reviewed by: gnn MFC after: 3 weeks
|
#
190206 |
|
21-Mar-2009 |
gnn |
Fix a bug in the recent update to the Chelsio driver. The tick routine was not being restarted in the init_locked routine which could resulted in loss of carrier when updating the MTU.
Submitted by: Navdeep Parhar at Chelsio MFC after: 3 weeks
|
#
189643 |
|
10-Mar-2009 |
gnn |
Update the Chelsio driver to the latest bits from Chelsio
Firmware upgraded to 7.1.0 (from 5.0.0). T3C EEPROM and SRAM added; Code to update eeprom/sram fixed. fl_empty and rx_fifo_ovfl counters can be observed via sysctl. Two new cxgbtool commands to get uP logic analyzer info and uP IOQs Synced up with Chelsio's "common code" (as of 03/03/09)
Submitted by: Navdeep Parhar at Chelsio Reviewed by: gnn MFC after: 2 weeks
|
#
186282 |
|
18-Dec-2008 |
gnn |
Check in the actual module recognition code for the Chelsio driver.
Obtained from: Chelsio Inc.
|
#
185662 |
|
06-Dec-2008 |
gnn |
Bug fix to support N310 version of Chelsio cards (board ID 1088).
Obtained from: Chelsio Inc. MFC after: 3 days
|
#
185655 |
|
05-Dec-2008 |
gnn |
Re submit code to print the part and serial number for Chelsio cards. The original code was accidentally removed in another commit.
MFC after: 1 day
|
#
185508 |
|
01-Dec-2008 |
kmacy |
Update internal mac stats every time the tick task is called if we don't do this "netstat -w 1" will frequently see negative differences in packets sent
|
#
185506 |
|
01-Dec-2008 |
kmacy |
Proper fix for tracking ifnet statistics
|
#
185199 |
|
23-Nov-2008 |
kmacy |
Add backward compatibility ifdefs for non-multiq kernels
|
#
185191 |
|
23-Nov-2008 |
kmacy |
intr_machdep.h breaks build on some arches and is not needed
|
#
185165 |
|
22-Nov-2008 |
kmacy |
- enable multiple transmit queues - invert sense of hw.cxgb.singleq tunable to hw.cxgb.multiq - don't wake up transmitting thread by default - add per tx queue ifaltq to handle ALTQ - remove several unused functions in cxgb_multiq.c - add several sysctls: multiq_tx_enable, coalesce_tx_enable, and wakeup_tx_thread - this obsoletes the hw.cxgb.snd_queue_len as ifq is replaced by a buf_ring
|
#
185157 |
|
21-Nov-2008 |
gnn |
Several small additions to the Chelsio 10G driver.
1) Fix a bug in dealing with the Alerus 1006 PHY which prevented the device from ever coming back up once it had been set to down.
2) Add a kernel tunable (hw.cxgb.snd_queue_len) which makes it possible to give the device more than IFQ_MAXLEN entries in its send queue. The default remains 50.
3) Add code to place the card'd identification and serial number into its description (%desc) so that users can tell which card they have installed.
|
#
184714 |
|
06-Nov-2008 |
bz |
Hide AF_INET specific ioctl handling under #ifdef INET.
Reviewed by: kmacy MFC after: 2 months
|
#
183506 |
|
30-Sep-2008 |
kmacy |
Make sure that optical PHYs work ...
Submitted by: Chelsio Inc. MFC after: 1 day
|
#
183292 |
|
23-Sep-2008 |
kmacy |
Update cxgb include paths to not require prefixing with dev/cxgb
Submitted by: Chelsio Inc.
|
#
183289 |
|
23-Sep-2008 |
kmacy |
Allow cxgb to be unified across versions by making newer features conditional
Submitted by: Chelsio Inc MFC after: 3 days
|
#
183063 |
|
16-Sep-2008 |
kmacy |
Further whitespace and copyright cleanups to minimize the delta with RELENG_7.
|
#
183062 |
|
16-Sep-2008 |
kmacy |
White space cleanups to bring closer to RELENG_7
|
#
183059 |
|
16-Sep-2008 |
kmacy |
Remove some dead code along with gratuitous differences between HEAD and 7
|
#
182882 |
|
09-Sep-2008 |
kmacy |
Fix issue with recovering from transient jumbo mbuf shortage.
Submitted by: Chelsio Inc. MFC after: 3 days
|
#
182695 |
|
02-Sep-2008 |
kmacy |
Indicate at probe time if device can do offload and which revision it is
MFC after: 3 days
|
#
182679 |
|
02-Sep-2008 |
kmacy |
Import ioctl updates for latest rev of cxgbtool
Obtained from: Chelsio Inc. MFC after: 3 days
|
#
181652 |
|
13-Aug-2008 |
kmacy |
Add LRO and MAC statistics to exported sysctls.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
181616 |
|
12-Aug-2008 |
kmacy |
Remove cxgb private lro implementation and switch to using system implementation.
Obtained from: Chelsio Inc. MFC after: 1 week
|
#
181614 |
|
11-Aug-2008 |
kmacy |
Vendor fix for PHY problem.
Obtained from: Chelsio Inc. MFC after: 3 days
|
#
180583 |
|
18-Jul-2008 |
kmacy |
import vendor fixes to cxgb
|
#
178767 |
|
05-May-2008 |
kmacy |
MFSVN: - add / remove clients from cxgb_main.c now - change ifdef TOE_ENABLED to TCP_OFFLOAD_DISABLE - update copyrights - fix transmit data mismatch bug caused by not setting SB_NOCOALESCE on tx sockbuf on passive connections - fix receive sequence mismatch bug caused by not setting SB_NOCOALESCE on rx sockbuf on passive connections - don't sleep without checking SBS_CANTRCVMORE first - various ddp ordering fixes
Supported by: Chelsio Inc.
|
#
178302 |
|
19-Apr-2008 |
kmacy |
move cxgb_lt2.[ch] from NIC to TOE move most offload functionality from NIC to TOE factor out all socket and inpcb direct access factor out access to locking in incpb, pcbinfo, and sockbuf
|
#
177464 |
|
20-Mar-2008 |
kmacy |
pay attention to default cluster limits when sizing receive queues
|
#
177415 |
|
19-Mar-2008 |
kmacy |
fix link management bug and conditionally allow the PHY to be kept on at all times for allowing non-conformant link state checks
|
#
177340 |
|
18-Mar-2008 |
kmacy |
- Integrate 1.133 vendor driver changes - update some copyrights - add improved support for delayed ack - fix issue with fec
|
#
176613 |
|
26-Feb-2008 |
kmacy |
move remaining binaries in to blob headers
|
#
176572 |
|
26-Feb-2008 |
kmacy |
Move firmware in to separate module that can be compiled statically in to the kernel Add utility for converting future firmware revs to a C header file
|
#
176472 |
|
23-Feb-2008 |
kmacy |
- update firmware to 5.0 - add support for T3C - add DDP support (zero-copy receive) - fix TOE transmit of large requests - fix shutdown so that sockets don't remain in CLOSING state indefinitely - register listeners when an interface is brought up after tom is loaded - fix setting of multicast filter - enable link at device attach - exit tick handler if shutdown is in progress - add helper for logging TCB - add sysctls for dumping transmit queues
- note that TOE wxill not be MFC'd until after 7.0 has been finalized
MFC after: 3 days
|
#
175389 |
|
16-Jan-2008 |
kmacy |
Fix lock ordering panic by not calling ether_ioctl with port lock held
Reported by: rrs
|
#
175340 |
|
15-Jan-2008 |
kmacy |
- move WR_LEN in to cxgb_adapter.h add PIO_LEN to make intent clearer - move cxgb_tx_common in to cxgb_multiq.c and rename to cxgb_tx - move cxgb_tx_common dependencies - further simplify cxgb_dequeue_packet for the non-multiqueue case - only launch one service thread per port in the non-multiq case - remove dead cleaning code from cxgb_sge.c - simplify PIO case substantially in by returning directly from mbuf collapse and just using m_copydata - remove gratuitous m_gethdr in the rx path - clarify freeing of mbufs in collapse
|
#
175312 |
|
14-Jan-2008 |
kmacy |
Make back pressure visible more quickly, particularly now that we maintain a queue internally
|
#
175305 |
|
13-Jan-2008 |
kmacy |
Convert over to using the multiqueue infrastructure although all calls going through cxgb_start still end up using queue 0
|
#
175224 |
|
11-Jan-2008 |
kmacy |
Be more aggressive about tx cleaning - when multiples streams were running the tx queue could fill up and stop getting cleaned.
|
#
175200 |
|
10-Jan-2008 |
kmacy |
- make 9k clusters the default unless a tunable is set - return the error from cxgb_tx_common so that when an error is hit we dont spin forever in the taskq thread - remove unused rxsd_ref - simplify header_offset calculation for embedded mbuf headers - fix memory leak by making sure that mbuf header initialization took place - disable printf's for stalled queue, don't do offload/ctrl queue restart when tunnel queue is restarted - add more diagnostic information about the txq state - add facility to dump the actual contents of the hardware queue using sysctl
|
#
174726 |
|
17-Dec-2007 |
kmacy |
only include intr_machdep.h when it is needed for intr_bind ia64 doesn't have an intr_machdep.h
|
#
174708 |
|
17-Dec-2007 |
kmacy |
Make TCP offload work on HEAD (modulo negative interaction between sbcompress and t3_push_frames). - Import latest changes to cxgb_main.c and cxgb_sge.c from toestack p4 branch - make driver local copy of tcp_subr.c and tcp_usrreq.c and override tcp_usrreqs so TOE can also functions on versions with unmodified TCP
- add cxgb back to the build
|
#
174672 |
|
16-Dec-2007 |
kmacy |
Use the vm include convention of busdma
|
#
174671 |
|
16-Dec-2007 |
kmacy |
need M_IOVEC define
|
#
174626 |
|
15-Dec-2007 |
kmacy |
Import updated support code for the TOM (tcp offload module).
|
#
172147 |
|
11-Sep-2007 |
kmacy |
Evidently setup_rss needs to happen whenever bind_qsets is done. This fixes a problem with jumbo frames when not using msi-x interrupts.
Supported by: Chelsio Approved by: re (blanket)
|
#
172109 |
|
10-Sep-2007 |
kmacy |
pull in changes made to RELENG_6 version in the process of doing the MFC
Supported by: Chelsio Approved by: re (blanket)
|
#
172105 |
|
09-Sep-2007 |
kmacy |
- Remove filter support
Supported by: Chelsio Approved by: re(blanket)
|
#
172096 |
|
09-Sep-2007 |
kmacy |
- fix qset to port binding as a proper fix for the problems encountered on the 4-port - fix the use after free seen when sending packets small enough to fit as an immediate and bpf peers are present - update to firmware rev 4.7 along with various small vendor fixes
Supported by: Chelsio Approved by: re (blanket) MFC after: 3 days
|
#
171978 |
|
25-Aug-2007 |
kmacy |
Fixes for 4 port and small packet optimization
- remove cpl->iff panic - we can't know the port number from the rspq on the 4-port - pick the ifnet based on the interface in the CPL header - switch to using qset 0 for egress on the 4-port for now - may change when we start using RSS - move ether_ifdetach to before the port lock gets deinitialized to avoid hang in the case where there are BPF peers (cxgb_ioctl is called indirectly when BPF peers are present) - don't call t3_mac_reset if multiport is set, this was causing tx errors by misconfiguring the MAC on the 4-port - change V_TXPKT_INTF to use txpkt_intf as the interfaces are not contiguous - free the mbuf immediately in the case where the payload is small enough to be copied into the rspq - only update the coalesce timer if for a queue if packets were taken off of it - add in missed 20ms DELAY in initializaton vsc8211
- prompt MFC as this only applies to the 4-port which is currently completely broken - OK'd by kensmith
Supported by: Chelsio Approved by: re (blanket) MFC after: 0 days
|
#
171868 |
|
17-Aug-2007 |
kmacy |
forward port signedness fixes from RELENG_6 fix compile error for case where MSI_SUPPORTED not defined
Approved by: re (blanket)
|
#
171804 |
|
10-Aug-2007 |
kmacy |
White space cleanups
Approved by: re (blanket)
|
#
171803 |
|
10-Aug-2007 |
kmacy |
- In all structures other than port info port is a pointer to a port info, make the code less confusing by renaming the port number to port_id
Approved by: re (blanket)
|
#
171471 |
|
17-Jul-2007 |
kmacy |
- integrate most recent changes from vendor branch and upgrade to firmware revision 4.5.5 - add filter support - further improvements for T304 - recover gracefully from spurious immediate packets
Approved by: re(blanket) Supported by: Chelsio MFC after: 3 days
|
#
171469 |
|
17-Jul-2007 |
kmacy |
- Increase descriptors per call to start - enqueue per-txq task - fix per-txq task initialization
Approved by: re (blanket)
|
#
171335 |
|
10-Jul-2007 |
kmacy |
MFp4 122896 - reduce cpu usage by as much as 25% (40% -> 30) by doing txq reclaim more efficiently - use mtx_trylock when trying to grab the lock to avoid spinning during long encap loop - add per-txq reclaim task - if mbufs were successfully re-claimed try another pass - track txq overruns with sysctl
Approved by: re (blanket)
|
#
170869 |
|
17-Jun-2007 |
kmacy |
- switch adapter and port lock over to using sx so that resources can be allocated atomically - add debug macros for printing lock initialization / teardown - add buffers to port_info and adapter to allow each lock to have a unique name - destroy mutexes initialized by cxgb_offload_init - remove recursive calls to ADAPTER_LOCK - move callout_drain calls so that they don't occur with the lock held - ensure that only as many qsets as are needed are initialized and destroyed
MFC after: 3 days Sponsored by: Chelsio Inc.
|
#
170789 |
|
15-Jun-2007 |
kmacy |
Fix build warnings Submitted by: mjacob@
|
#
170654 |
|
13-Jun-2007 |
kmacy |
- import new common code for the T304 - update to firmware version 4.1.0
- switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames
Sponsored by: Chelsio MFC after: 3 days
|
#
170197 |
|
02-Jun-2007 |
kmacy |
remove pointless recursive acquisition of port lock in cxgb_init_locked
|
#
170083 |
|
29-May-2007 |
kmacy |
Fix case of setting OACTIVE erroneously
|
#
170081 |
|
29-May-2007 |
kmacy |
Fix interrupt setup for the non-MSI-X case
|
#
170076 |
|
28-May-2007 |
kmacy |
When building cxgb as a module make include paths relative to the driver's root. This will make it possible to build the module out of tree against an older src tree.
MFC after: 3 days
|
#
170037 |
|
27-May-2007 |
kmacy |
Don't bind queue to cpus if only one queue is in use
|
#
170007 |
|
27-May-2007 |
kmacy |
set IFF_OACTIVE to avoid hangs when the tx ring fills up
|
#
169978 |
|
25-May-2007 |
kmacy |
(MFp4) - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware
MFC after: 3 days
|
#
169053 |
|
26-Apr-2007 |
kmacy |
Default to using a single queue as this is currently the only way to achieve line rate
|
#
168749 |
|
15-Apr-2007 |
kmacy |
Add sysctl for disabling/enabling mbuf chain collapsing remove map creation before calling bus_dmamap_load_mvec_sg
|
#
168737 |
|
14-Apr-2007 |
kmacy |
Add support for mbuf iovec in the TX path
|
#
168642 |
|
12-Apr-2007 |
kmacy |
Add ETHER_HDR_LEN to hardware accepted mtu
MFC after: 3 days
|
#
167862 |
|
24-Mar-2007 |
kmacy |
bus_size_t is a bad cross-architectural type with respect to printf, use uint32_t instead
|
#
167848 |
|
23-Mar-2007 |
kmacy |
- Increase coalesce_nsecs - commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
|
#
167840 |
|
23-Mar-2007 |
kmacy |
Check PCI-e link width to avoid foot shooting with 4x links
MFC after: 3 days
|
#
167769 |
|
21-Mar-2007 |
kmacy |
move call to t3_prep_adapter earlier in attach before msi-x setup occurs
this works around the fact that pci_config_{save,restore} doesn't adequately restore state for msi-x
MFC after: 3 days
|
#
167762 |
|
21-Mar-2007 |
kmacy |
allocate 9 messages in all cases
|
#
167760 |
|
21-Mar-2007 |
kmacy |
make MSI-X the default and allocate up to mp_ncpus queues per port
MFC after: 3 days
|
#
167746 |
|
20-Mar-2007 |
kmacy |
Synchronize with version 1.0.071 of Chelsio's common code (with the notable exception of improvements for using multiple TX queues)
This adds support for the T3B2 ASIC rev
Obtained from: Chelsio MFC after: 3 days
|
#
167734 |
|
20-Mar-2007 |
kmacy |
cxgb_stop is only called from cxgb_ioctl so: - don't acquire port lock, already held in ioctl - rename to cxgb_stop_locked - switch callout_drain to callout_stop to avoid a hang from having the port lock held
|
#
167538 |
|
14-Mar-2007 |
kmacy |
play it safe for now and go back to kicking off tx cleaning from the tx path
|
#
167525 |
|
14-Mar-2007 |
kmacy |
move taskqueue_enqueue of tx clean operation out of the start path
|
#
167514 |
|
14-Mar-2007 |
kmacy |
First of several commits for driver support for the Chelsio T3B 10 Gigabit Ethernet adapter.
Reviewed by: scottl, sam
For those interested in the preliminary performance work see below.
Plots of mxge vs. cxgb running netpipe:
blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif
blocksize vs. RTT: First of several commits for driver support for the Chelsio T3B 10 Gigabit Ethernet adapter.
Reviewed by: scottl, sam
For those interested in the preliminary performance work see below.
Plots of mxge vs. cxgb running netpipe:
blocksize vs. bandwidth: http://www.fsmware.com/chelsio.random/bsvsbw.gif
blocksize vs. RTT: http://www.fsmware.com/chelsio.random/bsvstime.gif
blocksize vs. RTT for block sizes <= 10kb: http://www.fsmware.com/chelsio.random/bsvstime_10kb.gif http://www.fsmware.com/chelsio.random/bsvstime_10kb3.gif
|