intel / intel-ipsec-mb

Intel(R) Multi-Buffer Crypto for IPSec
BSD 3-Clause "New" or "Revised" License
289 stars 87 forks source link

added GCM in job API, changed job scheduler #9

Closed deadcafe closed 7 years ago

deadcafe commented 7 years ago
    Change list:
    1. added GCM in job API
      Added GCM in JOB_CIPHER_MODE and added GCM_AES in JOB_HASH_ALG.
      Therefore, aad and aad_len_in_bytes ware also added to JOB_AES_HMAC.

    2. changed job scheduler
      I summarized the job API for each ARCH into one except initialization.
      mb_mgr_code.h became unnecessary, and ipsec_mb_job.c instead
      described handlers for each ARCH.
      Also, cipher_direction was enabled in JOB_AES_HMAC,
      chain_order was not used.

    Note:
    unconfirmed non-linux, AVX512, and SHANI.
deadcafe commented 7 years ago

It was not possible to integrate the GCM into the existing scheduler. Please comment.

tkanteck commented 7 years ago

Thanks for the patch and osrr yfor delay in response but I was off for a few days. This patch is really big and goes beyond just adding GCM to existing structures and scheduler. I think GCM can be added to existing scheduler - let me look into and perhaps I can re-work the patch and reduce its scope. If this turns to be too much work I'll ask for your help here.

deadcafe commented 7 years ago

hi tkanteck,

I am implementing gcm with an existing scheduler job API. https://github.com/deadcafe/intel-ipsec-mb/tree/sample_gcm

Since the code of the current macro seems to be a little dirty, I will modify it a bit and add GCM. I have not cleared the bug yet, please give me a comment.

tkanteck commented 7 years ago

GCM is available under JOB API now https://github.com/01org/intel-ipsec-mb/commit/7f176aae3e2924f1f8aed7ba2639ca2edea2445d Thanks, Tomasz