Thread (11 messages) 11 messages, 3 authors, 2008-05-29

IPSec ESP Authenc Offload

From: Loc Ho <hidden>
Date: 2008-05-27 18:29:24

Hi Herbert,

For authenc hardware offload outbound, we need to know the whole ESP
header length - IP header + UDP header + ESP header + IV. I am thinking
adding a field in struct aead_givcrypt_request as below:

/**
 *      struct aead_givcrypt_request - AEAD request with IV generation
 *      @seq: Sequence number for IV generation
 *      @giv: Space for generated IV
 *      @areq: The AEAD request itself
 *      @hl: ESP total header length
 */
struct aead_givcrypt_request {
        u64 seq;
        u8 *giv;
        u16 hl;		<===== new ESP total header including IV

        struct aead_request areq;
};


aead_givcrypt_set_giv(req, esph->enc_data,
		      XFRM_SKB_CB(skb)->seq.output,
		      x->props.header_len);

Might be able to use skb_network_offset(skb) instead
x->props.header_len. And of course change function aead_givcrypt_set_giv
to set field hl.

Any other suggest as to how a hardware driver can retrieve this
information besides passing the data packet?

-Loc
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help