DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Tyler Retzlaff <roretzla@linux.microsoft.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: RE: ethdev: hide internal structures
Date: Tue, 16 Nov 2021 10:32:55 +0000	[thread overview]
Message-ID: <DM6PR11MB4491BE29A03C5D8625F66BD69A999@DM6PR11MB4491.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211116002440.GA17166@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>

> hi folks,
> 
> I don't understand the text of this change.  would you mind explaining?
> 
>     commit f9bdee267ab84fd12dc288419aba341310b6ae08
>     Author: Konstantin Ananyev <konstantin.ananyev@intel.com>
>     Date:   Wed Oct 13 14:37:04 2021 +0100
>     ethdev: hide internal structures
> 
> +* ethdev: Made ``rte_eth_dev``, ``rte_eth_dev_data``, ``rte_eth_rxtx_callback``           +  private data structures.  ``rte_eth_devices[]`` can't
> be accessed directly
> +  by user any more. While it is an ABI breakage, this change is intended
> +  to be transparent for both users (no changes in user app is required) and               +  PMD developers (no changes in PMD is required).
> 
> 
> if it is an ABI break (and it is also an API break) how is it that
> this change could be "transparent" to the user application?
> 
> * existing binaries will not run. (they need to be recompiled)
> * existing code will not compile. (code changes are required)
> 
> in order to cope with this change an application will have to have the
> code modified and will need to be re-compiled. so i don't understand how
> that is transparent?
 
rte_eth_dev,  rte_eth_dev_data, rte_eth_rxtx_callback are internal
data structures that were used by public inline ethdev functions. 
Well behaving app should not access these data structures directly.
So, for well behaving app there should no changes in the code required.
That what I meant by 'transparent' above.
But it is still an ABI change, so yes, the app has to be re-compiled. 

Konstantin

  parent reply	other threads:[~2021-11-16 10:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-16  0:24 Tyler Retzlaff
2021-11-16  9:32 ` Ferruh Yigit
2021-11-16 17:54   ` Tyler Retzlaff
2021-11-16 20:07     ` Ferruh Yigit
2021-11-16 20:44       ` Tyler Retzlaff
2021-11-16 10:32 ` Ananyev, Konstantin [this message]
2021-11-16 19:10   ` Tyler Retzlaff
2021-11-16 21:25     ` Stephen Hemminger
2021-11-16 22:58       ` Tyler Retzlaff
2021-11-16 23:22         ` Stephen Hemminger
2021-11-17 22:05           ` Tyler Retzlaff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM6PR11MB4491BE29A03C5D8625F66BD69A999@DM6PR11MB4491.namprd11.prod.outlook.com \
    --to=konstantin.ananyev@intel.com \
    --cc=dev@dpdk.org \
    --cc=roretzla@linux.microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).