summaryrefslogtreecommitdiffstats
path: root/sys/dev/cxgb/cxgb_ioctl.h
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2007-07-17 06:50:35 +0000
committerkmacy <kmacy@FreeBSD.org>2007-07-17 06:50:35 +0000
commit184f644f1c7454264aae840d0f2d00b8821565a1 (patch)
tree3a71c29bff9410f492cfa619778e43dc470c28c0 /sys/dev/cxgb/cxgb_ioctl.h
parent2d80191535ea4f0e6ebd0ab985542b868dec5405 (diff)
downloadFreeBSD-src-184f644f1c7454264aae840d0f2d00b8821565a1.zip
FreeBSD-src-184f644f1c7454264aae840d0f2d00b8821565a1.tar.gz
- 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
Diffstat (limited to 'sys/dev/cxgb/cxgb_ioctl.h')
-rw-r--r--sys/dev/cxgb/cxgb_ioctl.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/sys/dev/cxgb/cxgb_ioctl.h b/sys/dev/cxgb/cxgb_ioctl.h
index d725a9a..21d3cce 100644
--- a/sys/dev/cxgb/cxgb_ioctl.h
+++ b/sys/dev/cxgb/cxgb_ioctl.h
@@ -66,6 +66,7 @@ enum {
CH_SETMIIREGS,
CH_SET_FILTER,
CH_SET_HW_SCHED,
+ CH_DEL_FILTER,
};
struct ch_reg {
@@ -130,6 +131,30 @@ struct ch_hw_sched {
int32_t flow_ipg; /* usec */
};
+struct ch_filter_tuple {
+ uint32_t sip;
+ uint32_t dip;
+ uint16_t sport;
+ uint16_t dport;
+ uint16_t vlan:12;
+ uint16_t vlan_prio:3;
+};
+
+struct ch_filter {
+ uint32_t cmd;
+ uint32_t filter_id;
+ struct ch_filter_tuple val;
+ struct ch_filter_tuple mask;
+ uint16_t mac_addr_idx;
+ uint8_t mac_hit:1;
+ uint8_t proto:2;
+
+ uint8_t want_filter_id:1; /* report filter TID instead of RSS hash */
+ uint8_t pass:1; /* whether to pass or drop packets */
+ uint8_t rss:1; /* use RSS or specified qset */
+ uint8_t qset;
+};
+
#ifndef TCB_SIZE
# define TCB_SIZE 128
#endif
@@ -232,5 +257,7 @@ struct mii_data {
#define SIOCGMIIREG _IOWR('f', CH_GETMIIREGS, struct mii_data)
#define SIOCSMIIREG _IOWR('f', CH_SETMIIREGS, struct mii_data)
#define CHELSIO_SET_HW_SCHED _IOWR('f', CH_SET_HW_SCHED, struct ch_hw_sched)
+#define CHELSIO_SET_FILTER _IOW('f', CH_SET_FILTER, struct ch_filter)
+#define CHELSIO_DEL_FILTER _IOW('f', CH_DEL_FILTER, struct ch_filter)
#define CHELSIO_DEVUP _IO('f', CH_DEVUP)
#endif
OpenPOWER on IntegriCloud