Lines Matching refs:rsa
183 struct rx_sa *rsa;
186 hash_for_each_possible_rcu(ipsec->rx_sa_list, rsa, hlist,
188 if (spi == rsa->xs->id.spi &&
189 ((ip4 && *daddr == rsa->xs->id.daddr.a4) ||
190 (!ip4 && !memcmp(daddr, &rsa->xs->id.daddr.a6,
191 sizeof(rsa->xs->id.daddr.a6)))) &&
192 proto == rsa->xs->id.proto) {
193 ret = rsa->xs;
284 struct rx_sa rsa;
299 memset(&rsa, 0, sizeof(rsa));
300 rsa.used = true;
301 rsa.xs = xs;
303 if (rsa.xs->id.proto & IPPROTO_ESP)
304 rsa.decrypt = xs->ealg || xs->aead;
307 ret = ixgbevf_ipsec_parse_proto_keys(xs, rsa.key, &rsa.salt);
315 memcpy(rsa.ipaddr, &xs->id.daddr.a6, 16);
317 memcpy(&rsa.ipaddr[3], &xs->id.daddr.a4, 4);
319 rsa.mode = IXGBE_RXMOD_VALID;
320 if (rsa.xs->id.proto & IPPROTO_ESP)
321 rsa.mode |= IXGBE_RXMOD_PROTO_ESP;
322 if (rsa.decrypt)
323 rsa.mode |= IXGBE_RXMOD_DECRYPT;
324 if (rsa.xs->props.family == AF_INET6)
325 rsa.mode |= IXGBE_RXMOD_IPV6;
330 rsa.pfsa = ret;
333 memcpy(&ipsec->rx_tbl[sa_idx], &rsa, sizeof(rsa));
341 (__force u32)rsa.xs->id.spi);