Hi Ti Folks,
Please correct my understanding related to SA channels and security contexts. lets say i am using snow 3g Cipher/decipher and assume i have 3 Users U1, U2 and U3.
1. ret_code = Sa_chanGetBufferReq (); called once for all users. [Channel is per protocol]
2. ret_code = Sa_chanCreate (); called once for all users. [Channel is per protocol as in 2.4]
3. Assuming three users U1,U2 and U3, ret_code = Sa_chanControl(); is called 4 [1 tx gen config, 1 rx gen config, 1 tx key config, 1 rx key config] times per User. So it has to be called 12 times [4x3] over all.
so overall channel is a bridge whereas each user will have his own security context cable running through the bridge. can i assume this kind of layman understanding.?
4. Also i am trying to segregate this structure on global basis and per User basis. let me know if i am correct on
typedef struct {
uint16_t ID; per Protocol [in our case only once]
Sa_ChanHandle salldInst; per Protocol [in our case only once]
int16_t salld_heap_size; per Protocol [in our case only once]
int buf_sizes[sa_CHAN_N_BUFS]; per Protocol [in our case only once]
int16_t aux_heap_size; per Protocol [in our case only once]
/* record the Sc Info */
int16_t scInfoIndex; // plz help here
Sa_ScReqInfo_t scInfo[4]; ?? why is fixed number 4, is this per USER Configuration ??
uint16_t stateBitMap; per Protocol [in our case only once]
Sa_SecProto_e protocolType; per Protocol [in our case only once]
uint16_t relayWinSize; per Protocol [in our case only once]
salldSimChanInfo_t txInfo; PER USER
salldSimChanInfo_t rxInfo; PER USER
Sa_SWInfo_t regSwInfo; PER USER
/* Channel Statistics */
Sa_Stats_t salldsimSalldStats; PER USER
} salldSimChannel_t;
so overall, my aim is to achieve N Users on a snow3g cipher, i went through examples basic and unit Test and trying to arrive at conclusion [i mean doing my home work], but i need some guidance/hints from Ti folks, Kindly help.
==============one correction needed in code comments===========
The function sauGenToAirPkt calls Sa_chanReceiveData, whereas in comments it is written INcorrectly as salldSendData(). This needs to be corrected
* - Prepare and call salldSendData()
* - Fill the swInfo words
* - Prepare and fill the PS Info words with a set of the SA commands
* per connection
*
******************************************************************************/
static Cppi_HostDesc* sauGenToAirPkt(tFramework_t *tf, int connIndex, UInt16 payloadLen, UInt8* payload)
same correction needed in case of sauGenFromAirPkt comments...
Thanks
RC Reddy