opnsense-src/sys/dev/cxgbe
Navdeep Parhar 77bd3dd072 cxgbe/cxgbei: overhaul the iSCSI ULP driver.
- icl_cxgbei_conn is _the_ per-connection softc for iSCSI.  Retire
  iscsi_socket by removing all unneeded fields and moving the rest to
  icl_cxgbei_conn.

- Update pdu_queue to use the new t4_push_pdus and associated mbufq in
  the TOE driver.  Throw away all the callbacks registered during MOD_LOAD
  as t4_push_pdus doesn't need them.

- Use the mbuf allocated for the BHS header to store icl_cxgbei_pdu as
  well.  This eliminates the custom zone for the PDUs and reduces the
  number of allocations on the fast path.  For each PDU, the old code
  used to allocate an icl_cxgbei_pdu, an mbuf for the BHS, and tags for
  the BHS and data mbufs.  The new code allocates just one mbuf per PDU.
  This is convenient for another reason -- it allows t4_tom to deal with
  mbufs (which it understands) instead of having to call into the iSCSI
  driver.

- Remove the socket upcalls, calls to ICL_DEBUG and ICL_WARN, and all
  code within ICL_KERNEL_PROXY.  None of this stuff is actually used by
  cxgbei, it's probably leftover copy/paste from icl_soft.

- Fold various icl_foo into icl_cxgbei_foo if the cxgbei implementation
  was simply a call to the other function.

- Remove set_tcb_field and use t4_set_tcb_field that's already available
  in the base driver.

- Fix connection handoff to not assume that there is only one T4/T5
  adapter in the system and that's the one handling all offloaded
  connections.  Walk the list of adapters and match tp->t_tod with the
  adapter's toedev instead.  This allows multiple TOE devices of multiple
  types to coexist.

- Fix connection teardown by not reaching for the inp via the toepcb but
  via the socket instead.  If the tid is dead in the hardware then the
  inp has already been unhooked from the toepcb by t4_tom.

- Add more CTRs.  The ones on the normal fast path are disabled by
  default to avoid flooding the log.

- Refine pdu_append_data.

- Other miscellaneous changes.
2015-11-17 03:34:20 +00:00
..
common cxgbe(4): Ask the firmware for the start of the RSS slice for a port and 2015-07-17 06:46:18 +00:00
cxgbei cxgbe/cxgbei: overhaul the iSCSI ULP driver. 2015-11-17 03:34:20 +00:00
firmware cxgbe(4): Update T5 and T4 firmwares bundled with the driver to 1.14.4.0. The 2015-08-05 19:45:11 +00:00
iw_cxgbe iw_cxgbe: MPA v2 is always available. 2015-10-13 01:04:38 +00:00
tom cxgbe/tom: consider all tx credits returned when the final CPL for 2015-11-13 00:34:57 +00:00
adapter.h Merge r286744-r287584 from head. 2015-09-09 03:05:13 +00:00
if_cxl.c cxgbe(4): Add a minimal if_cxl module that pulls in the real driver as 2015-02-06 01:10:04 +00:00
offload.h t4_iscsi_init sets up global chip registers. Make sure it doesn't 2015-03-11 06:06:24 +00:00
osdep.h Add hooks in base cxgbe(4) for the iWARP upper-layer driver. Update a 2013-08-28 20:45:45 +00:00
t4_ioctl.h cxgbe(4): T4_SET_SCHED_CLASS and T4_SET_SCHED_QUEUE ioctls to program 2013-12-03 18:34:52 +00:00
t4_l2t.c Revert r279934, r279938; this is going to be fixed in sbuf instead. 2015-03-14 13:04:39 +00:00
t4_l2t.h
t4_main.c Merge r286744-r287584 from head. 2015-09-09 03:05:13 +00:00
t4_mp_ring.c Allow cxgbe(4) to be built on i386. Driver attach will succeed only on a subset 2015-01-16 01:32:40 +00:00
t4_mp_ring.h cxgbe(4): major tx rework. 2014-12-31 23:19:16 +00:00
t4_netmap.c Sync netmap sources with the version in our private tree. 2015-07-10 05:51:36 +00:00
t4_sge.c cxgbe(4): Add a new knob that controls the congestion response of netmap 2015-07-06 20:56:59 +00:00
t4_tracer.c cxgbe(4): Remove stray if_up from the code that creates the tracing ifnet. 2014-05-23 01:45:44 +00:00