From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D2C3DA04F0; Wed, 25 Dec 2019 16:18:40 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BE6A41BE94; Wed, 25 Dec 2019 16:18:39 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id BC29E1B203 for ; Wed, 25 Dec 2019 16:18:37 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Dec 2019 07:18:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,355,1571727600"; d="scan'208";a="419254736" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga006.fm.intel.com with ESMTP; 25 Dec 2019 07:18:36 -0800 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 25 Dec 2019 07:18:36 -0800 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 25 Dec 2019 07:18:36 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 25 Dec 2019 07:18:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JpBb5I15reAjDjkMbYqL1CNsNN7OSfUv4zCTPRQ+dcXwEsNH7D8aE2dFvL+jHJhIvhajBMt5dK8+rX6T39vkiGlPFzC9ZBALbEcYsipZ0QXfVxFVMYwVj4BWBcAAw0VUdW5TtZZdlIXv3rAfMU11vZ+rOmCMsMFyL5FyugV+aNYLMeNlT4/X3SQqYmzC5woKT53Ca/At9ShDaabd3LwMy47qBux53w29GFghBtK7UfuOof80JwEKdQWfGo+YqwFcQyDmHrpgi8I5Q6qUHQuswdn8798FYgBUv6U4WJkZuyogQ8bB3Xx2D4Rqc6GdsJ44GRh2qdk7u5bfJN6/5sHsWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7eLOY1sMvN9hriL3Mi//MNkUgN3d+fsQwWkTzPFMksY=; b=kEn0fJaxWuPgo7LvOLIgC64AhJHf+Y9KXRUaa5s0PPPDlPnlr6pSNGDA3lp/WtHvsPiBJ7NF3pXgSTRx9WLUEkeZWcToajdxDblsICgLZwQCQd+gLhIaxe1u+La8EAjeAqnGFX2ElKdIMDjQxDydh2fpHZinBGnenicEXsA8aTGU6JcnhVAjX6JMLj1o+WeW9T+rNqaWISkuzb0HyLRyrMFC2i3dOFLCKH4sMLK4nED7plpO1Tjk6hxI0ZcxMjsfK8heUrhMrhRujAYt+HO5lmjq2Phb+Jkah18TRgdo3r6065lJvZZhp3jmegMDebepcaHqlHL+H4iNExPP68H17w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7eLOY1sMvN9hriL3Mi//MNkUgN3d+fsQwWkTzPFMksY=; b=GSZhdZ5k77ljHaFEqXTmdnJfR4SqHZnVzXqXTQRSEIxlFywVWBbt3s+gaEcTQklDw82OWVU6bQbGy3rkHQ58sFcxFl2/tzXpSF9r+jfdMCvuCZe9gM9d6Vc+/t06DlZAmtdMPoOfpuQauYVCN/YtZD62tu9A+zrzCcAFqbFps14= Received: from BN7PR11MB2547.namprd11.prod.outlook.com (52.135.255.146) by BN7PR11MB2788.namprd11.prod.outlook.com (52.135.245.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2581.11; Wed, 25 Dec 2019 15:18:34 +0000 Received: from BN7PR11MB2547.namprd11.prod.outlook.com ([fe80::e03c:e55a:c03f:5f4f]) by BN7PR11MB2547.namprd11.prod.outlook.com ([fe80::e03c:e55a:c03f:5f4f%7]) with mapi id 15.20.2581.007; Wed, 25 Dec 2019 15:18:34 +0000 From: "Ananyev, Konstantin" To: Anoob Joseph , Akhil Goyal , "Nicolau, Radu" , Thomas Monjalon CC: Lukasz Bartosik , Jerin Jacob , Narayana Prasad , Ankur Dwivedi , Archana Muniganti , Tejasree Kondoj , Vamsi Attunuru , "dev@dpdk.org" Thread-Topic: [PATCH 11/14] examples/ipsec-secgw: add app processing code Thread-Index: AQHVrcOadPqTP1DsRkKLTgq8QBAlEKfLEFUw Date: Wed, 25 Dec 2019 15:18:33 +0000 Message-ID: References: <1575808249-31135-1-git-send-email-anoobj@marvell.com> <1575808249-31135-12-git-send-email-anoobj@marvell.com> In-Reply-To: <1575808249-31135-12-git-send-email-anoobj@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDk0YTQxOTUtNzg3Yi00ZTBmLTk5MTAtODNjYmQ3YjY2Y2NiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUzF2M1M3VlNNODVNNDN1R1ZrVlFJR1JhUlhSdUhBRzBHOE9xQ1N6R3BlMUdIMGY3cDdMTTZlSk43MXJNMmpHUyJ9 dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-ctpclassification: CTP_NT authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.178] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c6f30c4b-ef08-4c65-647e-08d7894db54f x-ms-traffictypediagnostic: BN7PR11MB2788: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 02622CEF0A x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(8676002)(81156014)(66556008)(66476007)(81166006)(4326008)(76116006)(7416002)(66946007)(66446008)(64756008)(86362001)(54906003)(8936002)(52536014)(478600001)(71200400001)(316002)(110136005)(2906002)(186003)(55016002)(9686003)(5660300002)(33656002)(6506007)(26005)(7696005); DIR:OUT; SFP:1102; SCL:1; SRVR:BN7PR11MB2788; H:BN7PR11MB2547.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +y9eZCVmIxA2IjpRpNGoYQg7Li2t8uVcQfCyc5eUGtXDJfKXeFxaUvKSiyQAKJ5109p4gJKR7/rSx6zbVWu8akeP0qKjZI7zPnCHETyh44vt1ndGMyb7ovMtCK5E9E+lRRLJYDbE+NC/E9fWjfCnWchE5I9bw8OQQjp+FVJTUUgpyw+lcR18qtInGWTRnNry4Vzezayr5tfxGZKx7NJ1EUJcT60gYtAWckmxfRCaNqucxN1K4A/qBez8Zp0YeN6aliJQ3CbB63t8H5sCJUrfgew0iPoUZevfcud3V7XJmyLAPvnxwaLUvSZEVaNxobZHyM3viEeSkYQ73+/BfiAB7ohe2AZqrGzeAha7ExRM9Zs9aaPC+MPp1zRgi/WUbub1o1FW02wJgTYzWn+ZqPTNzFDbQelrWYSgKF3sBkSJi0rIlGT9afaoQ7J7Opmt8/vT Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c6f30c4b-ef08-4c65-647e-08d7894db54f X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Dec 2019 15:18:33.8623 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dVBSU6IDN4n9LCJZlVuMT1K5zE3fKyZVIQNJxoFLae27gqVWHKZuoSOOuhVIPTh/X/rwLIIoZMFiEQ1nq1gmqn7nSpbA1eUyi5luzYm/vAk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2788 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 11/14] examples/ipsec-secgw: add app processing code X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > +static inline int > +process_ipsec_ev_inbound(struct ipsec_ctx *ctx, struct route_table *rt, > + struct rte_event *ev) > +{ > + struct ipsec_sa *sa =3D NULL; > + struct rte_mbuf *pkt; > + uint16_t port_id =3D 0; > + enum pkt_type type; > + uint32_t sa_idx; > + uint8_t *nlp; > + > + /* Get pkt from event */ > + pkt =3D ev->mbuf; > + > + /* Check the packet type */ > + type =3D process_ipsec_get_pkt_type(pkt, &nlp); > + > + switch (type) { > + case PKT_TYPE_PLAIN_IPV4: > + if (pkt->ol_flags & PKT_RX_SEC_OFFLOAD) > + sa =3D (struct ipsec_sa *) pkt->udata64; Shouldn't packets with PKT_RX_SEC_OFFLOAD_FAIL be handled somehow? Another question - as I can see from the code, right now event mode=20 supports only inline-proto, correct? If so, then probably an error should be reported at startup, if in config f= ile some other types of sessions were requested. =20 > + > + /* Check if we have a match */ > + if (check_sp(ctx->sp4_ctx, nlp, &sa_idx) =3D=3D 0) { > + /* No valid match */ > + goto drop_pkt_and_exit; > + } > + break; > + > + case PKT_TYPE_PLAIN_IPV6: > + if (pkt->ol_flags & PKT_RX_SEC_OFFLOAD) > + sa =3D (struct ipsec_sa *) pkt->udata64; > + > + /* Check if we have a match */ > + if (check_sp(ctx->sp6_ctx, nlp, &sa_idx) =3D=3D 0) { > + /* No valid match */ > + goto drop_pkt_and_exit; > + } > + break; > + > + default: > + RTE_LOG(ERR, IPSEC, "Unsupported packet type =3D %d\n", type); > + goto drop_pkt_and_exit; > + } > + > + /* Check if the packet has to be bypassed */ > + if (sa_idx =3D=3D 0) > + goto route_and_send_pkt; > + > + /* Else the packet has to be protected with SA */ > + > + /* If the packet was IPsec processed, then SA pointer should be set */ > + if (sa =3D=3D NULL) > + goto drop_pkt_and_exit; > + > + /* SPI on the packet should match with the one in SA */ > + if (unlikely(sa->spi !=3D sa_idx)) > + goto drop_pkt_and_exit; > + > +route_and_send_pkt: > + port_id =3D get_route(pkt, rt, type); > + if (unlikely(port_id =3D=3D RTE_MAX_ETHPORTS)) { > + /* no match */ > + goto drop_pkt_and_exit; > + } > + /* else, we have a matching route */ > + > + /* Update mac addresses */ > + update_mac_addrs(pkt, port_id); > + > + /* Update the event with the dest port */ > + ipsec_event_pre_forward(pkt, port_id); > + return 1; > + > +drop_pkt_and_exit: > + RTE_LOG(ERR, IPSEC, "Inbound packet dropped\n"); > + rte_pktmbuf_free(pkt); > + ev->mbuf =3D NULL; > + return 0; > +} > +