From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 223732BA0 for ; Wed, 20 Apr 2016 09:31:06 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 20 Apr 2016 00:31:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,508,1455004800"; d="scan'208";a="936222535" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 20 Apr 2016 00:31:05 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 20 Apr 2016 00:31:05 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 20 Apr 2016 00:31:05 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.229]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.10]) with mapi id 14.03.0248.002; Wed, 20 Apr 2016 15:31:03 +0800 From: "Wu, Jingjing" To: "Tao, Zhe" , "dev@dpdk.org" Thread-Topic: [dpdk-dev][PATCH 2/3 v7] i40e: Add floating VEB support in i40e Thread-Index: AQHRhnJE2RBjj9ZJIkm9tSkcl50y+Z+SnHxg Date: Wed, 20 Apr 2016 07:31:03 +0000 Message-ID: <9BB6961774997848B5B42BEC655768F8E2213F@SHSMSX103.ccr.corp.intel.com> References: <1458816499-705-1-git-send-email-zhe.tao@intel.com> <1458895321-21896-1-git-send-email-zhe.tao@intel.com> <1458895321-21896-3-git-send-email-zhe.tao@intel.com> In-Reply-To: <1458895321-21896-3-git-send-email-zhe.tao@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/3 v7] i40e: Add floating VEB support in i40e X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Apr 2016 07:31:07 -0000 > @@ -3830,12 +3844,22 @@ i40e_vsi_release(struct i40e_vsi *vsi) > i40e_veb_release(vsi->veb); > } >=20 > + if (vsi->floating_veb) { > + TAILQ_FOREACH(vsi_list, &vsi->floating_veb->head, list) { > + if (i40e_vsi_release(vsi_list->vsi) !=3D I40E_SUCCESS) > + return -1; It will be better to continue but not return error. > + TAILQ_REMOVE(&vsi->floating_veb->head, vsi_list, > list); > + } > + i40e_veb_release(vsi->floating_veb); > + } > + > diff --git a/drivers/net/i40e/i40e_ethdev.h > b/drivers/net/i40e/i40e_ethdev.h index 7dc6936..09fb6e2 100644 > --- a/drivers/net/i40e/i40e_ethdev.h > +++ b/drivers/net/i40e/i40e_ethdev.h > @@ -224,6 +224,7 @@ struct i40e_bw_info { struct i40e_veb { > struct i40e_vsi_list_head head; > struct i40e_vsi *associate_vsi; /* Associate VSI who owns the VEB */ > + struct i40e_pf *associate_pf; /* Associate PF who owns the VEB */ > uint16_t seid; /* The seid of VEB itself */ > uint16_t uplink_seid; /* The uplink seid of this VEB */ > uint16_t stats_idx; > @@ -264,6 +265,7 @@ struct i40e_vsi { > struct i40e_vsi_list sib_vsi_list; /* sibling vsi list */ > struct i40e_vsi *parent_vsi; > struct i40e_veb *veb; /* Associated veb, could be null */ > + struct i40e_veb *floating_veb; /* Associated floating veb */ For vsi->veb, the VEB associated with uplink vsi, but as I know, floating_v= eb Has no uplink vsis. Can I understand the floating_veb in vsi indicates floa= ting veb Of the device/pf, and only main vsi will have it? If so, why not put in in = the pf structure?