15ece02e7SVidya Sagar Velumuri /* SPDX-License-Identifier: BSD-3-Clause 25ece02e7SVidya Sagar Velumuri * Copyright(C) 2022 Marvell. 35ece02e7SVidya Sagar Velumuri */ 45ece02e7SVidya Sagar Velumuri 55ece02e7SVidya Sagar Velumuri #include "roc_api.h" 65ece02e7SVidya Sagar Velumuri #include "roc_priv.h" 75ece02e7SVidya Sagar Velumuri 85ece02e7SVidya Sagar Velumuri void 95ece02e7SVidya Sagar Velumuri roc_ot_ipsec_inb_sa_init(struct roc_ot_ipsec_inb_sa *sa, bool is_inline) 105ece02e7SVidya Sagar Velumuri { 115ece02e7SVidya Sagar Velumuri size_t offset; 125ece02e7SVidya Sagar Velumuri 135ece02e7SVidya Sagar Velumuri memset(sa, 0, sizeof(struct roc_ot_ipsec_inb_sa)); 145ece02e7SVidya Sagar Velumuri 155ece02e7SVidya Sagar Velumuri sa->w0.s.pkt_output = ROC_IE_OT_SA_PKT_OUTPUT_NO_FRAG; 165ece02e7SVidya Sagar Velumuri sa->w0.s.pkt_format = ROC_IE_OT_SA_PKT_FMT_META; 175ece02e7SVidya Sagar Velumuri sa->w0.s.pkind = ROC_IE_OT_CPT_PKIND; 185ece02e7SVidya Sagar Velumuri sa->w0.s.et_ovrwr = 1; 19350b7a53SVidya Sagar Velumuri sa->w2.s.l3hdr_on_err = 1; 20d029f353SVidya Sagar Velumuri 21d029f353SVidya Sagar Velumuri PLT_SET_USED(is_inline); 225ece02e7SVidya Sagar Velumuri 235ece02e7SVidya Sagar Velumuri offset = offsetof(struct roc_ot_ipsec_inb_sa, ctx); 245ece02e7SVidya Sagar Velumuri sa->w0.s.hw_ctx_off = offset / ROC_CTX_UNIT_8B; 255ece02e7SVidya Sagar Velumuri sa->w0.s.ctx_push_size = sa->w0.s.hw_ctx_off + 1; 265ece02e7SVidya Sagar Velumuri sa->w0.s.ctx_size = ROC_IE_OT_CTX_ILEN; 275ece02e7SVidya Sagar Velumuri sa->w0.s.ctx_hdr_size = ROC_IE_OT_SA_CTX_HDR_SIZE; 285ece02e7SVidya Sagar Velumuri sa->w0.s.aop_valid = 1; 295ece02e7SVidya Sagar Velumuri } 305ece02e7SVidya Sagar Velumuri 315ece02e7SVidya Sagar Velumuri void 325ece02e7SVidya Sagar Velumuri roc_ot_ipsec_outb_sa_init(struct roc_ot_ipsec_outb_sa *sa) 335ece02e7SVidya Sagar Velumuri { 345ece02e7SVidya Sagar Velumuri size_t offset; 355ece02e7SVidya Sagar Velumuri 365ece02e7SVidya Sagar Velumuri memset(sa, 0, sizeof(struct roc_ot_ipsec_outb_sa)); 375ece02e7SVidya Sagar Velumuri 385ece02e7SVidya Sagar Velumuri offset = offsetof(struct roc_ot_ipsec_outb_sa, ctx); 395ece02e7SVidya Sagar Velumuri sa->w0.s.ctx_push_size = (offset / ROC_CTX_UNIT_8B) + 1; 405ece02e7SVidya Sagar Velumuri sa->w0.s.ctx_size = ROC_IE_OT_CTX_ILEN; 41*9587a324SNithin Dabilpuram sa->w0.s.ctx_hdr_size = ROC_IE_OT_SA_CTX_HDR_SIZE; 425ece02e7SVidya Sagar Velumuri sa->w0.s.aop_valid = 1; 435ece02e7SVidya Sagar Velumuri } 44