diff options
author | Santwona Behera <santwona.behera@sun.com> | 2009-02-20 03:58:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-20 03:58:45 -0500 |
commit | 2d96cf8cdfd625da51e5d237d564cd75d3147547 (patch) | |
tree | 2acc376af0acebc752f563051ace6a90571c7680 /drivers/net/niu.h | |
parent | 59089d8d162ddcb5c434672e915331964d38a754 (diff) |
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.h | 14 |
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 { | |||
3004 | struct niu_altmac_rdc alt_mac_mappings[16]; | 3004 | struct niu_altmac_rdc alt_mac_mappings[16]; |
3005 | struct niu_vlan_rdc vlan_mappings[ENET_VLAN_TBL_NUM_ENTRIES]; | 3005 | struct niu_vlan_rdc vlan_mappings[ENET_VLAN_TBL_NUM_ENTRIES]; |
3006 | 3006 | ||
3007 | u16 tcam_index; | 3007 | u16 tcam_top; |
3008 | u16 tcam_sz; | ||
3009 | u16 tcam_valid_entries; | ||
3008 | u16 num_alt_mac_mappings; | 3010 | u16 num_alt_mac_mappings; |
3009 | 3011 | ||
3010 | u32 h1_init; | 3012 | u32 h1_init; |
@@ -3040,6 +3042,7 @@ struct phy_probe_info { | |||
3040 | }; | 3042 | }; |
3041 | 3043 | ||
3042 | struct niu_tcam_entry { | 3044 | struct niu_tcam_entry { |
3045 | u8 valid; | ||
3043 | u64 key[4]; | 3046 | u64 key[4]; |
3044 | u64 key_mask[4]; | 3047 | u64 key_mask[4]; |
3045 | u64 assoc_data; | 3048 | u64 assoc_data; |
@@ -3107,10 +3110,15 @@ struct niu_parent { | |||
3107 | struct phy_probe_info phy_probe_info; | 3110 | struct phy_probe_info phy_probe_info; |
3108 | 3111 | ||
3109 | struct niu_tcam_entry tcam[NIU_TCAM_ENTRIES_MAX]; | 3112 | struct niu_tcam_entry tcam[NIU_TCAM_ENTRIES_MAX]; |
3110 | u64 l2_cls[2]; | 3113 | |
3111 | u64 l3_cls[4]; | 3114 | #define NIU_L2_PROG_CLS 2 |
3115 | #define NIU_L3_PROG_CLS 4 | ||
3116 | u64 l2_cls[NIU_L2_PROG_CLS]; | ||
3117 | u64 l3_cls[NIU_L3_PROG_CLS]; | ||
3112 | u64 tcam_key[12]; | 3118 | u64 tcam_key[12]; |
3113 | u64 flow_key[12]; | 3119 | u64 flow_key[12]; |
3120 | u16 l3_cls_refcnt[NIU_L3_PROG_CLS]; | ||
3121 | u8 l3_cls_pid[NIU_L3_PROG_CLS]; | ||
3114 | }; | 3122 | }; |
3115 | 3123 | ||
3116 | struct niu_ops { | 3124 | struct niu_ops { |