![]() |
![]() |
Network Adaptation Layer Unit sub-system API and Data Definitions. More...
#include <stdint.h>
#include <stdlib.h>
#include <ti/drv/nwal/nwal_netcp.h>
#include <ti/drv/nwal/nwal_tune.h>
Data Structures | |
struct | nwalRxPktInfo_t |
NWAL Packet meta data information for incoming packet. More... | |
struct | nwalTxPktInfo_t |
NWAL Packet meta data information for outgoing packet. More... | |
struct | nwalDmRxPayloadInfo_t |
NWAL Data mode meta data payload information from NetCP. More... | |
struct | nwalDmTxPayloadInfo_t |
NWAL Data Mode Payload information for packet to SA. More... | |
union | nwalIpAddr_t |
IP address specification. More... | |
struct | nwalBufPool_t |
Buffer pool definition for RX and TX path. More... | |
struct | nwalGlobCfg_t |
NWAL Global System Level configuration. More... | |
struct | nwalLocCfg_t |
NWAL Local per core configuration. More... | |
struct | nwalSizeInfo_t |
NWAL Memory Size Configuration Structure. More... | |
struct | nwalCreateSAParams_t |
nwalCreateSA configuration parameters More... | |
struct | nwalCreateDmSAParams_t |
nwalCreateSA configuration parameters More... | |
struct | nwalTxConnCfg_t |
Configuration details for packets being transmitted for the connection Will be used in the case of NWAL module being used to create TX headers. More... | |
struct | nwalGlobCxtInfo_t |
Global context information at NWAL. More... | |
struct | nwalChanCxtInfo_t |
Channel context information stored within NWAL channel handle. More... | |
struct | nwalLocCxtInfo_t |
Local (per process) context information in NWAL. More... | |
Defines | |
#define | nwal_OK 0 |
#define | nwal_TRANS_COMPLETE 1 |
#define | nwal_ERR_INVALID_CMD_DEST -1 |
#define | nwal_ERR_NO_FREE_CMD_DESC -2 |
#define | nwal_ERR_PA -3 |
#define | nwal_ERR_NO_FREE_CMD_BUF -4 |
#define | nwal_ERR_INVALID_HANDLE -5 |
#define | nwal_ERR_NO_FREE_BUF -6 |
#define | nwal_ERR_INVALID_ADDR -7 |
#define | nwal_ERR_INVALID_PARAM -8 |
#define | nwal_ERR_PA_PREV_REQ -9 |
#define | nwal_ERR_MEM_ALLOC -10 |
#define | nwal_ERR_SA -11 |
#define | nwal_ERR_RES_UNAVAILABLE -12 |
#define | nwal_ERR_INVALID_KEY -13 |
#define | nwal_ERR_INVALID_PREV_HANDLE_STATE -14 |
#define | nwal_ERR_INVALID_STATE -15 |
#define | nwal_ERR_POWER_DOMAIN_FAIL -16 |
#define | nwal_ERR_PA_DOWNLOAD -17 |
#define | nwal_ERR_CPPI -18 |
#define | nwal_ERR_QMSS -19 |
#define | nwal_ERR_DEST_MISMATCH -20 |
#define | nwal_ERR_SA_NOT_ENABLED -21 |
#define | nwal_ERR_INVALID_PROC_ID -22 |
#define | nwal_ERR_L2L3_UNAVAILABLE -23 |
#define | nwal_ERR_PORT_UNAVAILABLE -24 |
#define | nwal_ERR_PKT_LIB -25 |
#define | nwal_ERR_POLICY_CHECK_FAIL -26 |
#define | NWAL_IPSEC_AH_MAX_AUTH_TAG_BYTES pa_MAX_PATCH_BYTES |
Maximum size allowed for Authentication Tag bytes. | |
#define | NWAL_MAX_BUF_POOLS |
NWAL Multi Buffer pool configuration. | |
#define | NWAL_DEF_MAX_PKTS_PER_POLL 100 |
#define | nwal_MAX_NETCP_PASS_ACTIVE_PDSP (pa_CMD_TX_DEST_5+1) |
Handle owned by NWAL abstracted to Application. | |
#define | nwal_N_BUFS 8 |
Define the maximum number of buffers the module can request. | |
#define | NWAL_TRANSID_SPIN_WAIT 0xFFFF |
#define | nwal_TRUE 1 |
TRUE. | |
#define | nwal_FALSE 0 |
FALSE. | |
#define | NWAL_MAC_PKT_UNICAST 0x2 |
#define | NWAL_MAC_PKT_BROADCAST 0x3 |
#define | NWAL_MAC_PKT_MULTICAST 0x4 |
#define | NWAL_MAC_PKT_LOCAL_ADDR_MISMATCH 0x5 |
#define | NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_UNKNOWN 0 |
#define | NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_NACK 1 |
#define | NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_ACK 3 |
#define | NWAL_RX_FLAG1_L4_CHKSUM_VERIFY_UNKNOWN 0 |
#define | NWAL_RX_FLAG1_L4_CHKSUM_VERIFY_NACK 1 |
#define | NWAL_RX_IPSEC_CRYPTO_DONE_OK 0x00000020 |
#define | NWAL_RX_IPSEC_WINDOW_DONE_OK 0x00000040 |
#define | NWAL_RX_IP_FRAGMENT_PKT 0x00000080 |
#define | NWAL_ROUTE_DSCP_PRIORITY 0x2 |
#define | NWAL_ROUTE_RX_INTF 0x4 |
#define | NWAL_TX_FLAG1_DO_IPV4_CHKSUM 0x00000001 |
#define | NWAL_TX_FLAG1_DO_UDP_CHKSUM 0x00000002 |
#define | NWAL_TX_FLAG1_DO_TCP_CHKSUM 0x00000004 |
#define | NWAL_TX_FLAG1_DO_UPDATE_ETHER_LEN 0x00000008 |
#define | NWAL_TX_FLAG1_DO_IPSEC_ESP_CRYPTO 0x00000020 |
#define | NWAL_TX_FLAG1_DO_IPSEC_AH_CRYPTO 0x00000040 |
#define | NWAL_NEXT_ROUTE_FAIL_ACTION_HOST 0x1 |
#define | NWAL_MATCH_ACTION_DISCARD 0x1 |
#define | NWAL_MATCH_ACTION_HOST 0x2 |
IP Options Valid Parameters | |
Bit map indicating valid Parameters for the configuration. Defines valid parameters for IP Options | |
#define | NWAL_IP_OPT_VALID_PARAMS_L4_PROTO 0x1 |
#define | NWAL_IP_OPT_VALID_PARAMS_TOS 0x2 |
#define | NWAL_IP_OPT_VALID_PARAMS_FLOW_LABEL 0x4 |
MAC Options Valid Parameters | |
Bit map indicating valid Parameters for the configuration. Defines valid parameters for MAC Options | |
#define | NWAL_MAC_OPT_VALID_PARAM_VLAN_ID 0x1 |
#define | NWAL_MAC_OPT_VALID_PARAM_VLAN_PRIO 0x2 |
#define | NWAL_MAC_OPT_FRAME_FORMAT_DIX 0x2 |
#define | nwal_IPV4 pa_IPV4 |
#define | nwal_IPV6 pa_IPV6 |
Valid Parameter configuration for nwal_setMacIface API | |
nwalAddIPParam structure. Configuration parameters for nwal_setIPAddr() API Valid Parameter configuration Valid Parameter to configure optional parameters. | |
#define | NWAL_SET_MAC_VALID_PARAM_IFNUM 0x1 |
#define | NWAL_SET_IP_VALID_PARAM_ROUTE_TYPE 0x1 |
#define | NWAL_SET_MAC_VALID_PARAM_VLAN_ID 0x2 |
#define | NWAL_SET_MAC_VALID_PARAM_ROUTE_TYPE 0x4 |
#define | NWAL_SET_MAC_VALID_PARAM_REMOTE_MAC 0x8 |
#define | NWAL_SET_IP_VALID_PARAM_REMOTE_IP 0x2 |
#define | nwal_IpSecProtoESP 4 |
Valid Parameter configuration for nwalSaIpSecParam_t | |
IPSec SA Configuration Parameters for the channel Configuration uniquely identifying an IPSec channel. Valid Parameter configuration Valid Parameter to configure optional parameters. | |
#define | NWAL_SA_INFO_VALID_PARAM_ESN 0x01 |
#define | NWAL_SA_INFO_VALID_PARAM_ROUTE_TYPE 0x02 |
#define | nwal_SA_MODE_TUNNEL 1 |
#define | NWAL_SA_DIR_OUTBOUND 2 |
#define | NWAL_SA_AALG_HMAC_MD5 1 |
#define | NWAL_SA_AALG_HMAC_SHA1 2 |
#define | NWAL_SA_AALG_HMAC_SHA2_224 3 |
#define | NWAL_SA_AALG_HMAC_SHA2_256 4 |
#define | NWAL_SA_AALG_GMAC 5 |
#define | NWAL_SA_AALG_AES_XCBC 6 |
#define | NWAL_SA_AALG_HMAC_SHA2_256_RFC4868 7 |
#define | NWAL_SA_EALG_AES_CTR 1 |
#define | NWAL_SA_EALG_AES_CBC 3 |
#define | NWAL_SA_EALG_DES_CBC 4 |
#define | NWAL_SA_EALG_3DES_CBC 5 |
#define | NWAL_SA_EALG_AES_CCM 6 |
#define | NWAL_SA_EALG_AES_GCM 7 |
Maximum Key Size configuration | |
Maximum Key Size configuration Maximum size for Encryption and Authentication Keys | |
#define | NWAL_SA_MAX_AUTH_KEY_LEN 64 |
#define | NWAL_SA_MAX_ENC_KEY_LEN 32 |
#define | NWAL_DM_CHAN_ENCRYPT 1 |
#define | NWAL_SET_SEC_POLICY_VALID_PARAM_ROUTE_TYPE 0x1 |
Configuration details for packets being received for the connection. | |
#define | NWAL_APP_PLOAD_PROTO_GTPU 0x02 |
#define | NWAL_APP_PLOAD_16_BIT_PORT 0x03 |
#define | nwal_POLL_DEFAULT_PER_PROC_PKT_Q 0x0002 |
#define | nwal_POLL_APP_MANAGED_PKT_Q 0x0004 |
#define | nwal_POLL_DM_APP_MANAGED_Q 3 |
#define | NWAL_CTRL_CXT_VALID_PA_OUTER_IP_HANDLE 0x00000002 |
#define | NWAL_CTRL_CXT_VALID_PA_INNER_IP_HANDLE 0x00000004 |
#define | NWAL_CTRL_CXT_VALID_PA_L4_HANDLE 0x00000008 |
#define | NWAL_CTRL_CXT_VALID_IPSEC_SA_HANDLE 0x00000010 |
#define | NWAL_CTRL_CXT_VALID_DM_SA_HANDLE 0x00000020 |
#define | NWAL_CTRL_CFG_SINGLE_EXCEPTION 1 |
#define | NWAL_CTRL_CFG_PA_ASSISTED_REASSEM 2 |
Valid Parameter configuration for nwal_control API | |
Valid Parameter configuration Valid Parameter to configure optional parameters. | |
#define | NWAL_CONTROL_VALID_PARAM_ROUTE_TYPE 0x1 |
Typedefs | |
typedef int16_t | nwal_RetValue |
typedef void * | nwal_Handle |
Handle owned by NWAL abstracted to Application. | |
typedef void * | nwal_AppId |
Handle owned by Application. | |
typedef void * | nwal_Inst |
NWAL Instance abstracted to Application. | |
typedef uint16_t | nwal_TransID_t |
Transaction ID type. | |
typedef uint16_t | nwal_Bool_t |
Boolean Type definition. | |
typedef void | nwal_CmdCallBack (nwal_AppId appId, nwal_TransID_t transId, nwal_RetValue ret) |
nwal_CmdCallBack Callback function for non blocking configuration request | |
typedef void | nwal_rxPktCallBack (uint32_t appCookie, uint16_t numPkts, nwalRxPktInfo_t *pPktInfo, uint64_t timestamp, nwal_Bool_t *pFreePkt) |
nwal_rxPktCallBack Callback function for incoming packets from NWAL | |
typedef void | nwal_CmdPaStatsReply (nwal_AppId appId, nwal_TransID_t transId, paSysStats_t *stats) |
nwal_CmdPaStatsReply Callback function for statistics response | |
typedef void | nwal_rxDmCallback (uint32_t appCookie, uint16_t numPkts, nwalDmRxPayloadInfo_t *pDmRxPayloadInfo, nwal_Bool_t *pFreePkt) |
nwal_rxDmCallback function callback to be used for Data Mode payload received from SA | |
typedef int | nwal_rxReassemProc (Ti_Pkt *pPkt, NWAL_queueHnd destQ) |
nwal_rxReassemProc function callback being called from NWAL if NWAL_CTRL_CFG_PA_ASSISTED_REASSEM is enabled through | |
typedef uint16_t | nwal_IpType |
Defines the IP version type used. | |
Functions | |
nwal_RetValue | nwal_getBufferReq (nwalSizeInfo_t *sizeCfg, int sizes[nwal_N_BUFS], int aligns[nwal_N_BUFS]) |
API to retrieve memory buffer requirement by NWAL module. | |
nwal_RetValue | nwal_create (const nwalGlobCfg_t *pCfg, nwalSizeInfo_t *pSizeInfo, int sizes[nwal_N_BUFS], void *bases[nwal_N_BUFS], nwal_Inst *pNwalInst) |
API instantiates the driver and allocated global resources and is pre-requisite. | |
nwal_RetValue | nwal_delete (nwal_Inst nwalInst) |
API frees the NetCP resources allocated byNWAL. | |
nwal_RetValue | nwal_getGlobCxtInfo (nwal_Inst nwalInst, nwalGlobCxtInfo_t *pInfo) |
API to retrieve global resources created by NWAL at the end of. | |
nwal_RetValue | nwal_start (nwal_Inst nwalInst, const nwalLocCfg_t *pCfg) |
API would need to be called for all cores as a pre-requisite. API allows local per core related resource configuration to NWAL. | |
nwal_RetValue | nwal_control (nwal_Inst nwalInst, nwalCtlInfo_t *pCtlInfo) |
Control API for additional global configuration at NetCP. | |
nwal_RetValue | nwal_getLocCxtInfo (nwal_Inst nwalInst, nwalLocCxtInfo_t *pInfo) |
API to retrieve local per process resources created by NWAL at the end of. | |
nwal_RetValue | nwal_getChanCxtInfo (nwal_Inst nwalInst, nwal_Handle nwalHandle, nwalChanCxtInfo_t *pInfo) |
API to retrieve internal context information from channel resources maintained by NWAL. Selective NetCP PA/SA channel handles are exposed to handle the case of multiple owner use case for PA/SA LLD. | |
nwal_Bool_t | nwal_getMacIface (nwal_Inst nwalInst, nwalMacParam_t *pParam, nwal_Handle *pIfHandle) |
nwal_getMacIface API will check for already configuration for MAC entry | |
nwal_RetValue | nwal_setMacIface (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_AppId appId, nwalMacParam_t *pParam, nwal_Handle *pIfHandle) |
nwal_setMacIface Configures MAC LUT entry at NetCP. | |
nwal_RetValue | nwal_delMacIface (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_Handle ifHandle) |
nwal_delMacIface Delete MAC LUT entry at NetCP. | |
nwal_Bool_t | nwal_getIPAddr (nwal_Inst nwalInst, nwalIpParam_t *pParam, nwal_Handle pPrevHandle, nwal_Handle *pIpHandle) |
nwal_getIPAddr API will check if there is already IP Address configured by application.If found returns the handle | |
nwal_RetValue | nwal_setIPAddr (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_AppId appId, nwal_Handle ifHandle, nwalIpParam_t *pParam, nwal_Handle *pIpHandle) |
nwal_setIPAddr Add IP Address configuration to NETCP. | |
nwal_RetValue | nwal_delIPAddr (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_Handle ipHandle) |
nwal_deleteIPAddr Delete IP Address configuration at NETCP. | |
nwal_Bool_t | nwal_getSecAssoc (nwal_Inst nwalInst, nwalSaIpSecId_t *pSaId, nwal_SaDir dir, nwal_Handle *pNwalSecAssocHandle, uint32_t *pSwInfo0, uint32_t *pSwInfo1) |
Get an IPSec Security Association Channel. | |
nwal_RetValue | nwal_setSecAssoc (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_AppId appId, nwalSaIpSecId_t *pSaId, nwalCreateSAParams_t *pCreateParam, nwal_Handle *pNwalSecAssocHandle) |
API to create outer IPSec Security Association Channel For inbound direction API will trigger allocating resources at NetCP. Application can either block by passing transaction ID as NWAL_TRANSID_SPIN_WAIT or wait for call back being called with the results For outbound, API will return nwal_TRANS_COMPLETE and no further callback will be called.Application can free transaction ID after returning from API. | |
nwal_RetValue | nwal_delSecAssoc (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_Handle nwalSecAssocHandle) |
API to delete an existing Policy Handle For inbound direction API will trigger allocating resources at NetCP. Application can either block by passing transaction ID as NWAL_TRANSID_SPIN_WAIT or wait for call back being called with the results For outbound, API will return nwal_TRANS_COMPLETE and no further callback will be called.Application can free transaction ID after returning from API. | |
nwal_Bool_t | nwal_getSecPolicy (nwal_Inst nwalInst, nwalSecPolParams_t *pPolParam, nwal_Handle *pNwalSecPolHandle) |
API to retrieve handle for existing security policy for a connection. | |
nwal_RetValue | nwal_setSecPolicy (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_AppId appId, nwalSecPolParams_t *pPolParam, nwal_Handle *pNwalSecPolHandle) |
API to create policy for a connection. | |
nwal_RetValue | nwal_delSecPolicy (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_Handle nwalSecPolHandle) |
API to delete an existing Policy Handle. | |
nwal_RetValue | nwal_addConn (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_AppId appId, nwal_appProtoType_t proto, nwalRxConnCfg_t *pRxConnCfg, nwalTxConnCfg_t *pTxConnCfg, nwal_Handle *pNwalConHandle) |
API to create connection establishment. | |
nwal_RetValue | nwal_delConn (nwal_Inst nwalInst, nwal_TransID_t transId, nwal_Handle nwalConHandle) |
API to delete an existing connection. | |
nwal_RetValue | nwal_cfgConn (nwal_Inst nwalInst, nwal_Handle nwalConHandle, nwalTxConnCfg_t *pTxConnCfg) |
API for run time configuration connection establishment. | |
nwal_RetValue | nwal_refreshConn (nwal_Inst nwalInst, nwal_Handle nwalHandle) |
nwal_refreshConn Refreshes a connection for the core. | |
nwal_RetValue | nwal_getPAStats (nwal_Inst nwalInst, nwal_TransID_t transId, paSysStats_t *pPaStats, nwal_Bool_t doClear) |
nwal_getPAStats Get Statistics from PA | |
nwal_RetValue | nwal_setDMSecAssoc (nwal_Inst nwalInst, nwal_AppId appId, nwalCreateDmSAParams_t *pCreateParam, nwal_Handle *pNwalDmSaHandle) |
nwal_setDMSecAssoc API for creating Data Mode Security Association | |
nwal_RetValue | nwal_delDMSecAssoc (nwal_Inst nwalInst, nwal_Handle nwalDmSaHandle) |
API to delete an existing Data Mode Security Channel. | |
nwal_RetValue | nwal_sendRaw (nwal_Inst nwalInst, nwal_Bool_t lpbackPass, uint16_t bufLen, uint8_t *pBuf) |
nwal_sendRaw Transmit raw packet to the PA | |
nwal_RetValue | nwal_updateProtoHdr (nwal_Inst nwalInst, nwal_Handle nwalHandle, nwalTxPktInfo_t *pPktInfo) |
nwal_updateProtoHdr Update protocol header to the packet | |
nwal_RetValue | nwal_send (nwal_Inst nwalInst, nwal_Handle nwalHandle, nwalTxPktInfo_t *pPktInfo) |
nwal_send Transmit packet out for a connection | |
nwal_RetValue | nwal_sendDM (nwal_Inst nwalInst, nwal_Handle nwalDmSaHandle, nwalDmTxPayloadInfo_t *pDmPloadInfo) |
nwal_sendDM Transmit payload for side band Data Mode Channel | |
void | nwal_pollCtl (nwal_Inst nwalInst, nwal_CmdCallBack *pCmdCallBack, nwal_CmdPaStatsReply *pPaStatsCallBack) |
nwal_pollCtl API for polling Control message response from NetCP: PA Subsystem. | |
uint16_t | nwal_pollPkt (nwal_Inst nwalInst, nwal_pollPktQCtl pktQCtl, uint32_t appCookie, uint16_t maxPkts, NWAL_queueHnd appRxPktQueue, nwal_rxPktCallBack *pRxPktCallBack) |
nwal_pollPkt API for polling packets from network. | |
uint16_t | nwal_pollDm (nwal_Inst nwalInst, nwal_pollDmQCtl dmQCtl, uint32_t appCookie, uint16_t maxPkts, NWAL_queueHnd appRxQueue, nwal_rxDmCallback *pRxDmCallBack) |
nwal_pollDm API for polling Data Mode payload from NetCP after Crypto completion | |
MAC packet Type | |
MAC packet Type | |
#define | NWAL_MAC_PKT_UNKNOWN 0x1 |
typedef uint16_t | nwal_macPktType_t |
RX Flag 1 | |
List of NetCP actions completed for incoming packet List of NetCP actions completed for incoming packet | |
#define | NWAL_RX_FLAG1_META_DATA_VALID 0x80000000 |
typedef uint32_t | nwal_rxFlag1_t |
NWAL Route types | |
NWAL Route types.Used to specify the mode of priority-based routing or interface based routing. PASS forwards the matched packets to the desired QoS queue which is equal to the base queue plus an offset specified by the VLAN priority or DSCP value in prority-based routing. For interface based routing,PASS forwards the matched packets to the desired host queue which is equal to the base queue plus an offset specified by the receive emac port (interface) number number with the CPPI flow which is equal to the base flow number plus the EMAC port (interface) number optionally in interface-based routing.. | |
#define | NWAL_ROUTE_VLAN_PRIORITY 0x1 |
typedef uint32_t | nwalRouteType_t |
EMAC Port Id | |
Incoming/Outgoing Port Id: 1 based Incoming/Outgoing Port Id: 1 based | |
#define | NWAL_ENET_PORT_UNKNOWN 0 |
typedef uint16_t | nwal_enetPort_t |
TX Flag 1 | |
List of actions to be completed by NetCP for outgoing packet List of actions to be completed by NetCP for outgoing packet | |
#define | NWAL_TX_FLAG1_META_DATA_VALID 0x80000000 |
typedef uint32_t | nwal_txFlag1_t |
Configuration for action by NETCP when next route classification | |
Action from NETCP when next route classification check fails fails Configuration action to either terminate to host or discard packets in case next route classification fails. An example for MAC/L2 would be IP L3 classification fails | |
#define | NWAL_NEXT_ROUTE_FAIL_ACTION_DISCARD 0x0 |
typedef uint16_t | nwal_nextRtFailAction_t |
Configuration for action by NETCP when classification matches | |
Action from NETCP when classification check passes Configuration actions in case classification matches at NetCP. | |
#define | NWAL_MATCH_ACTION_CONTINUE_NEXT_ROUTE 0x0 |
typedef uint16_t | nwal_matchAction_t |
Configuration for Frame format in MAC header | |
MAC frame format configuration MAC frame format configuration | |
#define | NWAL_MAC_OPT_FRAME_FORMAT_802_3 0x1 |
typedef uint16_t | nwal_macOptFrameFormat_t |
#define | NWAL_MAC_ADDR_SIZE 6 |
nwalMacAddr MAC address specification | |
#define | NWAL_IPV4_ADDR_SIZE 4 |
nwalIpv4Addr IPv4 address specification | |
#define | NWAL_IPV6_ADDR_SIZE 16 |
nwalIpv6Addr IPv6 address specificiation | |
COMMON (Common Interface) APIs | |
#define | nwal_IpSecProtoAH 3 |
typedef uint16_t | nwal_IpSecProto |
Defines the IPSec Protocol configuration for channel. | |
SA Mode for the IPSec Channel | |
SA Mode configuration | |
#define | nwal_SA_MODE_TRANSPORT 0 |
typedef uint16_t | nwal_saMode |
Channel Direction Inbound/Outbound | |
Channel Direction Inbound/Outbound Channel configuration | |
#define | NWAL_SA_DIR_INBOUND 1 |
typedef uint16_t | nwal_SaDir |
SA Authentication Algorithms | |
Authentication Algorithm supported | |
#define | NWAL_SA_AALG_NULL 0 |
typedef uint16_t | nwal_saAALG |
Encryption Algorithm Configuration | |
Encryption Algorithm Configuration Encryption Algorithm supported | |
#define | NWAL_SA_EALG_NULL 0 |
typedef uint16_t | nwal_saEALG |
Data Mode Channel Type Encryption/Decryption | |
Data Mode SA Configuration Parameters for the channel Configuration uniquely identifying an Data Mode SA Channel. Data Mode Channel Type Encryption/Decryption Channel configuration | |
#define | NWAL_DM_CHAN_DECRYPT 0 |
typedef uint16_t | nwal_DmChnType |
#define | NWAL_APP_PLOAD_PROTO_UDP 0x01 |
typedef uint16_t | nwal_appProtoType_t |
Application Layer protocol type for payload. | |
Bit Map indicating the queues to be polled by NWAL | |
Bit Map indicating the queues to be polled by NWAL Bit Map indicating the queues to be polled by NWAL. | |
#define | nwal_POLL_DEFAULT_GLOB_PKT_Q 0x0001 |
typedef uint16_t | nwal_pollPktQCtl |
Control for queue to be polled by NWAL for Data Mode SA channel | |
Control for queue to be polled by NWAL for Data Mode SA channel Control for queue to be polled by NWAL. Only one queue can be polled per API Call | |
#define | nwal_POLL_DM_DEF_SB_SA_Q 1 |
typedef uint16_t | nwal_pollDmQCtl |
Valid bitmap for internal handles | |
Global configuration for unclassified packets from NetCP Global configuration for unclassified packets from NetCP To be configured after nwal_start | |
#define | NWAL_CTRL_CXT_VALID_PA_MAC_HANDLE 0x00000001 |
typedef uint32_t | nwal_ChanCxtValidBitMap_t |
Global configuration for unclassified packets from NetCP | |
Global configuration for unclassified packets from NetCP Global configuration for unclassified packets from NetCP To be configured after nwal_start | |
#define | NWAL_CTRL_CFG_ALL_EXCEPTIONS 0 |
typedef uint16_t | nwal_ctlCfg_t |
Network Adaptation Layer Unit sub-system API and Data Definitions.
path ti/drv/nwal/nwal.h
#define NWAL_APP_PLOAD_16_BIT_PORT 0x03 |
All other 16 bit ports
#define NWAL_APP_PLOAD_PROTO_GTPU 0x02 |
Protocol Type for Application payload is GTPU
#define NWAL_APP_PLOAD_PROTO_UDP 0x01 |
Protocol Type for Application payload is UDP
#define NWAL_CONTROL_VALID_PARAM_ROUTE_TYPE 0x1 |
Route Type is valid
#define NWAL_CTRL_CFG_ALL_EXCEPTIONS 0 |
Configure NetCP for all Exception Packets defined under pa_EROUTE_XXX. Refer PA API file under ti/drv/pa/pa.h .
#define NWAL_CTRL_CFG_PA_ASSISTED_REASSEM 2 |
NetCP Assisted Reasssembly. The feature will allow incoming fragmented packets to be reassembled at application and being further redirected back to PA for further classification. The feature will also maintain ordering of incoming packets from network. In order to enable PA Assisted Reassembly matchAction need to be configured to NWAL_MATCH_ACTION_HOST and application need to register callback pRxReassemProc. For disabling PA Assisted Reassembly feature matchAction need to be configured to NWAL_MATCH_ACTION_DISCARD
#define NWAL_CTRL_CFG_SINGLE_EXCEPTION 1 |
Configure NetCP for single Exception packets defined under pa_EROUTE_XXX. Refer PA API file under ti/drv/pa/pa.h .
#define NWAL_CTRL_CXT_VALID_DM_SA_HANDLE 0x00000020 |
Valid SA Handle. Applicable when nwal_Handle being passed is the one returned from
#define NWAL_CTRL_CXT_VALID_IPSEC_SA_HANDLE 0x00000010 |
Valid SA Handle. Applicable when nwal_Handle being passed is the one returned from
#define NWAL_CTRL_CXT_VALID_PA_INNER_IP_HANDLE 0x00000004 |
Valid PA IP Handle. Applicable when nwal_Handle being passed is the one returned from
#define NWAL_CTRL_CXT_VALID_PA_L4_HANDLE 0x00000008 |
Valid PA UDP Handle. Applicable when nwal_Handle being passed is the one returned from
#define NWAL_CTRL_CXT_VALID_PA_MAC_HANDLE 0x00000001 |
Valid PA MAC Handle. Applicable when nwal_Handle being passed is the one returned from either
#define NWAL_CTRL_CXT_VALID_PA_OUTER_IP_HANDLE 0x00000002 |
Valid PA IP Handle. Applicable when nwal_Handle being passed is the one returned from Outer IP Handle retruned through
#define NWAL_DEF_MAX_PKTS_PER_POLL 100 |
Default packets processed by NWAL per poll
#define NWAL_DM_CHAN_DECRYPT 0 |
Data Mode Channel to be used for Decryption
#define NWAL_DM_CHAN_ENCRYPT 1 |
Data Mode Channel to be used for Encryption
#define NWAL_ENET_PORT_UNKNOWN 0 |
ENET Port Not Applicable. For TX direction switch will redirect to appropriate port.
#define NWAL_IP_OPT_VALID_PARAMS_FLOW_LABEL 0x4 |
Valid Flow Label
#define NWAL_IP_OPT_VALID_PARAMS_L4_PROTO 0x1 |
Valid Protocol Type.
#define NWAL_IP_OPT_VALID_PARAMS_TOS 0x2 |
Valid Type of Service
#define nwal_IpSecProtoAH 3 |
IPSEC AH Mode
#define nwal_IpSecProtoESP 4 |
IPSEC ESP Mode
#define nwal_IPV4 pa_IPV4 |
IPv4
#define nwal_IPV6 pa_IPV6 |
IPv6
#define NWAL_MAC_OPT_FRAME_FORMAT_802_3 0x1 |
802_3 Frame format.
#define NWAL_MAC_OPT_FRAME_FORMAT_DIX 0x2 |
DIX Frame format.
#define NWAL_MAC_OPT_VALID_PARAM_VLAN_ID 0x1 |
Valid VLAN ID.
#define NWAL_MAC_OPT_VALID_PARAM_VLAN_PRIO 0x2 |
Valid VLAN Priority
#define NWAL_MAC_PKT_BROADCAST 0x3 |
Broadcast MAC packet
#define NWAL_MAC_PKT_LOCAL_ADDR_MISMATCH 0x5 |
Packets not for local MAC point
#define NWAL_MAC_PKT_MULTICAST 0x4 |
Multicast MAC packet
#define NWAL_MAC_PKT_UNICAST 0x2 |
Unicast MAC packet
#define NWAL_MAC_PKT_UNKNOWN 0x1 |
Unknown Mac Packet Type from NetCP. Application would be required to retrieve the correct type
#define NWAL_MATCH_ACTION_CONTINUE_NEXT_ROUTE 0x0 |
NetCP to continue parsing for next route when classification rule matches
#define NWAL_MATCH_ACTION_DISCARD 0x1 |
Discard all packets which does not match next route classification.
#define NWAL_MATCH_ACTION_HOST 0x2 |
NetCP to terminate packet at host if classification matches
#define nwal_N_BUFS 8 |
Define the maximum number of buffers the module can request.
Number of Buffers to be used by NWAL
#define NWAL_NEXT_ROUTE_FAIL_ACTION_DISCARD 0x0 |
Discard all packets which does not match next route classification.
#define NWAL_NEXT_ROUTE_FAIL_ACTION_HOST 0x1 |
Terminate next route mismatch packets to host for further processing
#define nwal_POLL_APP_MANAGED_PKT_Q 0x0004 |
Poll for packets to be terminated at Application managed packet Queue/Flow
Poll for all packets from NetCP received at Application managed flow/queue
#define nwal_POLL_DEFAULT_GLOB_PKT_Q 0x0001 |
Poll for common Global L2/L3 packets which failed next route classification at NetCP
Poll for all packets received per system. This includes packets received through next route fail for MAC/[IPSec]/IP classification or packets matching MAC/[IPSec]/IP classification and being terminated to host at
#define nwal_POLL_DEFAULT_PER_PROC_PKT_Q 0x0002 |
Poll for packets to be terminated to Fast Path core
Poll for all packets matching L4 or L5 classification from NetCP through NWAL managed flow/ queue per process terminated through
#define nwal_POLL_DM_APP_MANAGED_Q 3 |
Poll for Data Mode Application managed packet Queue
#define nwal_POLL_DM_DEF_SB_SA_Q 1 |
Poll default Side Band SA Response Q from NetCP
#define NWAL_ROUTE_DSCP_PRIORITY 0x2 |
Route by using DSCP value as priority
#define NWAL_ROUTE_RX_INTF 0x4 |
Route by using EMAC port (interface) number as destination queue offset
Route by using EMAC port (interface) number as both destination queue and CPPI flow offset
#define NWAL_ROUTE_VLAN_PRIORITY 0x1 |
Route by using VLAN bits as priority
#define NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_ACK 3 |
IPV4 Header Checksum verification passed at NetCP
#define NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_NACK 1 |
IPV4 Header Checksum verification failed at NetCP
#define NWAL_RX_FLAG1_IPV4_CHKSUM_VERIFY_UNKNOWN 0 |
IPV4 Header Checksum verification result not done NetCP and hence unknown
#define NWAL_RX_FLAG1_L4_CHKSUM_VERIFY_NACK 1 |
IPV4 Header Checksum verification failed at NetCP
#define NWAL_RX_FLAG1_L4_CHKSUM_VERIFY_UNKNOWN 0 |
L4 Header Checksum verification result not done NetCP and hence unknown
#define NWAL_RX_FLAG1_META_DATA_VALID 0x80000000 |
Meta data information is valid. If this bit is not set all other fields in meta data related to packet will not be valid
#define NWAL_RX_IP_FRAGMENT_PKT 0x00000080 |
IP Fragment Packet to be reassembled by Host which had not gone through full PA classification.
#define NWAL_RX_IPSEC_CRYPTO_DONE_OK 0x00000020 |
IPSec Decryption/Authentication passed
#define NWAL_RX_IPSEC_WINDOW_DONE_OK 0x00000040 |
IPSec Decryption/Authentication passed
#define NWAL_SA_AALG_AES_XCBC 6 |
AES Extended Cipher Block Chaining - Message Autnentication Code mode
#define NWAL_SA_AALG_GMAC 5 |
Galois Message Authentication Code mode
#define NWAL_SA_AALG_HMAC_MD5 1 |
HMAC with SHA1 mode
#define NWAL_SA_AALG_HMAC_SHA1 2 |
HMAC with 224-bit SHA2 mode
#define NWAL_SA_AALG_HMAC_SHA2_224 3 |
HMAC with 224-bit SHA2 mode
#define NWAL_SA_AALG_HMAC_SHA2_256 4 |
HMAC with 256-bit SHA2 mode
#define NWAL_SA_AALG_HMAC_SHA2_256_RFC4868 7 |
HMAC with 256-bit SHA2 mode, ICV length truncated to 128 bits
#define NWAL_SA_AALG_NULL 0 |
No idviudal Authentication
#define NWAL_SA_DIR_INBOUND 1 |
Inbound Channel. NetCP would need to authentication/decryption
#define NWAL_SA_DIR_OUTBOUND 2 |
Outbound.NetCP would need to perform encryption and add authentication tag
#define NWAL_SA_EALG_3DES_CBC 5 |
DES CBC mode
#define NWAL_SA_EALG_AES_CBC 3 |
AES CBC mode
#define NWAL_SA_EALG_AES_CCM 6 |
Counter with CBC-MAC mode
#define NWAL_SA_EALG_AES_CTR 1 |
AES Counter mode
#define NWAL_SA_EALG_AES_GCM 7 |
Galois Counter mode
#define NWAL_SA_EALG_DES_CBC 4 |
DES CBC mode
#define NWAL_SA_EALG_NULL 0 |
No encryption
#define NWAL_SA_INFO_VALID_PARAM_ESN 0x01 |
Valid ESN configuration
#define NWAL_SA_INFO_VALID_PARAM_ROUTE_TYPE 0x02 |
Valid Route Type configuration
#define NWAL_SA_MAX_AUTH_KEY_LEN 64 |
Maximum size for Authentication Key
#define NWAL_SA_MAX_ENC_KEY_LEN 32 |
Maximum size for Encryption Kepys
#define nwal_SA_MODE_TRANSPORT 0 |
Transport Mode
#define nwal_SA_MODE_TUNNEL 1 |
Tunnel Mode
#define NWAL_SET_IP_VALID_PARAM_REMOTE_IP 0x2 |
Remote IP is valid
#define NWAL_SET_IP_VALID_PARAM_ROUTE_TYPE 0x1 |
Route Type is valid
#define NWAL_SET_MAC_VALID_PARAM_IFNUM 0x1 |
Restrict MAC packets from NetCP if received from a particular Interface and destination MAC
#define NWAL_SET_MAC_VALID_PARAM_REMOTE_MAC 0x8 |
Remote Mac is valid
#define NWAL_SET_MAC_VALID_PARAM_ROUTE_TYPE 0x4 |
Route Type is valid
#define NWAL_SET_MAC_VALID_PARAM_VLAN_ID 0x2 |
VLAN ID is valid
#define NWAL_TRANSID_SPIN_WAIT 0xFFFF |
Reserved Transaction ID for Blocking the API until transaction is complete. NWAL module will do spin wait until transaction is complete
#define NWAL_TX_FLAG1_DO_IPSEC_AH_CRYPTO 0x00000040 |
IPSec Crypto/Authentication to be done at NetCP
#define NWAL_TX_FLAG1_DO_IPSEC_ESP_CRYPTO 0x00000020 |
IPSec Crypto/Authentication to be done at NetCP
#define NWAL_TX_FLAG1_DO_IPV4_CHKSUM 0x00000001 |
IPV4 Header Checksum offload to hardware. Only supported for innermost IP header of the packet in the case of tunnel configuration Packet received at NWAL already should have rest of the header populated
#define NWAL_TX_FLAG1_DO_TCP_CHKSUM 0x00000004 |
TCP checksum to be computed at NetCP
#define NWAL_TX_FLAG1_DO_UDP_CHKSUM 0x00000002 |
UDP checksum to be computed at NetCP
#define NWAL_TX_FLAG1_DO_UPDATE_ETHER_LEN 0x00000008 |
Update Length for the Ethernel Header eg: 802.3.Only one Length field update is currently supported.Offset to the length would need to be provided through etherLenOffBytes configuration
#define NWAL_TX_FLAG1_META_DATA_VALID 0x80000000 |
Meta data information is valid. If this bit is not set all other fields in meta data related to packet will not be valid
typedef uint16_t nwal_IpType |
Defines the IP version type used.
The packet accelerator module parses both IPv4 and IPv6 network layer headers. This group is used to distinguish which type of header will be used.