Lines Matching refs:rsa
183 struct rx_sa *rsa; in ixgbevf_ipsec_find_rx_state() local
186 hash_for_each_possible_rcu(ipsec->rx_sa_list, rsa, hlist, in ixgbevf_ipsec_find_rx_state()
188 if (spi == rsa->xs->id.spi && in ixgbevf_ipsec_find_rx_state()
189 ((ip4 && *daddr == rsa->xs->id.daddr.a4) || in ixgbevf_ipsec_find_rx_state()
190 (!ip4 && !memcmp(daddr, &rsa->xs->id.daddr.a6, in ixgbevf_ipsec_find_rx_state()
191 sizeof(rsa->xs->id.daddr.a6)))) && in ixgbevf_ipsec_find_rx_state()
192 proto == rsa->xs->id.proto) { in ixgbevf_ipsec_find_rx_state()
193 ret = rsa->xs; in ixgbevf_ipsec_find_rx_state()
290 struct rx_sa rsa; in ixgbevf_ipsec_add_sa() local
305 memset(&rsa, 0, sizeof(rsa)); in ixgbevf_ipsec_add_sa()
306 rsa.used = true; in ixgbevf_ipsec_add_sa()
307 rsa.xs = xs; in ixgbevf_ipsec_add_sa()
309 if (rsa.xs->id.proto & IPPROTO_ESP) in ixgbevf_ipsec_add_sa()
310 rsa.decrypt = xs->ealg || xs->aead; in ixgbevf_ipsec_add_sa()
313 ret = ixgbevf_ipsec_parse_proto_keys(xs, rsa.key, &rsa.salt); in ixgbevf_ipsec_add_sa()
321 memcpy(rsa.ipaddr, &xs->id.daddr.a6, 16); in ixgbevf_ipsec_add_sa()
323 memcpy(&rsa.ipaddr[3], &xs->id.daddr.a4, 4); in ixgbevf_ipsec_add_sa()
325 rsa.mode = IXGBE_RXMOD_VALID; in ixgbevf_ipsec_add_sa()
326 if (rsa.xs->id.proto & IPPROTO_ESP) in ixgbevf_ipsec_add_sa()
327 rsa.mode |= IXGBE_RXMOD_PROTO_ESP; in ixgbevf_ipsec_add_sa()
328 if (rsa.decrypt) in ixgbevf_ipsec_add_sa()
329 rsa.mode |= IXGBE_RXMOD_DECRYPT; in ixgbevf_ipsec_add_sa()
330 if (rsa.xs->props.family == AF_INET6) in ixgbevf_ipsec_add_sa()
331 rsa.mode |= IXGBE_RXMOD_IPV6; in ixgbevf_ipsec_add_sa()
336 rsa.pfsa = ret; in ixgbevf_ipsec_add_sa()
339 memcpy(&ipsec->rx_tbl[sa_idx], &rsa, sizeof(rsa)); in ixgbevf_ipsec_add_sa()
347 (__force u32)rsa.xs->id.spi); in ixgbevf_ipsec_add_sa()