diff options
author | gallatin <gallatin@FreeBSD.org> | 2007-05-21 18:32:27 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2007-05-21 18:32:27 +0000 |
commit | 03b25c7049d3c86f318fa584533a5df59256c7dc (patch) | |
tree | ab160446bbeaff8511916562197a291b64244512 /sys/dev/mxge/mxge_mcp.h | |
parent | 843ae548c7b8a408c56e2456522b876cedfa1d63 (diff) | |
download | FreeBSD-src-03b25c7049d3c86f318fa584533a5df59256c7dc.zip FreeBSD-src-03b25c7049d3c86f318fa584533a5df59256c7dc.tar.gz |
Improve mxge receive performance:
- Update to the latest (1.4.18) f/w. This f/w introduces a new
receive mode which allows us to use FreeBSD's physically discontinuous
MJUM9BYTES clusters.
- Switch the driver from chaining MJUMPAGESIZE clusters to using
MJUM9BYTES clusters to avoid mbuf chaining overheads. Due to this
change, people running obsolete f/w images will be limited to an MTU of
PAGE_SIZE - 16.
- Add (disabled by default) support for Large Receive Offload.
Sponsored by: Myricom, Inc.
Diffstat (limited to 'sys/dev/mxge/mxge_mcp.h')
-rw-r--r-- | sys/dev/mxge/mxge_mcp.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/mxge/mxge_mcp.h b/sys/dev/mxge/mxge_mcp.h index d5da5a5..9dae5b2 100644 --- a/sys/dev/mxge/mxge_mcp.h +++ b/sys/dev/mxge/mxge_mcp.h @@ -263,8 +263,18 @@ enum myri10ge_mcp_cmd_type { /* same than DMA_TEST (same args) but abort with UNALIGNED on unaligned chipset */ - MXGEFW_CMD_UNALIGNED_STATUS + MXGEFW_CMD_UNALIGNED_STATUS, /* return data = boolean, true if the chipset is known to be unaligned */ + + MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS, + /* data0 = number of big buffers to use. It must be 0 or a power of 2. + * 0 indicates that the NIC consumes as many buffers as they are required + * for packet. This is the default behavior. + * A power of 2 number indicates that the NIC always uses the specified + * number of buffers for each big receive packet. + * It is up to the driver to ensure that this value is big enough for + * the NIC to be able to receive maximum-sized packets. + */ }; typedef enum myri10ge_mcp_cmd_type myri10ge_mcp_cmd_type_t; |