As discussed during yesterdays ODP call, these are the capabilities of Inside 
Secure IPsec hardware.

First, it's important to establish that we don't have just 1 IPsec solution, we 
have a whole family of solutions spanning various cost/performance/feature 
trade-offs.
In least-to-most capabilities & performance order: EIP93, EIP94, EIP96, EIP97, 
EIP198, EIP197, EIP197PP.
On top of that we have some very high speed AES-GCM-only combined IPsec/MACsec 
solutions.


1)      TFC padding: none of our solutions currently expose such functionality, 
deferring both TFC padding insertion and removal to the application.
However, for the EIP96 - EIP197PP range of solutions our HW /is/ capable of TFC 
padding insertion, we would just need to expose this through our driver and 
firmware.
So API-wise you might want to support adding n bytes of TFC padding for 
outbound. Assuming there's an actual application-independent practical use case 
for that.



2)      No Next Header (NH=59) handling: all of our solutions would handle this 
the same as any other protocol, encrypting or decrypting it as usual depending 
on direction.
The way I read the RFC, that's probably not the intention(?). I get the 
impression that the IPsec payload can just be random garbage, i.e. it doesn't 
have to decrypt to anything that makes sense and it doesn't have to 
authenticate properly (to facilitate fast generation of such packets by 
skipping actual cryptographic operations).
I guess on outbound that means our HW would be doing unnecessary cryptographic 
operations, which does not need to be a problem since it doesn't really slow us 
down. Same on inbound but there our HW would likely be detecting authentication 
failures. Those would need to be blocked by the ODP driver due to NH=59, or the 
ODP driver could drop NH=59 packets altogether, not delivering them to the 
application (I guess you would have to make a decision on that).
Should actually be transparent to the API, save perhaps for some switch to 
enable/disable automatic NH=59 packet dropping (if desired).


3)      Checksum offload: none of our solutions do any checksum offloading. 
They only do /incremental/ IPv4 checksum /updates/ to match any IPv4 header 
updates they need to do. Our solutions do not modify anything below the IP 
layer, so they don't bother with UDP/TCP checksums at all.
So, if I understand correctly, this means any checksum generation and 
verification would need to be done in the ODP driver for our engines. This is 
probably not desirable (performance-wise) in case of a scenario (i.e. IPsec 
gateway) where the connection is not terminated at our engine. So some method 
to defer this to the application would be most welcome.

Regards,
Pascal
[http://medias.infostrates.fr/b2c/insidesecure/signatureMail/inside-logo-signature.jpg]
Pascal van Leeuwen
Silicon IP Architect, Multi-Protocol Engines

Tel. : +31 (0)73 65 81 900

www.insidesecure.com<http://www.insidesecure.com/>


CONFIDENTIALITY - This e-mail and any attachments hereto are intended only for 
use by the addressee(s) named herein and may contain confidential information. 
If you are not the named recipient, please notify the sender immediately and do 
not disclose the contents to any person, use it for any purpose, or store or 
copy the information on any medium. Please permanently delete the original copy 
of this e-mail and/or any attachments thereto and any printout thereof. Thank 
you.

Reply via email to