• Raed Salem's avatar
    net/mlx5: IPsec: Add HW crypto offload support · 2d64663c
    Raed Salem authored
    This patch adds support for Connect-X IPsec crypto offload
    by implementing the IPsec acceleration layer needed routines,
    which delegates IPsec offloads to Connect-X routines.
    
    In Connect-X IPsec, a Security Association (SA) is added or deleted
    via allocating a HW context of an encryption/decryption key and
    a HW context of a matching SA (IPsec object).
    The Security Policy (SP) is added or deleted by creating matching Tx/Rx
    steering rules whith an action of encryption/decryption respectively,
    executed using the previously allocated SA HW context.
    
    When new xfrm state (SA) is added:
    - Use a separate crypto key HW context.
    - Create a separate IPsec context in HW to inlcude the SA properties:
     - aes-gcm salt.
     - ICV properties (ICV length, implicit IV).
     - on supported devices also update ESN.
     - associate the allocated crypto key with this IPsec context.
    
    Introduce a new compilation flag MLX5_IPSEC for it.
    
    Downstream patches will implement the Rx,Tx steering
    and will add the update esn.
    Signed-off-by: default avatarRaed Salem <raeds@mellanox.com>
    Signed-off-by: default avatarHuy Nguyen <huyn@mellanox.com>
    Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    2d64663c
ipsec_offload.h 1.02 KB