Subject: [cicm] CICM Questions

From: "Nanjundiah, Girish" <[email-masked]>
Date: Fri, 27 May 2011 11:49:41 -0700

Hello Everyone,

We are in the midst of implementing the CICM driver at ViaSat and we had
the following issues with the code:

1.       When the function encrypt() sends a packet to the Crypto, it
emerges on the black side encrypted and decrypt() is expected to decrypt
this encrypted packet. In order for the packet to be decrypted, there
needs to be some function that echoes the encrypted packet back through
the black side. Since this echoing back seems to be more of an
application level function than a driver function, what part of the code
should be responsible for echoing the encrypted packet back through the
Crypto?

2.       When create_en/decrypt_conduit is finished executing, it needs
to store an identifier (just a number really) to identify the conduit it
has created with the Crypto. Since both of these functions only return a
status and a CICM::En/Decrypt::Conduit pointer, the only way to store
the identifier for the conduit to use is to add it as a member variable
to the Conduit class. If the variable is to be private, we would also
need a simple public member function to access it. Is there a way to
update the CICM API so that we can store the conduit's identifier in one
of the ways I listed?

Can we please get some clarification on these issues?

Thanks,

-Girish Nanjundiah