![]() |
![]() |
Packet Accelerator (PA) sub-system LLD Flow Cache related API and Data Definitions. More...
Data Structures | |
struct | paEfRecLevel1_t |
PA Egress Flow Level One Record data structure. More... | |
struct | paEfRecIpsecParams_t |
Egress Flow IPSEC Configuration Parameters structure. More... | |
struct | paEfRecLevel2_t |
PA Egress Flow Level Two Record data structure. More... | |
struct | paEfRecLevel3_t |
PA Egress Flow Level Three Record data structure. More... | |
struct | paEfRecLevel4_t |
PA Egress Flow Level Four Record data structure. More... | |
struct | paEfRec_t |
PA Egress Flow Record data structure. More... | |
struct | paFcInfo_t |
Flow cache lookup information. More... | |
struct | paFcStats_s |
PA Flow Cache Entry Statistics Structure. More... | |
Defines | |
#define | pa_MAX_EF_REC_IP_HDR_LEN 40 |
#define | pa_MAX_EF_REC_L2_HDR_LEN 40 |
#define | pa_MAX_EF_LVL1_RECORDS 256 |
Define the maximum number of PASS egress flow records. | |
PA Egress Flow Exception Route Types | |
These values are used to define exception route conditions in egress path. The Egress Flow exception route defines the global routing information when the exception condition such as Flow Cache lookup failure, packet parsing failure, TCP control detection and etc. Multiple exception routes can be configured through Pa_configEflowExceptionRoute. The PASS will drop all exception route packets by default until the corresponding exception route is configured. | |
#define | pa_EFLOW_EROUTE_FC_FAIL 0 |
#define | pa_EFLOW_EROUTE_PARSE_FAIL 1 |
#define | pa_EFLOW_EROUTE_IP_FRAG 2 |
#define | pa_EFLOW_EROUTE_IPV6_OPT_FAIL 3 |
#define | pa_EFLOW_EROUTE_IP_OPTIONS 4 |
#define | pa_EFLOW_EROUTE_IP_EXPIRE 5 |
#define | pa_EFLOW_EROUTE_TCP_CTRL 6 |
#define | pa_EFLOW_EROUTE_INVALID_REC 7 |
#define | pa_EFLOW_EROUTE_SYSTEM_FAIL 10 |
#define | pa_EFLOW_EROUTE_MAX 11 |
PA Egress Flow Record types | |
These values are used to define the modification record types in the egress flow operation | |
#define | pa_EFLOW_REC_TYPE_LVL1 1 |
#define | pa_EFLOW_REC_TYPE_LVL2 2 |
#define | pa_EFLOW_REC_TYPE_LVL3 3 |
#define | pa_EFLOW_REC_TYPE_LVL4 4 |
PA Egress Flow Level One Record Valid Bit Definitions | |
Bitmap definition of the validBitMap in paEfRecLevel1_t. | |
#define | pa_EF_LVL1_RECORD_VALID_CTRL_FLAGS 0x0001 |
#define | pa_EF_LVL1_RECORD_VALID_IP_SRC 0x0002 |
#define | pa_EF_LVL1_RECORD_VALID_IP_DST 0x0004 |
#define | pa_EF_LVL1_RECORD_VALID_FLOW_LABEL 0x0008 |
#define | pa_EF_LVL1_RECORD_VALID_TOS_CLASS 0x0010 |
#define | pa_EF_LVL1_RECORD_VALID_IP_MTU 0x0020 |
#define | pa_EF_LVL1_RECORD_VALID_SRC_PORT 0x0040 |
#define | pa_EF_LVL1_RECORD_VALID_DST_PORT 0x0080 |
PA Egress Flow Level One Record Control Flag Definitions | |
Bitmap definition of the ctrlFlags in paEfRecLevel1_t. | |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_IP_CKSUM 0x0001 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_L4_CKSUM 0x0002 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_TTL_DEC 0x0004 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_EXP_TCP_CTRL 0x0008 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_EXP_IP_OPTION 0x0010 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_EXP_IP_FRAGMENT 0x0020 |
#define | pa_EF_LVL1_RECORD_CONTROL_FLAG_EXP_IP_EXPIRE 0x0040 |
PA Egress Flow Record IPSEC Configuration Control Bit Definitions | |
Bitmap definition of the ctrlBitMap in paEfRecIpsecParams_t. | |
#define | pa_EF_RECORD_IPSEC_USE_LOC_DMA 0x0001 |
PA Egress Flow Level two Record Valid Bit Definitions | |
Bitmap definition of the validBitMap in paEfRecLevel2_t. | |
#define | pa_EF_LVL2_RECORD_VALID_CTRL_FLAGS 0x0001 |
#define | pa_EF_LVL2_RECORD_VALID_IP_MTU 0x0002 |
#define | pa_EF_LVL2_RECORD_VALID_IPSEC 0x0004 |
PA EgressFlow Level Two Record Control Flag Definitions | |
Bitmap definition of the ctrlFlags in paEfRecLevel2_t. | |
#define | pa_EF_LVL2_RECORD_CONTROL_SINGLE_IP 0x0001 |
#define | pa_EF_LVL2_RECORD_CONTROL_INSERT_IPSEC_HDR_TRAIL 0x0002 |
#define | pa_EF_LVL2_RECORD_CONTROL_FLAG_TTL_DEC 0x0004 |
#define | pa_EF_LVL2_RECORD_CONTROL_FLAG_EXP_IP_OPTION 0x0008 |
#define | pa_EF_LVL2_RECORD_CONTROL_FLAG_EXP_IP_FRAGMENT 0x0010 |
#define | pa_EF_LVL2_RECORD_CONTROL_FLAG_EXP_IP_EXPIRE 0x0020 |
PA Egress Flow Level Three Record Valid Bit Definitions | |
Bitmap definition of the validBitMap in paEfRecLevel3_t. | |
#define | pa_EF_LVL3_RECORD_VALID_CTRL_FLAGS 0x0001 |
#define | pa_EF_LVL3_RECORD_VALID_IP_MTU 0x0002 |
#define | pa_EF_LVL3_RECORD_VALID_IPSEC 0x0004 |
PA EgressFlow Level Three Record Control Flag Definitions | |
Bitmap definition of the ctrlFlags in paEfRecLevel3_t. | |
#define | pa_EF_LVL3_RECORD_CONTROL_REPLACE_HDR 0x0001 |
PA Egress Flow Level Four Record Valid Bit Definitions | |
Bitmap definition of the validBitMap in paEfRecLevel4_t. | |
#define | pa_EF_LVL4_RECORD_VALID_CTRL_FLAGS 0x0001 |
#define | pa_EF_LVL4_RECORD_VALID_802_3 0x0002 |
#define | pa_EF_LVL4_RECORD_VALID_PPPoE 0x0004 |
#define | pa_EF_LVL4_RECORD_VALID_VLAN1 0x0008 |
#define | pa_EF_LVL4_RECORD_VALID_VLAN2 0x0010 |
#define | pa_EF_LVL4_RECORD_VALID_MIN_PKTSIZE 0x0020 |
#define | pa_REF_LVL4_RECORD_VALID_ROUTE_PRIORITY_TYPE 0x0040 |
PA Egress Flow Record Control Flag Definitions | |
Bitmap definition of the ctrlBitMap in paEfRec_t. | |
#define | pa_EF_RECORD_CONTROL_ENABLE 0x0001 |
PA Flow Cache Matching Info Valid Bit Definitions | |
Bitmap definition of the validBitfield in paFcInfo_t. It allows selective Flow Cache matching parameters | |
#define | pa_FC_INFO_VALID_SRC_IP 0x0001 |
#define | pa_FC_INFO_VALID_SRC_IP_MASK 0x0002 |
#define | pa_FC_INFO_VALID_DST_IP 0x0004 |
#define | pa_FC_INFO_VALID_DST_IP_MASK 0x0008 |
#define | pa_FC_INFO_VALID_CTRL_FLAG 0x0010 |
#define | pa_FC_INFO_VALID_PROTO 0x0020 |
#define | pa_FC_INFO_VALID_DSCP 0x0040 |
#define | pa_FC_INFO_VALID_SRC_PORT 0x0100 |
#define | pa_FC_INFO_VALID_DST_PORT 0x0200 |
PA Flow Cache Info Control Flag Definitions | |
Bitmap definition of the ctrlFlags and ctrlFlagsMask in paFcInfo_t. | |
#define | pa_FC_INFO_CONTROL_FLAG_FRAG 0x0001 |
#define | pa_FC_INFO_CONTROL_FLAG_CONTAIN_L4 0x0002 |
Typedefs | |
typedef struct paFcStats_s | paFcStats_t |
PA Flow Cache Entry Statistics Structure. | |
Enumerations | |
IPSEC Protocols | |
Parameter ipsecProto of paEfRecIpsecParams_t should be set to one of these types. | |
enum | paIpsecProto_e |
Functions | |
paReturn_t | Pa_configEflowExceptionRoute (Pa_Handle iHandle, int nRoute, int *routeTypes, paRouteInfo_t *eRoutes, paCmd_t cmd, uint16_t *cmdSize, paCmdReply_t *reply, int *cmdDest) |
Pa_configEflowExceptionRoute configures the routing of packets based on an exception condition such as no match, parsing failure, TCP control packet etc in the egress direction (PASS Gen2 only) | |
paReturn_t | Pa_configEflowRecords (Pa_Handle iHandle, int nRecords, int *nRecProc, paEfRec_t *records) |
Pa_configEflowRecords configures the egress flow records (PASS Gen2 only) | |
paReturn_t | Pa_addFc (Pa_Handle iHandle, int index, paEfOpInfo_t *efOpInfo, paFcInfo_t *fcInfo, paHandleFc_t *retHandle, paCmd_t cmd, uint16_t *cmdSize, paCmdReply_t *reply, int *cmdDest) |
Pa_addFc adds a Flow Cache entry to the Flow Cache table (PASS Gen2 only) | |
paReturn_t | Pa_delFcHandle (Pa_Handle iHandle, paHandleFc_t *handle, paCmd_t cmd, uint16_t *cmdSize, paCmdReply_t *reply, int *cmdDest) |
Pa_delFcHandle deletes a Flow Cache handle (PASS Gen2 only) | |
paReturn_t | Pa_queryFcStats (Pa_Handle iHandle, paHandleFc_t fcHandle, uint16_t doClear, paFcStats_t *pFcStats) |
Pa_queryFcStats queries Flow Cache per-entry statistics (PASS Gen2 only) |
Packet Accelerator (PA) sub-system LLD Flow Cache related API and Data Definitions.
path ti/drv/pa/pa_fc.h
============================================================================ Copyright (c) Texas Instruments Incorporated 2013
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.