summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge/if_mxge_var.h
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2013-02-21 21:28:33 +0000
committergallatin <gallatin@FreeBSD.org>2013-02-21 21:28:33 +0000
commit966be4941492002f86456a9088733904f5559c59 (patch)
treefcbf0037b80b68ce65939bc809992a1d8136674b /sys/dev/mxge/if_mxge_var.h
parentd9f661c57a95d2cc036dc1b269c8527f65836b4b (diff)
downloadFreeBSD-src-966be4941492002f86456a9088733904f5559c59.zip
FreeBSD-src-966be4941492002f86456a9088733904f5559c59.tar.gz
Improve mxge's receive performance for IPv6:
- Add support for IPv6 rx csum offload - Finally switch mxge from using its own driver lro, to using tcp_lro MFC after: 7 days Sponsored by: Myricom Inc.
Diffstat (limited to 'sys/dev/mxge/if_mxge_var.h')
-rw-r--r--sys/dev/mxge/if_mxge_var.h32
1 files changed, 1 insertions, 31 deletions
diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h
index 9393577..7ca1f39 100644
--- a/sys/dev/mxge/if_mxge_var.h
+++ b/sys/dev/mxge/if_mxge_var.h
@@ -194,31 +194,6 @@ typedef struct
char mtx_name[16];
} mxge_tx_ring_t;
-struct lro_entry;
-struct lro_entry
-{
- SLIST_ENTRY(lro_entry) next;
- struct mbuf *m_head;
- struct mbuf *m_tail;
- int timestamp;
- struct ip *ip;
- uint32_t tsval;
- uint32_t tsecr;
- uint32_t source_ip;
- uint32_t dest_ip;
- uint32_t next_seq;
- uint32_t ack_seq;
- uint32_t len;
- uint32_t data_csum;
- uint16_t window;
- uint16_t source_port;
- uint16_t dest_port;
- uint16_t append_cnt;
- uint16_t mss;
-
-};
-SLIST_HEAD(lro_head, lro_entry);
-
struct mxge_softc;
typedef struct mxge_softc mxge_softc_t;
@@ -236,11 +211,7 @@ struct mxge_slice_state {
u_long omcasts;
u_long oerrors;
int if_drv_flags;
- struct lro_head lro_active;
- struct lro_head lro_free;
- int lro_queued;
- int lro_flushed;
- int lro_bad_csum;
+ struct lro_ctrl lc;
mxge_dma_t fw_stats_dma;
struct sysctl_oid *sysctl_tree;
struct sysctl_ctx_list sysctl_ctx;
@@ -250,7 +221,6 @@ struct mxge_slice_state {
struct mxge_softc {
struct ifnet* ifp;
struct mxge_slice_state *ss;
- int csum_flag; /* rx_csums? */
int tx_boundary; /* boundary transmits cannot cross*/
int lro_cnt;
bus_dma_tag_t parent_dmat;
OpenPOWER on IntegriCloud