Commit Graph

23 Commits

Author SHA1 Message Date
Thomas Monjalon
506f51cc0d mk: enable next abi preview
When a change makes really hard to keep ABI compatibility,
instead of waiting next release to break the ABI, it is smoother
to introduce the new code as a preview and disable it when packaging.
The flag RTE_NEXT_ABI must be used to "ifdef" the new code.
When the release is out, a dynamically linked application can use
the new shared libraries with the old ABI while developpers can prepare
their application for the next ABI by reading the deprecation notice
and easily testing the new code.
When starting the next release cycle, the "ifdefs" will be removed
and the ABI break will be marked by incrementing LIBABIVER. The map
files will also be updated.

The default value is enabled to be developer compliant.
The packagers must disable it as done in pkg/dpdk.spec.
When enabled, all shared library numbers are incremented by appending
a minor .1 to the old ABI number. In the next release, only impacted
libraries will have a major +1 increment.
The impacted libraries must provide an alternative map file to use
with this option.

The ABI policy is updated.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2015-07-09 00:56:40 +02:00
Cyril Chemparathy
3790a7fcf0 mbuf: add script to convert code to offset macro
This patch adds a coccinelle (see http://coccinelle.lip6.fr/)
transform to use the newly added rte_pktmbuf_mtod_offset() helper.  In
addition, we add a simple script to apply all available transforms to
a codebase.

Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2015-06-24 12:01:14 +02:00
Stephen Hemminger
0cd54d9c17 mk, scripts: remove useless blank lines
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2015-06-12 11:10:02 +02:00
Olivier Matz
8c0eca54cd scripts: fix build in a symlinked directory
The script relpath.sh returns the relative path of the first directory
from the second directory. It is used to generate relative symlinks,
which can be useful if the build directory is embedded in the dpdk
directory: the whole dpdk can be moved without breaking the links,
which is helpful for an installation.

In case the build directory is a symlink, the script was not generating
the proper relative path. Fix this by calling "readlink -f" on the
arguments.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
2015-05-12 14:13:42 +02:00
Thomas Monjalon
2fed8601cd scripts: test null forwarding
This script ease testing of basic initializations and Rx/Tx bursts.
It may help to check obvious regressions.
In order to run it on a standard development machine, it doesn't use
neither hugepages nor real interfaces.

The optional parameters are:
- build directory (default: build)
- coremask (default: 3 i.e. cores 0 and 1)

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-04-13 22:50:09 +02:00
Neil Horman
cec1b9f3af scripts: add ABI checking utility
There was a request for an abi validation utilty for the ongoing ABI stability
work.  As it turns out there is a abi compliance checker in development that
seems to be under active development and provides fairly detailed ABI compliance
reports.  Its not yet intellegent enough to understand symbol versioning, but it
does provide the ability to identify symbols which have changed between
releases, along with details of the change, and offers developers the
opportunity to identify which symbols then need versioning and validation for a
given update via manual testing.

This script automates the use of the compliance checker between two arbitrarily
specified tags within the dpdk tree.  To execute enter the $RTE_SDK directory
and run:

./scripts/validate_abi.sh $GIT_TAG1 $GIT_TAG2 $CONFIG

where $GIT_TAG1 and 2 are git tags and $CONFIG is a config specification
suitable for passing as the T= variable in the make config command.

Note the upstream source for the abi compliance checker is here:
http://ispras.linuxbase.org/index.php/ABI_compliance_checker

It generates a report for each DSO built from the requested tags that developers
can review to find ABI compliance issues.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-03-17 22:39:57 +01:00
Thomas Monjalon
efa2084a84 scripts: remove useless build tools
test-framework.sh is an old script to check building of some dependencies.
testhost is an old app used to check HOSTCC.

Let's clean the scripts directory.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-03-10 17:55:25 +01:00
Adrien Mazarguil
41a766a661 scripts: check features to generate configuration header
This script looks for types, macros and functions in header files using
compilation options found in the environment (CC, CFLAGS, CPPFLAGS) to
define feature macros in a generated header.

Useful in combination with external headers that do not provide such macros.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2015-02-25 16:06:12 +01:00
Thomas Monjalon
e12f553035 scripts: find areas without maintainer
The section titles are filtered to print only those which
are not associated with an email address.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-02-09 15:15:04 +01:00
Thomas Monjalon
441a2256b3 scripts: check wrong patterns in maintainers file
Each F or X pattern is checked and printed if there is no match
with a file in the repository.

The wildcard must be temporarily replaced to prevent from shell expansion.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-02-09 15:15:04 +01:00
Thomas Monjalon
27c2ce5632 maintainers: start a Linux-style file
This MAINTAINERS file is inspired from the Linux one.

Almost all files are split into areas in order to identify maintainers of
each DPDK area. Note that a maintainer is not a git tree manager.
Candidates are welcome to send a patch to sign up for one or several areas.

There is a script to check coverage, especially when adding or moving files.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2015-01-28 17:12:27 +01:00
David Marchand
545051540e scripts: fix newline in configuration with bsd sed
Use of \n in sed expression is not portable and triggered an invalid
configuration on BSD (at least).
Replace with an explicit newline.

Reported-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-11-28 17:05:02 +01:00
David Marchand
0a91453deb scripts: fix symbol overriding in configuration
When redefining the same symbol in configuration (basically after an inclusion),
we need to undefine the previous symbol to avoid "redefined" errors.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-11-27 19:12:43 +01:00
Bruce Richardson
6af52f1134 scripts: fix filtering of config comments on bsd
On BSD 10, the cpp binary behaves a little differently and often leaves
lines starting with a space before the inital '#' character. This change
ensures those lines are filtered out properly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-19 00:57:50 +02:00
Bruce Richardson
3031749c2d remove trailing whitespaces
This commit removes trailing whitespace from lines in files. Almost all
files are affected, as the BSD license copyright header had trailing
whitespace on 4 lines in it [hence the number of files reporting 8 lines
changed in the diffstat].

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
[Thomas: remove spaces before tabs in libs]
[Thomas: remove more trailing spaces in non-C files]
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-11 00:29:34 +02:00
David Marchand
519f32279e config: rename "default" configurations as "native"
The "default" part in configuration filenames is misleading.
Rename this as "native", as this is the RTE_MACHINE that is set in these files.
This should make it clearer for people who build DPDK on a system then run it on
another one.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-05-21 16:25:06 +02:00
Bruce Richardson
e9d48c0072 update Intel copyright years to 2014
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2014-02-25 21:29:14 +01:00
Intel
ac33030524 mk: avoid multiple inclusion of rte_config.h
Signed-off-by: Intel
2013-11-19 16:20:09 +01:00
Intel
1c1d4d7a92 doc: whitespace changes in licenses
Signed-off-by: Intel
2013-10-09 14:51:55 +02:00
Intel
b6df9fc871 update copyright date to 2013
Signed-off-by: Intel
2013-07-25 16:07:52 +02:00
Intel
68bbafce3c doc: remove remaining references
Signed-off-by: Intel
2013-07-25 14:42:16 +02:00
Intel
dada9ef6ed remove version in all files
Signed-off-by: Intel
2013-07-05 11:59:50 +02:00
Intel
af75078fec first public release
version 1.2.3

Signed-off-by: Intel
2013-03-11 17:19:20 +01:00