From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stephen@networkplumber.org>
Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com
 [209.85.220.43]) by dpdk.org (Postfix) with ESMTP id 3D9EFC384
 for <dev@dpdk.org>; Wed, 17 Jun 2015 02:39:02 +0200 (CEST)
Received: by pabqy3 with SMTP id qy3so22534158pab.3
 for <dev@dpdk.org>; Tue, 16 Jun 2015 17:39:01 -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=hbDhK5jWPcyNm7FVZN1BqAfk5S4LSEHJTaI4AyBiTO0=;
 b=d8WuxolVEqXTn/8I8nB8a3Y6WknkJETwHnuAmPfFa93zw1ExX+rB+vjofFBPPd3urB
 J5muIZWHBkfzsVo/Doopg4nbpMa7lDDj29dbuIIZ+JAhHyVl2oGjhzPAIe9rioZhRqd8
 V6/Gl68dVth7K3nVGmMe1vCfbXIWit07LRpQKLll/CbOsIba5eyC6cURYKB7lSCNjq6e
 giP4d7wuMPapuuFnFKWCnfjf/3OmG1AXumDWxCpPRHPXDUEChEks/VrvXrpvGrJuepJt
 v+MIT2H8JyN2LYD/M4UElPzatfYwllFofEsXpdA5cnzfso6ggBcU0ikl0K6apQTPAiuU
 WDnw==
X-Gm-Message-State: ALoCoQmq6FePnCuBiY1i4Cqk+B/A4O2BsmiWh/2E8ix9Eu4iQn+njNSJEVM9fOoyjWhELwZlk+4p
X-Received: by 10.68.107.97 with SMTP id hb1mr5307151pbb.143.1434501541538;
 Tue, 16 Jun 2015 17:39:01 -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 i5sm2645323pat.42.2015.06.16.17.39.00
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 16 Jun 2015 17:39:01 -0700 (PDT)
Date: Tue, 16 Jun 2015 17:39:03 -0700
From: Stephen Hemminger <stephen@networkplumber.org>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Message-ID: <20150616173903.0d7c767c@urahara>
In-Reply-To: <2d83a4d8845f4daa90f0ccafbed918e3@BRMWP-EXMB11.corp.brocade.com>
References: <1434387073-16951-1-git-send-email-stephen@networkplumber.org>
 <20150616135216.GA9780@bricha3-MOBL3>
 <20150616160512.03873f22@urahara>
 <2d83a4d8845f4daa90f0ccafbed918e3@BRMWP-EXMB11.corp.brocade.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Cc: "dev@dpdk.org" <dev@dpdk.org>, Stephen Hemminger <shemming@Brocade.com>
Subject: Re: [dpdk-dev] [PATCH 1/3] pmd_ring: remove deprecated functions
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jun 2015 00:39:02 -0000

On Tue, 16 Jun 2015 23:37:32 +0000
Thomas Monjalon <thomas.monjalon@6wind.com> wrote:

> 2015-06-16 16:05, Stephen Hemminger:
> > On Tue, 16 Jun 2015 14:52:16 +0100
> > Bruce Richardson <bruce.richardson@intel.com> wrote:
> > 
> > > On Mon, Jun 15, 2015 at 09:51:11AM -0700, Stephen Hemminger wrote:
> > > > From: Stephen Hemminger <shemming@brocade.com>
> > > > 
> > > > These were deprecated in 2.0 so remove them from 2.1
> > > > 
> > > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > > > ---
> > > >  drivers/net/ring/rte_eth_ring.c           | 55 -------------------------------
> > > >  drivers/net/ring/rte_eth_ring_version.map |  4 +--
> > > >  2 files changed, 1 insertion(+), 58 deletions(-)
> > > >   
> > > [..snip..]
> > > > diff --git a/drivers/net/ring/rte_eth_ring_version.map b/drivers/net/ring/rte_eth_ring_version.map
> > > > index 8ad107d..5ee55d9 100644
> > > > --- a/drivers/net/ring/rte_eth_ring_version.map
> > > > +++ b/drivers/net/ring/rte_eth_ring_version.map
> > > > @@ -1,9 +1,7 @@
> > > > -DPDK_2.0 {
> > > > +DPDK_2.1 {
> > > >  	global:
> > > >  
> > > >  	rte_eth_from_rings;
> > > > -	rte_eth_ring_pair_attach;
> > > > -	rte_eth_ring_pair_create;
> > > >  
> > > >  	local: *;
> > > >  };  
> > > 
> > > [ABI newbie question] Is this how deprecating a fn is done? We no longer have any DPDK_2.0 
> > > version listings in the .map file?
> > 
> > Notice the version # changed as well, so linker will generate a new version.
> > The function was marked deprecated in last version.
> 
> What happens if you load the 2.1 lib with an app built for 2.0?
> Shouldn't we keep the DPDK_2.0 block?

What happens is that build process makes a new version of DPDK package
with a new version number. This version can co-exist on same system with
old library (depends on library packaging).
Old library will have old functions, and old application will
use old library. New applications will be have new so version and get the
new library.

  http://unix.stackexchange.com/questions/475/how-do-so-shared-object-numbers-work

If we didn't do this, nothing could ever really be removed!