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 A7C5CA0093; Mon, 18 May 2020 15:14:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2CA871D37D; Mon, 18 May 2020 15:14:40 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id DCA551C0B0 for ; Mon, 18 May 2020 15:14:37 +0200 (CEST) IronPort-SDR: w0+8fniLOtffPutuvOyyJ113F7E8NYEogge0B5+b8UF4SyX4BADF1qpzLJ8Hq5iPIXxid23d2T eWP4e6bjd95Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 06:14:36 -0700 IronPort-SDR: iN0pkCuycqZ9aApnDVKqch7/qN4CuCv97A+dU7/Qim559QjNz3pzF+5ewF4CLED9+VozD4zgqp lQda+zdfj1QQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,407,1583222400"; d="scan'208";a="253060461" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga007.fm.intel.com with ESMTP; 18 May 2020 06:14:36 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 06:14:36 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 18 May 2020 06:14:35 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 18 May 2020 06:14:35 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.51) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 06:14:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LbZiv67tBpanum2/eQHDKYbfZCcQIxEvAQ5ybKkfhselN0gVXwbWycqBfxv05AIjS0TnqowOTVqWjikU2D27crVsCaRB0BBba4LFElnLVs5BVy/59TEmWe7OI1Qn4ypYeIfklM0tEGMrAOJHX7VQwQTm3BVOc06VQD/CFJRQAilwfROo4IEtJKvnnxZvxFCf+Wz7Us9cbdD2MK9RKoXp0qBq33prPYmTuKYeLHhBvbz5Y0fNniyRXb9sbD3XD0QpHE/GjQZwOLHrrHk7NVLxtrCtQpm05TTqg4LVgBmgZ3iWS/ZXjjumkiLN1bBL/P0vpypviDxmxC8auEtC+ktyqQ== 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=rtehDFY0AyevSrBG6XW/Ws0Ji4hK/1aFXoAVm+dhQ0M=; b=KdH/w/FrjRlUTvsu7Jv1i5zpctG8Bng0THN5qTAfhI74nU2EDyGczyMuQgGjbJhJIlvW08GUoFY40dS6i22ugiuNr6Bq/47v1EfRwUt8PdvmDICkqwvTW0tD/jk2zDf6ZbfPW2EwP82ejYDa6GqqzDnqWNSJxQZtBuSjEgPgrro33/zjsMuF5U0QO274oRR3w9YbCcn9ChCzeE76Vvgxge7tBvS2vfcSxIzoUYlbVOjII+bNSZRqr1x56pQ8vxAQBPV6gVlbqG5r8TyvViQTclBNe7+/GcU5Dk3ExTilZppXl3VQ2VvK4Q2UOTqExVcQZ+a9JQBqShLoWnJoHJl9tw== 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=rtehDFY0AyevSrBG6XW/Ws0Ji4hK/1aFXoAVm+dhQ0M=; b=AH9UNbngAry68JZmDXI37p42L2i8FV4E4lwphcKnO825g4Gz0VBA9V1pQlnB2kMADqT5cYwZSyUb9/eoKOFF0loZuYAMzfqzmIwnSNNyy+4kl4Oy1jFhw8QGvq+W5S1ukHA4ZUYFxGGuijLXpQcD1G/Xmwf3y16P580y4+VNuXI= Received: from BYAPR11MB2664.namprd11.prod.outlook.com (2603:10b6:a02:c7::14) by BYAPR11MB3240.namprd11.prod.outlook.com (2603:10b6:a03:18::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20; Mon, 18 May 2020 13:14:32 +0000 Received: from BYAPR11MB2664.namprd11.prod.outlook.com ([fe80::bde5:30a8:7c5e:6be2]) by BYAPR11MB2664.namprd11.prod.outlook.com ([fe80::bde5:30a8:7c5e:6be2%7]) with mapi id 15.20.3000.022; Mon, 18 May 2020 13:14:32 +0000 From: "He, Zhiwei" To: "Guo, Jia" , "Xing, Beilei" , "Ye, Xiaolong" , "Zhang, Qi Z" , "Wu, Jingjing" CC: "dev@dpdk.org" , "Guo, Jia" Thread-Topic: [dpdk-dev] net/iavf: fix VF reset issue for hash Thread-Index: AQHWLQ7f/99RKFUTNEecv3QiIzAqB6it0jOA Date: Mon, 18 May 2020 13:14:32 +0000 Message-ID: References: <20200519002017.106445-1-jia.guo@intel.com> In-Reply-To: <20200519002017.106445-1-jia.guo@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 45502ce6-00dc-4471-fdfa-08d7fb2d67a8 x-ms-traffictypediagnostic: BYAPR11MB3240: 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:2958; x-forefront-prvs: 04073E895A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xcLngtSzpMPep7l78nehqWtJkzkV9cupQxaZQPfOOu2WWZhu0zK6WijE+KCIoV5VhDBCOrPNYkegU8BCBCXFTxEu9JtFuUpfXlfrCtTEgi9KpwZcvYySYH6PgOfzlquj083bZPjJBm8+CqV355QwX+/Mbhg2y+0W3MEXtZWrV6+rd7X6B4HVa9RVXjoXO8ZdW2+2lXJfaYCfIHNnNoROYU7HdbMFDctepQllsPF3hsE4EjLkZsxXrwK+xWcKSW1BxD3Y6i21C+mM++PXjaIdLs0CfWlP9UvYxUNogHUZMOjkKyRA7Kk9ISxF34Cd1zOa8xHPrkH2dKI+SjKIDNGgfMHlIr1LcbzGlKq4l8GMSi71OfGjPHYF5ZU/pXFP/BlSwriCcGrjazsCmjI3jvvCFBsiOiA4I9pCpMhXBtKcZ+JNoiuxHHlp3lGGSfXn2Vx981e1/OYP4ICxwjdz++D66Hmx7xmo2MhJDAaRCOFNYC0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2664.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(136003)(39860400002)(396003)(376002)(346002)(316002)(110136005)(86362001)(53546011)(6506007)(66946007)(66556008)(66476007)(76116006)(66446008)(26005)(52536014)(7696005)(64756008)(71200400001)(186003)(107886003)(55016002)(9686003)(33656002)(54906003)(478600001)(5660300002)(4326008)(8676002)(8936002)(2906002)(6636002)(921003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 0htUUHo/K02sxuTKaJU1xjm/tN6kve7MAjeD23ge7/x0G98jXre0DNRadhEN3Eo0hV9kMjcNUGwCrzn/FZtoIHZXKEhKqy4sUWs0B/WBD2HdC17BGWcC5AnCgVvB3pFriTtr1KphUsTKiQdBz3knmtMnHn7J1bqzBVohNn0ez9SfEDkZ+HVrBsuqzNvJeGppMLt5xHpj0aBQJ18904YtUc8MlK5bIqcwBNVt4uYYvxS5Z9zjYi0w8ZyfaWXFrtWHlNvUjb9lNEoF2uhF8XUYv19ZwVqra9YUYpWfHbapg4lnc55dgOAlk6YdVJzC3Hm6rq3EL3RJNQERA593wSsvc9y8DIdydZrwozvEvUYG6Z5BcGCVmK31LDBzRaEPzrYt0iT9nm1ywPaAhh8Cp8uctfVIYVL+TLr1+TMbL/Qca4Qxy8W5ph8UqFguTsNcAuJc9ERwvFX8rp6SYd7nhRYNnuU48hrOaFq5CrBXcX16e/v3XY/tnkWc+q4z0a0clavL Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 45502ce6-00dc-4471-fdfa-08d7fb2d67a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2020 13:14:32.5843 (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: TcEZeXgM0TfIsll09v1I64QraDPli8zqthL9dESeUc2gHAFuunGDs2LW8ozRwRdDXKDurtkJ7Ge9I8U3COCE0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3240 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] net/iavf: fix VF reset issue for hash 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" Test-by Zhiwei.He -----Original Message----- From: dev On Behalf Of Jeff Guo Sent: Tuesday, May 19, 2020 8:20 AM To: Xing, Beilei ; Ye, Xiaolong ; Zhang, Qi Z ; Wu, Jingjing Cc: dev@dpdk.org; Guo, Jia Subject: [dpdk-dev] net/iavf: fix VF reset issue for hash Since there are some default rss configure in kernel PF/VF but not DPDK IAV= F, if these configurations be modified by VF and then VF reset, this defaul= t rss configurations can not be reset to default by IAVF. So need to add de= fault rss set in IAVF hash initial process. Signed-off-by: Jeff Guo Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF") --- drivers/net/iavf/iavf_hash.c | 51 +++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c in= dex 975c84556..04b3492ce 100644 --- a/drivers/net/iavf/iavf_hash.c +++ b/drivers/net/iavf/iavf_hash.c @@ -857,6 +857,17 @@ struct iavf_hash_match_type iavf_hash_type_list[] =3D = { &hdrs_hint_ipv6_sctp}, }; =20 +struct virtchnl_proto_hdrs *iavf_hash_default_hdrs[] =3D { + &hdrs_hint_ipv4, + &hdrs_hint_ipv4_udp, + &hdrs_hint_ipv4_tcp, + &hdrs_hint_ipv4_sctp, + &hdrs_hint_ipv6, + &hdrs_hint_ipv6_udp, + &hdrs_hint_ipv6_tcp, + &hdrs_hint_ipv6_sctp, +}; + static struct iavf_flow_engine iavf_hash_engine =3D { .init =3D iavf_hash_init, .create =3D iavf_hash_create, @@ -875,6 +886,33 @@ static struct iavf_flow_parser iavf_hash_parser =3D { .stage =3D IAVF_FLOW_STAGE_RSS, }; =20 +static int +iavf_hash_default_set(struct iavf_adapter *ad) { + struct virtchnl_rss_cfg *rss_cfg; + uint16_t i; + int ret; + + rss_cfg =3D rte_zmalloc("iavf rss rule", + sizeof(struct virtchnl_rss_cfg), 0); + if (!rss_cfg) + return -ENOMEM; + + for (i =3D 0; i < RTE_DIM(iavf_hash_default_hdrs); i++) { + rss_cfg->proto_hdrs =3D *iavf_hash_default_hdrs[i]; + rss_cfg->rss_algorithm =3D VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC; + + ret =3D iavf_add_del_rss_cfg(ad, rss_cfg, true); + if (ret) { + PMD_DRV_LOG(ERR, "fail to add RSS configure"); + rte_free(rss_cfg); + return ret; + } + } + + return ret; +} + RTE_INIT(iavf_hash_engine_init) { struct iavf_flow_engine *engine =3D &iavf_hash_engine; @@ -887,6 +925,7 @= @ iavf_hash_init(struct iavf_adapter *ad) { struct iavf_info *vf =3D IAVF_DEV_PRIVATE_TO_VF(ad); struct iavf_flow_parser *parser; + int ret; =20 if (!vf->vf_res) return -EINVAL; @@ -896,7 +935,17 @@ iavf_hash_init(struct iavf_adapter *ad) =20 parser =3D &iavf_hash_parser; =20 - return iavf_register_parser(parser, ad); + ret =3D iavf_register_parser(parser, ad); + if (ret) { + PMD_DRV_LOG(ERR, "fail to register hash parser"); + return ret; + } + + ret =3D iavf_hash_default_set(ad); + if (ret) + PMD_DRV_LOG(ERR, "fail to set default RSS"); + + return ret; } =20 static int -- 2.20.1