summaryrefslogtreecommitdiff
path: root/drivers/net/niu.h
diff options
context:
space:
mode:
authorSantwona Behera <santwona.behera@sun.com>2009-02-20 11:58:45 +0300
committerDavid S. Miller <davem@davemloft.net>2009-02-20 11:58:45 +0300
commit2d96cf8cdfd625da51e5d237d564cd75d3147547 (patch)
tree2acc376af0acebc752f563051ace6a90571c7680 /drivers/net/niu.h
parent59089d8d162ddcb5c434672e915331964d38a754 (diff)
downloadlinux-2d96cf8cdfd625da51e5d237d564cd75d3147547.tar.xz
niu: Add TCAM classification configuration
Signed-off-by: Santwona Behera <santwona.behera@sun.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/niu.h')
-rw-r--r--drivers/net/niu.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/niu.h b/drivers/net/niu.h
index 5a002375b35b..8754e44cadae 100644
--- a/drivers/net/niu.h
+++ b/drivers/net/niu.h
@@ -3004,7 +3004,9 @@ struct niu_classifier {
struct niu_altmac_rdc alt_mac_mappings[16];
struct niu_vlan_rdc vlan_mappings[ENET_VLAN_TBL_NUM_ENTRIES];
- u16 tcam_index;
+ u16 tcam_top;
+ u16 tcam_sz;
+ u16 tcam_valid_entries;
u16 num_alt_mac_mappings;
u32 h1_init;
@@ -3040,6 +3042,7 @@ struct phy_probe_info {
};
struct niu_tcam_entry {
+ u8 valid;
u64 key[4];
u64 key_mask[4];
u64 assoc_data;
@@ -3107,10 +3110,15 @@ struct niu_parent {
struct phy_probe_info phy_probe_info;
struct niu_tcam_entry tcam[NIU_TCAM_ENTRIES_MAX];
- u64 l2_cls[2];
- u64 l3_cls[4];
+
+#define NIU_L2_PROG_CLS 2
+#define NIU_L3_PROG_CLS 4
+ u64 l2_cls[NIU_L2_PROG_CLS];
+ u64 l3_cls[NIU_L3_PROG_CLS];
u64 tcam_key[12];
u64 flow_key[12];
+ u16 l3_cls_refcnt[NIU_L3_PROG_CLS];
+ u8 l3_cls_pid[NIU_L3_PROG_CLS];
};
struct niu_ops {