From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f178.google.com (mail-pd0-f178.google.com [209.85.192.178]) by dpdk.org (Postfix) with ESMTP id A63C6CF9 for ; Thu, 28 May 2015 23:41:14 +0200 (CEST) Received: by pdfh10 with SMTP id h10so50574931pdf.3 for ; Thu, 28 May 2015 14:41:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=3IbiGAoEH4jO0nFfEpD+UVSycHJBjmwqu17HYTdYoME=; b=V5NCSes998tw+zpz3kfFzLV7h8ccZmm19GPgn7Y1nmfsVrCxJo1MTmCc82GaZeZnAH ge8fL09NAaRwwUxK/U1lFRzySPd5r5XX3BpfuB8hi4rHCPL55jyc1m3VXZQ+vToF/Vgk 8q3k9/TbU0tsEgww9sHpOPH9vN0TRg018NGH0u0e8E5/pdM3Oxk3KgOW9RDLFU/0Yh/5 cGnv/8eaQlj8m+tk57BxdmleQiK/8sCmM+9t3EZugBSE+KfWAgxruFE23x8ay3gsNChZ 7Asu4JqcDszirfQoptKsBfH0KzByqK5/7a1fzVrb/toWssfG7B8s1Wl0uAAT5/tn1Rs6 L/xA== X-Gm-Message-State: ALoCoQlX/Jj536joSnlH9Sx4M8+53EYpa3c8jRJfCQq13iLObUqxEgwIbCTdu+Gex+/R7rbgK8aG X-Received: by 10.67.3.3 with SMTP id bs3mr9197875pad.51.1432849274019; Thu, 28 May 2015 14:41:14 -0700 (PDT) Received: from urahara (static-50-53-82-155.bvtn.or.frontiernet.net. [50.53.82.155]) by mx.google.com with ESMTPSA id jd4sm3352306pbd.46.2015.05.28.14.41.13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 14:41:13 -0700 (PDT) Date: Thu, 28 May 2015 14:41:17 -0700 From: Stephen Hemminger To: "Dumitrescu, Cristian" Message-ID: <20150528144117.4d58fada@urahara> In-Reply-To: <3EB4FA525960D640B5BDFFD6A3D891263236E6E6@IRSMSX108.ger.corp.intel.com> References: <1432643987-8916-1-git-send-email-maciejx.t.gajdzica@intel.com> <1432643987-8916-2-git-send-email-maciejx.t.gajdzica@intel.com> <20150526075754.791473f6@urahara> <3EB4FA525960D640B5BDFFD6A3D891263236CA8C@IRSMSX108.ger.corp.intel.com> <20150526145732.022b5a41@urahara> <3EB4FA525960D640B5BDFFD6A3D891263236E6E6@IRSMSX108.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v3 01/10] table: added structure for storing table stats 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: Thu, 28 May 2015 21:41:15 -0000 On Thu, 28 May 2015 19:32:32 +0000 "Dumitrescu, Cristian" wrote: > This is just adding a new field at the end of an API data structure. Based on input from multiple people and after reviewing the rules listed on http://dpdk.org/doc/guides/rel_notes/abi.html , I think this is an acceptable change. There are other patches in flight on this mailing list that are in the same situation. Any typical/well behaved application will not break due to this change. Expanding a structure can be okay but: 1. The allocation will have to always take within the library. If you let application put structure on stack or allocate on it's own, the ABI would break. 2. The structure must not be used as a return by reference. For example, this would break if sizeof(struct my_stats) changed. void foo() { struct my_stats stats; int i_will_get_clobbered; ... rte_dpdk_get_stats(obj, &stats) }