HomeFreeBSD

MFC r340173 (by jhb@):

Description

MFC r340173 (by jhb@):

Add a facility for transmitting "raw" work requests on regular NIC queues.

  • Use PH_loc.eight[1] as a general 'cflags' (Chelsio flags) field to describe properties of a queued packet. The MC_RAW_WR flag indicates an mbuf holding a raw work request. mbuf_cflags() returns the current flags.
  • Raw work request mbufs are allocated via alloc_wr_mbuf() which will allocate a single contiguous range to hold the mbuf data. The consumer can use mtod() to obtain the start of the work request and write the required work request in the buffer. The mbuf can then be enqueued directly to the txq via mp_ring_enqueue().
  • Since raw work requests might potentially send arbitrary work requests, only set the EQUIQ and EQUEQ bits on work requests that support them such as the normal tunneled Ethernet packet work requests.

Reviewed by: np
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D17811

Details

Provenance
npAuthored on
Reviewer
np
Differential Revision
D17811: Add a facility for transmitting "raw" work requests on regular NIC queues.
Parents
rS350266: MFC r349870:
Branches
Unknown
Tags
Unknown