Presentation is loading. Please wait.

Presentation is loading. Please wait.

NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC.

Similar presentations


Presentation on theme: "NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC."— Presentation transcript:

1 NetCP - NWAL API Flow

2 NetCP (HW,SW) Overview

3 NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC Classification/Lookup –L3: IP Classification/Lookup –L4: UCP/TCP/GTPU Lookup –SA: Crypto offload RX Packet In band IPSec traffic RX Packet Side band IPSec offload –IP/UDP Checksum TX and RX –Routing between PA and SA and EMAC port redirection

4 BIOS/ARM Core Data Path Application Initialization User Application nwal_getBufferReq() NWAL nwal_start() Master Core Only: Global Resource Initialization at NWAL for NetCP: PA/SA and common Queues For each proc Initializes local per core resources nwal_create() System initialization: QMSS/CPPI/Switch

5 BIOS/ARM Cores Interface address Configuration: Blocking User Application PA LLD Qmss_queuePush() QMSS LLD Configure Local MAC: nwal_SetMacIface 1 3 NWAL Pa_addMac() 2 Qmss_queuePop() 4 Pa_forwardResult() 5 6 Qmss_queuePush() Configure Local IP nwal_SetIPAddr 1 3 Pa_addIP() 2 Qmss_queuePop() 4 Pa_forwardResult() 5 6 Add MAC Add IP API return with status

6 BIOS/ARM Core L4 Connection setup: RX/ TX[Optional] User Application PA LLD Qmss_queuePush() QMSS LLD 1 3 NWAL Pa_addPort() 2 Qmss_queuePop() 4 Pa_forwardResult() 5 6 CREATE_CONNECTION (IP handle) nwal_addConn() Store the SRC address. Enable RX flow API return with status

7 L4 Connection: TX config User AppPA LLDQMSS LLD CONFIGURE_CONNECTION : nwal_cfgConn() 1 NWAL BIOS/ARM Core 2 Format and store the TX header. Enable TX flow API return with status

8 BIOS/ARM Cores TX: Data Path Application NWAL Application Transmit packet with header from App. nwal_sendRaw() NWALMulticore Navigator Allocate descriptor. Queue Push to Loopback or ENET Higher layer transmit nwal_send() Optional: Insert Protocol headers MAC/I[IPSec]/IP/UDP. Prepare command label for TX offload: -- IP/UDP checksum --Crypto. Encryption/Authentication tag offload -- Queue Push to destination Queue

9 RX: Data Path Application NWAL Application nwal_pollCtl( ) NWAL BIOS/ARM Cores One Callback for group of packets nwal_cmdCallBack() Multicore Navigator Queue Pop Retrieve meta data information including channel handle nwal_rxPktCallBack() Queue Pop Retrieve meta data information: checksum errors and channel handle nwal_pollPkt(,..,. maxPkts,..) Queue Pop Retrieve metadata information including channel handle nwal_cmdPaStatsReply() Non blocking: Callback with status/results. Blocking: API return will indicate results

10 NWAL Unit test Overview Demonstrates multicore capability Master Proc: –Initializes global system resources –NWAL resources –Configures NetCP for MAC/IP/IPSec Local Proc –L4 connection establishment –Transmit of packet from each proc –Loopback at NetCP –Receive at host and verify Metadata Packet payload Tests: –MAC Classification & Next Route –IP Classification & Next Route –UDP L4 Connection –Transmit and Receive verification

11 Backup Slides

12 SP policy offload (RX): (SA Creation) BIOS/ARM Cores ApplicationPA LLDQMSS LLDNWALSA LLD CREATE_SA: Dir = RX: nwal_setSecAssoc 1 Sa_chanCreate() Sa_chanControl(): sa_CHAN_CTRL_GEN_CONFIG Sa_chanControl(): sa_CHAN_CTRL_KEY_CONFIG ScAlloc() Callback with Security Context API return with status PA_addIP() 2 3 4 5 6 Qmss_queuePush() Qmss_queuePop() 8 Pa_forwardResult() 9 10 7

13 SP policy offload (RX): (SP config) BIOS/ARM Cores PA LLDQMSS LLDNWALSA LLD ADD_SP:Dir = RX nwal_setSecPolicy PA_addIP() Qmss_queuePush() Qmss_queuePop() Pa_forwardResult() User App 16 11 12 13 14 15 Store the policy info and link it to SA. API return with status

14 SP policy offload (TX): (SA Creation) BIOS/ARM Cores User AppPA LLDQMSS LLDNWALSA LLD CREATE_SA: Dir = TX nwal_setSecAssoc() 1 Sa_chanCreate() Sa_chanControl(): sa_CHAN_CTRL_GEN_CONFIG Sa_chanControl(): sa_CHAN_CTRL_KEY_CONFIG ScAlloc() Callback with Security Context 2 3 4 5 6 Format and store the TX header for tunnel. API return with status

15 SP policy offload (TX): (SP config) BIOS/ARM Core PA LLDQMSS LLDNWALSA LLD ADD_SP: Dir = TX: nwal_setSecPolicy App 8 7 Store the policy info and link it to SA. API return with status


Download ppt "NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC."

Similar presentations


Ads by Google