39 #ifndef OPENAPI_TCAM_H_INCLUDED
40 #define OPENAPI_TCAM_H_INCLUDED
59 #define TCAM_MAC_ADDR_LEN 6
62 #define OPEN_TCAM_API_CURR_VER_MAJOR 0
64 #define OPEN_TCAM_API_CURR_VER_MINOR 1
67 #define OPEN_TCAM_API_POLICYID_INVALID 0
70 #define OPEN_TCAM_POLICY_RULE_PRIORITY_LOWEST 0
71 #define OPEN_TCAM_POLICY_RULE_PRIORITY_DEFAULT 1
84 #define TCAM_API_DEBUG(dbgLvl, args...) {\
85 if (tcamApiDebugFlag >= dbgLvl) \
87 SYSAPI_PRINTF(SYSAPI_LOGGING_ALWAYS,args);\
92 #define OPEN_TXRX_MAX_FRAME_SIZE 9216
94 #define OPEN_TCAM_EXT_AGENT_PKT_TRANSMIT (0x1)
96 #define OPEN_TCAM_EXT_AGENT_PKT_RECEIVE (0x2)
108 uint32_t destIntIfNum;
126 unsigned char vlanPrio;
133 #define OPEN_TCAM_ACTION_NONE 0
135 #define OPEN_TCAM_ACTION_DROP 1
137 #define OPEN_TCAM_ACTION_REDIRECT 2
139 #define OPEN_TCAM_ACTION_OUTERVLAN 4
141 #define OPEN_TCAM_ACTION_SRCMAC_NEW 8
143 #define OPEN_TCAM_ACTION_DSTMAC_NEW 16
145 #define OPEN_TCAM_ACTION_USERPRIO 32
147 #define OPEN_TCAM_ACTION_OUTERTPID_NEW 64
149 #define OPEN_TCAM_ACTION_REDIRECT_CPU 128
152 #define OPEN_PT_MATCH_RULE_NUM 61
154 #define OPEN_CPU_RATE_LIMIT 5
155 #define OPEN_CPU_RATE_LIMIT_BURST 5
194 OPEN_METER_COLOR_BLIND,
195 OPEN_METER_COLOR_AWARE
196 } OPEN_METER_COLOR_MODE_t;
214 OPEN_METER_COLOR_MODE_t colorMode;
215 OPEN_METER_MODE_t meterMode;
218 #define OPEN_COUNT_PACKETS 0x1
219 #define OPEN_COUNT_BYTES 0x2
245 uint16_t matchVlanVal;
246 unsigned char matchVlanPrio;
247 uint16_t matchEthType;
249 uint32_t matchDstIpMask;
251 uint32_t matchSrcIpMask;
252 uint32_t matchIpProto;
253 uint32_t matchIpProtoMask;
254 uint32_t matchL4Sport;
255 uint32_t matchL4SportMask;
256 uint32_t matchL4Dport;
257 uint32_t matchL4DportMask;
258 uint32_t matchIpDscp;
259 unsigned char matchIpDscpMask;
260 uint16_t matchSrcPortIcmpType;
261 uint16_t matchSrcPortIcmpTypeMask;
262 uint16_t matchDstPortIcmpCode;
263 uint16_t matchDstPortIcmpCodeMask;
277 uint8_t meterPresent;
278 } open_tcamApiPolicy_t;
300 #define OPEN_TCAM_POLICY_NAME_SIZE 64
302 #define OPEN_TCAM_STAGE_LOOKUP 1
303 #define OPEN_TCAM_STAGE_INGRESS 2
304 #define OPEN_TCAM_STAGE_EGRESS 3
308 typedef struct open_tcamHardwarePolicyUsage_s
370 open_tcamApiPolicy_t policyInfo,
456 open_tcamApiPolicy_t *policyInfo);
477 open_tcamApiPolicy_t *policyInfo,
501 open_tcamApiPolicy_t *policyInfo,
670 uint64_t *inProf, uint64_t *outProf);