Lines Matching full:rsa

396 	struct rx_sa *rsa;  in ixgbe_ipsec_find_rx_state()  local
400 hash_for_each_possible_rcu(ipsec->rx_sa_list, rsa, hlist, in ixgbe_ipsec_find_rx_state()
402 if (rsa->mode & IXGBE_RXTXMOD_VF) in ixgbe_ipsec_find_rx_state()
404 if (spi == rsa->xs->id.spi && in ixgbe_ipsec_find_rx_state()
405 ((ip4 && *daddr == rsa->xs->id.daddr.a4) || in ixgbe_ipsec_find_rx_state()
406 (!ip4 && !memcmp(daddr, &rsa->xs->id.daddr.a6, in ixgbe_ipsec_find_rx_state()
407 sizeof(rsa->xs->id.daddr.a6)))) && in ixgbe_ipsec_find_rx_state()
408 proto == rsa->xs->id.proto) { in ixgbe_ipsec_find_rx_state()
409 ret = rsa->xs; in ixgbe_ipsec_find_rx_state()
595 struct rx_sa rsa; in ixgbe_ipsec_add_sa() local
610 memset(&rsa, 0, sizeof(rsa)); in ixgbe_ipsec_add_sa()
611 rsa.used = true; in ixgbe_ipsec_add_sa()
612 rsa.xs = xs; in ixgbe_ipsec_add_sa()
614 if (rsa.xs->id.proto & IPPROTO_ESP) in ixgbe_ipsec_add_sa()
615 rsa.decrypt = xs->ealg || xs->aead; in ixgbe_ipsec_add_sa()
618 ret = ixgbe_ipsec_parse_proto_keys(xs, rsa.key, &rsa.salt); in ixgbe_ipsec_add_sa()
626 memcpy(rsa.ipaddr, &xs->id.daddr.a6, 16); in ixgbe_ipsec_add_sa()
628 memcpy(&rsa.ipaddr[3], &xs->id.daddr.a4, 4); in ixgbe_ipsec_add_sa()
649 rsa.ipaddr, sizeof(rsa.ipaddr))) { in ixgbe_ipsec_add_sa()
664 rsa.iptbl_ind = match; in ixgbe_ipsec_add_sa()
669 rsa.iptbl_ind = first; in ixgbe_ipsec_add_sa()
672 rsa.ipaddr, sizeof(rsa.ipaddr)); in ixgbe_ipsec_add_sa()
676 ixgbe_ipsec_set_rx_ip(hw, rsa.iptbl_ind, rsa.ipaddr); in ixgbe_ipsec_add_sa()
681 memset(&rsa, 0, sizeof(rsa)); in ixgbe_ipsec_add_sa()
685 rsa.mode = IXGBE_RXMOD_VALID; in ixgbe_ipsec_add_sa()
686 if (rsa.xs->id.proto & IPPROTO_ESP) in ixgbe_ipsec_add_sa()
687 rsa.mode |= IXGBE_RXMOD_PROTO_ESP; in ixgbe_ipsec_add_sa()
688 if (rsa.decrypt) in ixgbe_ipsec_add_sa()
689 rsa.mode |= IXGBE_RXMOD_DECRYPT; in ixgbe_ipsec_add_sa()
690 if (rsa.xs->props.family == AF_INET6) in ixgbe_ipsec_add_sa()
691 rsa.mode |= IXGBE_RXMOD_IPV6; in ixgbe_ipsec_add_sa()
694 memcpy(&ipsec->rx_tbl[sa_idx], &rsa, sizeof(rsa)); in ixgbe_ipsec_add_sa()
696 ixgbe_ipsec_set_rx_sa(hw, sa_idx, rsa.xs->id.spi, rsa.key, in ixgbe_ipsec_add_sa()
697 rsa.salt, rsa.mode, rsa.iptbl_ind); in ixgbe_ipsec_add_sa()
704 (__force u32)rsa.xs->id.spi); in ixgbe_ipsec_add_sa()
767 struct rx_sa *rsa; in ixgbe_ipsec_del_sa() local
771 rsa = &ipsec->rx_tbl[sa_idx]; in ixgbe_ipsec_del_sa()
773 if (!rsa->used) { in ixgbe_ipsec_del_sa()
780 hash_del_rcu(&rsa->hlist); in ixgbe_ipsec_del_sa()
785 ipi = rsa->iptbl_ind; in ixgbe_ipsec_del_sa()
797 memset(rsa, 0, sizeof(struct rx_sa)); in ixgbe_ipsec_del_sa()
1013 struct rx_sa *rsa; in ixgbe_ipsec_vf_del_sa() local
1022 rsa = &ipsec->rx_tbl[sa_idx]; in ixgbe_ipsec_vf_del_sa()
1024 if (!rsa->used) in ixgbe_ipsec_vf_del_sa()
1027 if (!(rsa->mode & IXGBE_RXTXMOD_VF) || in ixgbe_ipsec_vf_del_sa()
1028 rsa->vf != vf) { in ixgbe_ipsec_vf_del_sa()