Lines Matching defs:prm
31 const struct rte_ipsec_sa_prm *prm)
37 xf = prm->crypto_xform;
169 fill_sa_type(const struct rte_ipsec_sa_prm *prm, uint64_t *type)
175 if (prm->ipsec_xform.proto == RTE_SECURITY_IPSEC_SA_PROTO_AH)
177 else if (prm->ipsec_xform.proto == RTE_SECURITY_IPSEC_SA_PROTO_ESP)
182 if (prm->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS)
184 else if (prm->ipsec_xform.direction ==
190 if (prm->ipsec_xform.mode == RTE_SECURITY_IPSEC_SA_MODE_TUNNEL) {
191 if (prm->ipsec_xform.tunnel.type ==
194 else if (prm->ipsec_xform.tunnel.type ==
200 if (prm->tun.next_proto == IPPROTO_IPIP)
202 else if (prm->tun.next_proto == IPPROTO_IPV6)
206 } else if (prm->ipsec_xform.mode ==
209 if (prm->trs.proto == IPPROTO_IPIP)
211 else if (prm->trs.proto == IPPROTO_IPV6)
219 if (prm->ipsec_xform.options.udp_encap == 1)
223 if (prm->ipsec_xform.options.esn == 0)
229 if (prm->ipsec_xform.options.ecn == 0)
235 if (prm->ipsec_xform.options.copy_dscp == 0)
241 if (prm->flags & RTE_IPSEC_SAFLAG_SQN_ATOM)
284 esp_inb_tun_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm)
286 sa->proto = prm->tun.next_proto;
354 esp_outb_tun_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm)
356 sa->proto = prm->tun.next_proto;
357 sa->hdr_len = prm->tun.hdr_len;
358 sa->hdr_l3_off = prm->tun.hdr_l3_off;
360 memcpy(sa->hdr, prm->tun.hdr, prm->tun.hdr_len);
365 &sa->hdr[prm->tun.hdr_len];
367 udph->src_port = rte_cpu_to_be_16(prm->ipsec_xform.udp.sport);
368 udph->dst_port = rte_cpu_to_be_16(prm->ipsec_xform.udp.dport);
374 prm->tun.hdr_len - sa->hdr_l3_off, 0, 0, 0, 0, 0);
376 esp_outb_init(sa, sa->hdr_len, prm->ipsec_xform.esn.value);
383 esp_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
390 if (prm->ipsec_xform.options.ecn)
393 if (prm->ipsec_xform.options.copy_dscp)
474 sa->udata = prm->userdata;
475 sa->spi = rte_cpu_to_be_32(prm->ipsec_xform.spi);
476 sa->salt = prm->ipsec_xform.salt;
486 esp_inb_tun_init(sa, prm);
497 esp_outb_tun_init(sa, prm);
502 esp_outb_init(sa, 0, prm->ipsec_xform.esn.value);
529 rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm)
535 if (prm == NULL)
539 rc = fill_sa_type(prm, &type);
544 wsz = prm->ipsec_xform.replay_win_sz;
549 rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
557 if (sa == NULL || prm == NULL)
561 rc = fill_sa_type(prm, &type);
566 wsz = prm->ipsec_xform.replay_win_sz;
574 if (prm->ipsec_xform.proto != RTE_SECURITY_IPSEC_SA_PROTO_ESP)
577 if (prm->ipsec_xform.mode == RTE_SECURITY_IPSEC_SA_MODE_TUNNEL) {
578 uint32_t hlen = prm->tun.hdr_len;
585 rc = fill_crypto_xform(&cxf, type, prm);
596 sa->sqn_mask = (prm->ipsec_xform.options.esn == 0) ?
599 rc = esp_sa_init(sa, prm, &cxf);
605 fill_sa_replay(sa, wsz, nb, prm->ipsec_xform.esn.value);