Jan Viktorin [Tue, 20 Sep 2016 12:41:30 +0000 (18:11 +0530)]
eal: remove unused PMD types
- All devices register themselfs by calling a kind of DRIVER_REGISTER_XXX.
The PMD_REGISTER_DRIVER is not used anymore.
- PMD_VDEV type is also not being used - can be removed from all VDEVs.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Jan Viktorin [Tue, 20 Sep 2016 12:41:29 +0000 (18:11 +0530)]
drivers: use vdev registration
All PMD_VDEV drivers can now use rte_vdev_driver instead of the
rte_driver (which is embedded in the rte_vdev_driver).
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Jan Viktorin [Tue, 20 Sep 2016 12:41:28 +0000 (18:11 +0530)]
eal: remove PCI/vdev unused code
- Remove checks for VDEV from rte_eal_vdev_(init/uninint) as all devices
are inherently virtual here.
- PDEVs perform PCI specific inits - rte_eal_dev_init() need not call
rte_driver->init();
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
[Shreyansh: Reword commit log]
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Jan Viktorin [Tue, 20 Sep 2016 12:41:27 +0000 (18:11 +0530)]
eal: extract vdev infra
Move all PMD_VDEV-specific code into a separate module and header
file to not polute the generic code anymore. There is now a list
of virtual devices available.
The rte_vdev_driver integrates the original rte_driver inside
(C inheritance). The rte_driver will be however change in the
future to serve as a common base for all other types of drivers.
The existing PMDs (PMD_VDEV) are to be modified later (there is
no change for them at the moment).
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
David Marchand [Tue, 20 Sep 2016 12:41:26 +0000 (18:11 +0530)]
ethdev: get rid of device type
Now that hotplug has been moved to eal, there is no reason to keep the
device type in this layer.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:25 +0000 (18:11 +0530)]
ethdev: convert to EAL hotplug
Remove bus logic from ethdev hotplug by using eal for this.
Current api is preserved:
- the last port that has been created is tracked to return it to the
application when attaching,
- the internal device name is reused when detaching.
We can not get rid of ethdev hotplug yet since we still need some
mechanism to inform applications of port creation/removal to substitute
for ethdev hotplug api.
dev_type field in struct rte_eth_dev and rte_eth_dev_allocate are kept as
is, but this information is not needed anymore and is removed in the
following commit.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:24 +0000 (18:11 +0530)]
eal: add hotplug operations for PCI and vdev
Hotplug invocations, which deals with devices, should come from the layer
that already handles them, i.e. EAL.
For both attach and detach operations, 'name' is used to select the bus
that will handle the request.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:23 +0000 (18:11 +0530)]
ethdev: do not scan all PCI devices on attach
No need to scan all devices, we only need to update the device being
attached.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:22 +0000 (18:11 +0530)]
pci: introduce helpers for device name parsing/update
- Move rte_eth_dev_create_unique_device_name() from ether/rte_ethdev.c to
common/include/rte_pci.h as rte_eal_pci_device_name(). Being a common
method, can be used across crypto/net PCI PMDs.
- Remove crypto specific routine and fallback to common name function.
- Introduce a eal private Update function for PCI device naming.
Signed-off-by: David Marchand <david.marchand@6wind.com>
[Shreyansh: Merge crypto/pci helper patches]
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:20 +0000 (18:11 +0530)]
drivers: use PCI registration macro
Simplify crypto and ethdev pci drivers init by using newly introduced
init macros and helpers.
Those drivers then don't need to register as "rte_driver"s anymore.
Exceptions:
- virtio and mlx* use RTE_INIT directly as they have custom initialization
steps.
- VDEV devices are not modified - they continue to use PMD_REGISTER_DRIVER.
Update documentation for replacing an example referring to
PMD_REGISTER_DRIVER.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:19 +0000 (18:11 +0530)]
drivers: export probe/remove helpers for PCI drivers
crypto and ethdev drivers aligned to PCI probe/remove. These wrappers are
mapped directly to PCI resources.
Existing handlers for init/uninit can be easily reused for this.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:18 +0000 (18:11 +0530)]
eal: introduce driver init macros
Introduce a RTE_INIT macro used to mark an init function as a constructor.
Current eal macros have been converted to use this (no functional impact).
DRIVER_REGISTER_PCI is added as a helper for pci drivers.
Suggested-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
[Shreyansh: Update PCI Registration macro name]
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:17 +0000 (18:11 +0530)]
drivers: align PCI driver definitions
Pure coding style, but it might make it easier later if we want to move
fields in rte_cryptodev_driver and eth_driver structures.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:16 +0000 (18:11 +0530)]
cryptodev: remove PMD type
This information is not used and just adds noise.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
Shreyansh Jain [Tue, 20 Sep 2016 12:41:15 +0000 (18:11 +0530)]
pci: replace devinit/devuninit with probe/remove
Probe and Remove are more appropriate names for PCI init and uninint
operations. This is a cosmetic change.
Only MLX* uses the PCI direct registration, bypassing PMD_* macro.
The callbacks for this too have been updated.
VDEV are left out. For them, init/uninit are more appropriate.
Suggested-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: David Marchand <david.marchand@6wind.com>
David Marchand [Tue, 20 Sep 2016 12:41:14 +0000 (18:11 +0530)]
pci: initialize lists statically
These lists can be initialized once and for all at build time.
With this, those lists are only manipulated in a common place
(and we could even make them private).
A nice side effect is that pci drivers can now register in constructors.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
David Marchand [Tue, 20 Sep 2016 12:41:13 +0000 (18:11 +0530)]
eal: remove duplicate function declaration
rte_eal_dev_init is declared in both eal_private.h and rte_dev.h since its
introduction.
This function has been exported in ABI, so remove it from eal_private.h
Fixes:
e57f20e05177 ("eal: make vdev init path generic for both virtual and pci devices")
Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
Flavio Leitner [Fri, 23 Sep 2016 14:47:31 +0000 (11:47 -0300)]
eal: move CPU flags check from constructor to init
An application might be linked to DPDK but not really use it,
so move the cpu flag check to the EAL initialization instead.
Signed-off-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Aaron Conole <aconole@redhat.com>
Maciej Czekaj [Wed, 28 Sep 2016 10:52:57 +0000 (12:52 +0200)]
mem: fix crash on hugepage mapping error
In ASLR-enabled system, it is possible that selected
virtual space is occupied by program segments. Therefore,
error path should not blindly unmap all memmory segments
but only those already mapped.
Steps that lead to crash:
1. memeseg 0 in secondary process overlaps with libc.so
2. mmap of /dev/zero fails for virtual space of memseg 0
3. munmap of memseg 0 leads to unmapping libc.so itself
4. app gets SIGSEGV after returning from syscall to libc
Fixes:
ea329d7f8e34 ("mem: fix leak after mapping failure")
Signed-off-by: Maciej Czekaj <maciej.czekaj@caviumnetworks.com>
Yuanhan Liu [Fri, 23 Sep 2016 07:10:46 +0000 (15:10 +0800)]
mem: remove single file segments
RTE_EAL_SINGLE_FILE_SEGMENTS was introduced with ivshmem integration.
Now that ivshmem was removed (commit
c711ccb30987)
and a simple git grep shows no one else references it;
I think we can now remove it.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Pablo de Lara [Fri, 26 Aug 2016 21:30:09 +0000 (22:30 +0100)]
hash: check if slot is empty with key index
Instead of checking if the current and alternative signatures are 0,
it is faster to check if the key index associated to an entry
is 0, meaning that the slot is empty.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
Pablo de Lara [Fri, 26 Aug 2016 21:30:08 +0000 (22:30 +0100)]
hash: fix false zero signature key hit lookup
This commit fixes a corner case scenario. When a key is deleted,
its signature in the hash table gets clear, which should prevent
a lookup of that same key, unless the signature of the key is all zeroes.
In that case, there will be a match, and key would be compared against
the key that is in the table (which does not get cleared,
as the performance penalty would be high), resulting in a wrong hit.
To prevent this from happening, the key index associated to that entry
should be set to zero when deleting it, so in case that same key
is looked up just after a deletion, it will point to the dummy key slot,
which guarantees a miss.
Fixes:
48a399119619 ("hash: replace with cuckoo hash implementation")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
Pablo de Lara [Fri, 26 Aug 2016 21:30:07 +0000 (22:30 +0100)]
hash: fix ring size
Ring stores the free slots available to be used in the key table.
The ring size was being increased by 1, because of the dummy slot,
used for key misses, but this is not actually stored in the ring,
so there is no need to increase it.
Fixes:
5915699153d7 ("hash: fix scaling by reducing contention")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
Jozef Martiniak [Mon, 26 Sep 2016 08:35:09 +0000 (10:35 +0200)]
eal: customize delay function
When running single-core, some drivers tend to call rte_delay_us for a
long time, and that is causing packet drops.
To avoid this, rte_delay_us can be replaced with user-defined delay
function with:
void rte_delay_us_callback_register(void(*userfunc)(unsigned));
When userfunc==rte_delay_us_block build-in blocking delay function is
restored.
Signed-off-by: Jozef Martiniak <jozmarti@cisco.com>
Hiroyuki Mikita [Mon, 5 Sep 2016 15:15:14 +0000 (00:15 +0900)]
sched: fix releasing enqueued packets
rte_sched_port_free should release only enqueued packets of all queues.
Previous behavior is that enqueued and already dequeued packets of
only first 4 queues are released.
Fixes:
61383240 ("sched: release enqueued mbufs when freeing port")
Signed-off-by: Hiroyuki Mikita <h.mikita89@gmail.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Maryam Tahhan [Wed, 7 Sep 2016 10:37:50 +0000 (11:37 +0100)]
app/proc_info: check for primary process
Add a check to see if the primary process is running and exit gracefully
if it is not.
Suggested-by: Patrick Kutch <patrick.g.kutch@intel.com>
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Ferruh Yigit [Wed, 31 Aug 2016 16:48:48 +0000 (17:48 +0100)]
app/testpmd: fix help of MTU set commmand
Fixes:
ae03d0d18adf ("app/testpmd: command to configure MTU")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
James Poole [Thu, 8 Sep 2016 09:49:16 +0000 (10:49 +0100)]
app/testpmd: fix timeout in Rx queue flushing
When testpmd is run, the application would hang on the second time
that "start" is executed. This is because the timer limit would get
multiplied to an unreachably high number.
At the start of flush_fwd_rx_queues(), the timer limit now resets
to stop it from getting to this high number.
The timer has been made local for this function.
Fixes:
f487715f36f5 ("app/testpmd: add timeout in Rx queue flushing")
Signed-off-by: James Poole <james.g.poole@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Olivier Matz [Fri, 9 Sep 2016 09:42:08 +0000 (11:42 +0200)]
app/testpmd: fix crash when mempool allocation fails
Avoid access to mempool pointer if it is NULL.
Coverity issue: 127553
Fixes:
b19a0c75a0d4 ("app/testpmd: remove anonymous mempool code")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Guruprasad Rao [Fri, 23 Sep 2016 13:54:50 +0000 (06:54 -0700)]
app/test-pipeline: fix table hash LRU initialization
macro ‘APP_METADATA_OFFSET’ was not used to initialize
‘signature_offset’ and ‘key_offset’ part of struct
rte_table_hash_lru_params.
Instead integer offset values were directly used.
with this fix 'hash-8-lru', 'hash-16-lru', 'hash-32-lru' table types are
able to forward traffic as expected.
Fixes:
48f31ca50cc4 ("app/pipeline: packet framework benchmark")
Signed-off-by: Sankar Chokkalingam <sankarx.chokkalingam@intel.com>
Signed-off-by: Guruprasad Rao <guruprasadx.rao@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Jasvinder Singh [Mon, 12 Sep 2016 11:05:52 +0000 (12:05 +0100)]
app/test: fix packet framework table unit tests
The pipeline object is not freed when a particular test-case of the
unit-test finishes. Using rte_pipeline_free() before returning the
outcome for each test-case fixes the issue.
Fixes:
5205954791cb ("app/test: packet framework unit tests")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Olivier Matz [Mon, 12 Sep 2016 11:38:49 +0000 (13:38 +0200)]
app/test: decrease memory requirements for sched
The sched test consumes 35MB memory. When memory is too fragmented (with
2M hugepages), the test can fail.
To reduce this risk, decrease it to 4.5MB by modifying
n_pipes_per_subport and qsize.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Olivier Matz [Mon, 12 Sep 2016 11:38:08 +0000 (13:38 +0200)]
app/test: decrease memory requirements for hash
In hash autotest, the size of tables that should be successfully created
is 32K entries (256KB), except for the table called "different_name",
which is 1M entries (8MB). When memory is too fragmented (with 2M
hugepages), the test can fail.
To avoid allocation failures due to memory fragmentation, decrease the
size of the table to 32K.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Luca Boccassi [Wed, 14 Sep 2016 10:50:42 +0000 (11:50 +0100)]
mk: allow to override devel mode from environment
RTE_DEVEL_BUILD is set to := y in mk/rte.vars.mk, which makes it
impossible to override via an environment variable, and forces users
to pass it inline in the make call.
Use ?= instead to have it pick up the environment variable as well.
Signed-off-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Luca Boccassi [Tue, 30 Aug 2016 17:25:04 +0000 (18:25 +0100)]
mk: add missing preprocessor options
Some targets in mk/internal/rte.compile-pre.mk are calling CC or
HOSTCC without passing CPPFLAGS, EXTRA_CPPFLAGS or HOST_CPPFLAGS,
HOST_EXTRA_CPPFLAGS.
On Debian/Ubuntu builds this means that preprocessor flags set by the
dpkg-buildpackage environment, like hardening flags, are not
correctly passed to all objects builds.
Signed-off-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Thomas Monjalon [Thu, 22 Sep 2016 23:35:39 +0000 (01:35 +0200)]
mk: fix verbosity zero
Verbosity is considered enabled when $V is not empty.
It is a well spread shortcut in makefiles, see git grep '$(if $(*V'
So V=0 and V=1 are equivalent.
It is fixed by unsetting V when it is 0.
A side effect is to fix kernel module compilation verbosity
which is set to 0 when V is empty.
Reported-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Mon, 29 Aug 2016 09:11:32 +0000 (10:11 +0100)]
mk: fix install on FreeBSD
FreeBSD make install fails because of unsupported tar option:
tar: Option --warning=no-ignore-newer is not supported
Issue fixed by removing unsupported tar option.
Fixes:
6b62a72a70d0 ("mk: install a standard cutomizable tree")
Fixes:
e4552b9cc603 ("mk: install doc")
Reported-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Thu, 22 Sep 2016 14:48:54 +0000 (15:48 +0100)]
kni: fix large stack frame size
Compile error:
.../lib/librte_eal/linuxapp/kni/kni_net.c:
In function ‘kni_net_rx_lo_fifo’:
.../lib/librte_eal/linuxapp/kni/kni_net.c:331:1:
error: the frame size of 1056 bytes is larger than 1024 bytes
[-Werror=frame-larger-than=]
This compile error seen with some compiler / kernel combinations.
Moved some local variables to the kni_dev struct.
Fixes:
8451269e6d7b ("kni: remove continuous memory restriction")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Masoud Hasanifard [Sat, 17 Sep 2016 09:43:24 +0000 (14:13 +0430)]
hash: fix custom compare
Set cmp_jump_table_idx to KEY_CUSTOM in rte_hash_cmp_eq so that the custom
function we are setting in rte_hash_set_cmp_func properly works. The custom
function is only called by rte_hash_cmp_eq if cmp_jump_table_idx is set to
KEY_CUSTOM.
Fixes:
95da2f8e9c61 ("hash: customize compare function")
Signed-off-by: Masoud Hasanifard <masoudhasanifard@gmail.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Nikhil Jagtap [Wed, 21 Sep 2016 05:57:42 +0000 (00:57 -0500)]
meter: fix excess token bucket update in srtcm
As per srTCM RFC 2697, we should be updating the E bucket only after the
C bucket overflows. This patch fixes the current DPDK implementation,
where we are updating both the buckets simultaneously at the same rate
(CIR) which results in token accumulation rate of (2*CIR).
Signed-off-by: Nikhil Jagtap <nikhil.jagtap@gmail.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Ferruh Yigit [Thu, 25 Aug 2016 11:30:34 +0000 (12:30 +0100)]
kni: remove continuous memory restriction
Use mempool buf_addr and buf_physaddr fields for address translation.
Since each mbuf address calculated separately, the restriction of all
mbufs should come from a continuous memory restriction is no more valid.
mbuf related FIFO's content changed, rx_q and alloc_q now carries
physical address of mbufs. tx_q and free_q content not changed, they
still carries virtual address of mbufs.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Yangchao Zhou [Sun, 11 Sep 2016 09:59:23 +0000 (17:59 +0800)]
kni: fix error rollback kernel crash
Fixes:
9c61145ff6f9 ("kni: allow multiple threads")
Signed-off-by: Yangchao Zhou <zhouyates@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Fri, 2 Sep 2016 09:51:49 +0000 (10:51 +0100)]
kni: remove panic exits from library
This also helps to remove stack backtrace when kernel module is not
inserted.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Thu, 8 Sep 2016 18:32:09 +0000 (19:32 +0100)]
kni: fix build with kernel 4.8
Linux kernel v4.8 removes macro DEFINE_PCI_DEVICE_TABLE
Linux:
7e9321599011 ("treewide: remove references to the now unnecessary
DEFINE_PCI_DEVICE_TABLE")
Replaced macro with its value in kni ethtool drivers.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Ferruh Yigit [Fri, 16 Sep 2016 16:09:58 +0000 (17:09 +0100)]
kni: fix build with kernel < 3.0
Compile error:
CC [M] .../build/lib/librte_eal/linuxapp/kni/igb_main.o
.../build/lib/librte_eal/linuxapp/kni/igb_main.c:
In function ‘igb_check_swap_media’:
.../build/lib/librte_eal/linuxapp/kni/igb_main.c:1556:7:
error: variable ‘link’ set but not used [-Werror=unused-but-set-variable]
bool link;
^
With Linux kernel >= v3.0 this warning disabled:
Linux:
8417da6f2128 ("kbuild: Fix passing -Wno-* options to gcc 4.4+")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Pablo de Lara [Fri, 16 Sep 2016 21:01:09 +0000 (22:01 +0100)]
kni: support RHEL 7.3
Add support for RHEL 7.3, which uses kernel 3.10,
but backported features from newer kernels.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Thu, 15 Sep 2016 12:06:44 +0000 (13:06 +0100)]
kni: fix debug build
Fix build error with Linux kernel >= v4.7
Fix compile error because of Linux API change, 'trans_start' field
removed from 'struct net_device'.
Linux:
9b36627acecd ("net: remove dev->trans_start")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Weiliang Luo [Thu, 8 Sep 2016 15:29:57 +0000 (10:29 -0500)]
mempool: fix corruption due to invalid handler
When using rte_mempool_create(), the mempool handler is selected
depending on the flags given by the user:
- multi-consumer / multi-producer
- multi-consumer / single-producer
- single-consumer / multi-producer
- single-consumer / single-producer
The flags were not properly tested, resulting in the selection of sc/sp
handler if sc/mp or mc/sp was asked. This can lead to corruption or
crashes because the get/put operations are not atomic.
Fixes:
449c49b93a6b ("mempool: support handler operations")
Signed-off-by: Weiliang Luo <droidluo@gmail.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Robin Jarry [Wed, 10 Aug 2016 14:52:54 +0000 (16:52 +0200)]
mem: use more restrictive permissions on hugepages
There is no need for the page files to be readable (and executable) by
other users. This can be exploited by non-privileged users to access the
working memory of a DPDK app.
Open the files with 0600.
Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
Pablo de Lara [Wed, 24 Aug 2016 22:24:54 +0000 (23:24 +0100)]
drivers: make driver names consistent
As discussed in the past release, driver names are modified
to be more consistent, and the future driver should follow
this new convention.
Driver names consist of:
"driver category"_"driver folder name"_"optional extra name".
For example:
- Crypto null driver -> "crypto_null"
- Network IXGBE VF driver -> "net_ixgbe_vf"
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Amine Kherbouche [Wed, 31 Aug 2016 08:34:26 +0000 (10:34 +0200)]
remove unused ring includes
This patch removes all unused <rte_ring.h> headers.
Signed-off-by: Amine Kherbouche <amine.kherbouche@6wind.com>
Pablo de Lara [Thu, 15 Sep 2016 23:25:32 +0000 (00:25 +0100)]
maintainers: claim responsability for crypto subtree
From 16.07, I will be the maintainer of the crypto subtree.
This will include:
- app/test/test_cryptodev*
- doc/guides/cryptodevs/
- drivers/crypto/
- examples/l2fwd-crypto/
- examples/ipsec-secgw/
- lib/librte_cryptodev/
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Ferruh Yigit [Fri, 26 Aug 2016 15:06:40 +0000 (16:06 +0100)]
scripts: disable optimization for ABI validation
abi-dumper giving following warning:
WARNING: incompatible build option detected: -O3
Although this patch won't fix warning, it is to ensure code compiled
with optimization disabled.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Thomas Monjalon [Fri, 9 Sep 2016 11:01:51 +0000 (13:01 +0200)]
scripts: reverse order of checked commits
The list of git commits to check was in the reversed order.
Also add a comment in the help of checkpatches.sh about list input.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: David Marchand <david.marchand@6wind.com>
Thomas Monjalon [Mon, 29 Aug 2016 08:55:38 +0000 (10:55 +0200)]
scripts: remove useless checkpatch notes
Depending of the checkpatch version in use, more or less notes are
printed below the report.
Only 6 lines were stripped, resulting to such note being printed:
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
The stripping is now more reliable because based on a very stable pattern.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Mon, 29 Aug 2016 08:15:47 +0000 (10:15 +0200)]
scripts: hide double git reference check error
When checking a git reference which does not exist, a git error
with the long git-branch usage is printed:
% scripts/check-git-log.sh '-1
3780cbd'
error: malformed object name
2de9f8551ff9
usage: git branch ...
[a lot of lines]
Wrong 'Fixes' reference:
Fixes:
2de9f8551ff9 ("ethdev: fix documentation for queue start/stop")
The error from the script is sufficient so the git error can be hidden.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:11 +0000 (14:25 +0200)]
scripts: check compilation of exported header files
This script checks that header files in a given directory do not miss
dependencies when included on their own, do not conflict and accept being
compiled with the strictest possible flags.
It is too slow at the moment to be automatically executed by test-build.sh
and should be run voluntarily (like check-git-log.sh and friends) after
making changes to exported header files.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:10 +0000 (14:25 +0200)]
lib: hide static functions never defined
Arch-specific functions not defined for all architectures (missing on x86
in this case) and not used anywhere should not expose a prototype.
This commit prevents the following error:
error: `rte_mov48' declared `static' but never defined
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:09 +0000 (14:25 +0200)]
lib: remove named variadic macros in exported headers
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
Since there is no way to force named variadic macros as extensions, use a
a standard __VA_ARGS__ with an extra dummy argument to format strings.
This commit prevents the following errors:
error: ISO C does not permit named variadic macros
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:08 +0000 (14:25 +0200)]
lib: work around forward reference to enum types
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
This commit prevents the following errors:
error: ISO C forbids forward references to `enum' types
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:07 +0000 (14:25 +0200)]
lib: add missing include dependencies
Exported header files for use by applications should be self sufficient and
allow out of order inclusion. Moreover, they must include all the system
headers they need for types and macros.
This commit prevents the following errors:
error: `RTE_MAX_LCORE' undeclared here (not in a function)
error: `RTE_LPM_VALID_EXT_ENTRY_BITMASK' undeclared
(first use in this function)
error: #error "Unsupported cache line size"
error: `asm' undeclared (first use in this function)
error: implicit declaration of function `[...]'
error: unknown type name `[...]'
error: field `mac_addr' has incomplete type
error: `CHAR_BIT' undeclared here (not in a function)
error: `struct [...]' declared inside parameter list
error: unknown type name `uint8_t'
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:06 +0000 (14:25 +0200)]
lib: work around unnamed structs/unions
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked to avoid warnings and compilation failures.
Unnamed structs/unions are allowed since C11, however many compiler
versions do not use this mode by default.
This commit prevents the following errors:
error: ISO C99 doesn't support unnamed structs/unions
error: struct has no named members
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:05 +0000 (14:25 +0200)]
lib: work around nonstandard bit-fields
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
This commit prevents the following errors:
error: type of bit-field `[...]' is a GCC extension
Note: the standard does not require implementations to issue a diagnostic
message with these, and such errors do not occur with recent GCC or clang
versions. However, GCC 4.7 is still common and using the extension keyword
is easier than checking compiler version.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:04 +0000 (14:25 +0200)]
lib: use C99 syntax for zero-size arrays
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
The extension keyword is used whenever the C99 syntax cannot do it.
This commit prevents the following errors:
error: ISO C forbids zero-size array `[...]'
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:03 +0000 (14:25 +0200)]
lib: work around large enum values
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
This commit prevents the following errors:
error: ISO C restricts enumerator values to range of `int'
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 8 Sep 2016 12:25:02 +0000 (14:25 +0200)]
lib: work around braced-groups within expressions
Exported header files used by applications should allow the strictest
compiler flags. Language extensions used in many places must be explicitly
marked or removed to avoid warnings and compilation failures.
This commit prevents the following errors:
error: ISO C forbids braced-groups within expressions
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:10 +0000 (22:18 +0530)]
examples/ip_pipeline: fix lcore mapping for ppc64
This patch fixes ip_pipeline panic in app_init_core_map while preparing cpu
core map in powerpc with SMT off. cpu_core_map_compute_linux currently prepares
core mapping based on file existence in sysfs ie.
/sys/devices/system/cpu/cpu<LCORE_NUM>/topology/physical_package_id
/sys/devices/system/cpu/cpu<LCORE_NUM>/topology/core_id
These files do not exist for lcores which are offline for any reason (as in
powerpc, while SMT is off). In this situation, this function should further
continue preparing map for other online lcores instead of returning with -1
for a first unavailable lcore.
Also, in SMT=off scenario for powerpc, lcore ids can not be always indexed from
0 upto 'number of cores present' (/sys/devices/system/cpu/present). For eg, for
an online lcore 32, core_id returned in sysfs is 112 where online lcores are
10 (as in one configuration), hence sysfs lcore id can not be checked with
indexing lcore number before positioning lcore map array.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:06 +0000 (22:18 +0530)]
config: enable packet framework on ppc64le
This patch enables librte_port, librte_table, and librte_pipeline
in ppc64le.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:11 +0000 (22:18 +0530)]
table: fix verification on hash bucket header alignment
In powerpc systems, rte table hash structs rte_bucket_4_8, rte_bucket_4_16 and
rte_bucket_4_32 are not cache aligned and hence verification on same would fail.
Instead of checking alignment on cpu cacheline, it could equally be tested as
multiple of 64 bytes.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:07 +0000 (22:18 +0530)]
sched: enable on ppc64le
This patch enables librte_sched in ppc64le.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:05 +0000 (22:18 +0530)]
examples/l3fwd: add AltiVec for ppc64
This patch adds ppc64le port for em_mask_key function.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:04 +0000 (22:18 +0530)]
acl: add AltiVec for ppc64
This patch adds port for ACL library in ppc64le.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Gowrishankar Muthukrishnan [Thu, 8 Sep 2016 16:48:03 +0000 (22:18 +0530)]
lpm: add AltiVec for ppc64
This patch adds ppc64le port for LPM library in DPDK.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Vincent Guo [Fri, 2 Sep 2016 10:23:13 +0000 (18:23 +0800)]
kni: fix module init/exit
Fix pernet calls when HAVE_SIMPLIFIED_PERNET_OPERATIONS is not set.
Fixes:
e6734d21b4e1 ("kni: fix build with kernel 2.6.32")
Signed-off-by: Vincent Guo <guopengfei160@163.com>
Acked-by Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Wed, 31 Aug 2016 14:49:11 +0000 (15:49 +0100)]
kni: support RHEL 6.8
Add support for RHEL6.8 which uses an old version of kernel with some
new features backported.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Wed, 31 Aug 2016 13:06:26 +0000 (14:06 +0100)]
kni: fix crash when removing interface
Removing KNI interface that has no PCI driver for ethtool support cause
kernel crash.
Fixes:
109febfe58f9 ("net/igb: move PCI device IDs from EAL")
Fixes:
221fba3b987c ("net/ixgbe: move PCI device IDs from EAL")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Thu, 4 Aug 2016 15:54:05 +0000 (16:54 +0100)]
kni: remove memzone lookup to get mbuf address
Originally mempool->mz is used to get address of the mbuf, but now
address get directly from mempool, so mempool->mz information is not
required.
Fixes:
d1d914ebbc25 ("mempool: allocate in several memory chunks by default")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Christian Ehrhardt [Mon, 1 Aug 2016 12:17:43 +0000 (14:17 +0200)]
kni: remove triple license information
License information is already in LICENSE.GPL.
Remove two extra copies and change referred filename in the files.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Christian Ehrhardt [Wed, 3 Aug 2016 14:59:00 +0000 (16:59 +0200)]
scripts: convert devel config helper as simple file
Quoting the first line of the script: "#! /bin/echo must be loaded with ."
Given that we should drop the .sh file ending as well as the executable
flag - both are not needed to source the file.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Christian Ehrhardt [Tue, 2 Aug 2016 06:40:00 +0000 (08:40 +0200)]
examples/ip_pipeline: fix Python interpreter
Due to regular lintian checks in Debian packaging it surfaced that these
two scripts had a space in their #! statement.
It is changed to an interpreter compatible with Python 2 and 3.
Fixes:
8673a3e8 ("examples/ip_pipeline: add config diagram generator")
Fixes:
fa667b46 ("examples/ip_pipeline: add core mappings script")
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Shreyansh Jain [Wed, 17 Aug 2016 13:06:43 +0000 (18:36 +0530)]
eal: fix a comment
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Mauricio Vasquez B [Sun, 14 Aug 2016 16:21:40 +0000 (18:21 +0200)]
doc: fix versioning example
The example only had as return type struct, it is actually
struct rte_acl_ctx *
Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
Deirdre O'Connor [Mon, 22 Aug 2016 16:20:08 +0000 (17:20 +0100)]
doc: fix patchwork link
Fixes:
58abf6e77c6b ("doc: add contributors guide")
Reported-by: Jon Loeliger <jdl@netgate.com>
Signed-off-by: Deirdre O'Connor <deirdre.o.connor@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Ferruh Yigit [Fri, 5 Aug 2016 14:09:31 +0000 (15:09 +0100)]
eal: remove empty file for device IDs
All PCI device ids moved to drivers, it is safe to delete
rte_pci_dev_ids.h
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Fri, 5 Aug 2016 14:09:30 +0000 (15:09 +0100)]
net/igb: move PCI device IDs from EAL
PCI device ids moved from common header into igb driver itself.
KNI starts using pci_device_id from kni/ethtool/igb driver, this is only
for KNI ethtool support, KNI data path is not affected.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Fri, 5 Aug 2016 14:09:29 +0000 (15:09 +0100)]
net/ixgbe: move PCI device IDs from EAL
PCI device ids moved from common header into ixgbe driver itself.
KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is
only for KNI ethtool support, KNI data path is not affected.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Thomas Monjalon [Tue, 23 Aug 2016 12:35:17 +0000 (14:35 +0200)]
doc: remove useless file listings
Lists of DPDK files are hard to maintain up to date and does not bring
much information.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
David Marchand [Fri, 29 Jul 2016 12:28:36 +0000 (14:28 +0200)]
ivshmem: remove library and its EAL integration
Following discussions on the mailing list [1] and since nobody stood up to
implement the necessary cleanups, here is the ivshmem integration removal.
There is not much to say about this patch, a lot of code is being removed.
The default configuration file for packet_ordering example is replaced with
the "native" x86 file.
The only tricky part is in eal_memory with the memseg index stuff.
More cleanups can be done after this but will come in subsequent patchsets.
[1]: http://dpdk.org/ml/archives/dev/2016-June/040844.html
Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Pablo de Lara [Fri, 29 Jul 2016 18:20:49 +0000 (19:20 +0100)]
doc: fix references to old binding script
dpdk-nic-bind.py script has been renamed to dpdk-devbind.py,
but some references to the old script have remained.
This commit completes the renaming.
Fixes:
a5d7a3f77ddc ("unify tools naming")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Jim Harris [Tue, 16 Aug 2016 22:46:46 +0000 (15:46 -0700)]
contigmem: zero all pages during mmap
On Linux, all huge pages are zeroed by the kernel before
first access by the DPDK application. But on FreeBSD,
the contigmem driver would only zero the contiguous
memory regions during initial driver load.
DPDK commit
b78c91751 eliminated the explicit memset()
operation for rte_zmalloc(), which was OK on Linux
because the kernel zeroes the pages during app start,
but this broke FreeBSD when restarting app.
So this patch explicitly zeroes the pages before they are mmap'd,
to ensure equivalent behavior to Linux.
Fixes:
b78c9175118f ("mem: do not zero out memory on zmalloc")
Reported-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Tested-by: Daniel Verkamp <daniel.verkamp@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Aleksey Katargin [Mon, 1 Aug 2016 09:00:43 +0000 (14:00 +0500)]
table: fix symbol exports
Fixes:
8aa327214ceb ("table: hash")
Fixes:
68866e2417cc ("table: add 16-byte hash operations computed on lookup")
Signed-off-by: Aleksey Katargin <gureedo@gmail.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Thomas Monjalon [Mon, 1 Aug 2016 19:39:42 +0000 (21:39 +0200)]
version: 16.11-rc0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Mon, 1 Aug 2016 12:54:06 +0000 (14:54 +0200)]
mbuf: remove deprecated internal function
The function __rte_mbuf_raw_alloc was reserved for internal use and
has been deprecated in favor of the public function rte_mbuf_raw_alloc.
It can be safely removed now.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Thomas Monjalon [Fri, 29 Jul 2016 12:55:28 +0000 (14:55 +0200)]
log: remove deprecated history dump
The log history feature was deprecated in 16.07.
The remaining empty functions are removed in 16.11.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Thomas Monjalon [Fri, 29 Jul 2016 13:34:29 +0000 (15:34 +0200)]
doc: postpone mempool ABI breakage
It was planned to remove some mempool functions which are deprecated
since 16.07.
As no other mempool ABI change is planned in 16.11, it is better
to postpone and group every mempool ABI changes in 17.02.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
John McNamara [Fri, 29 Jul 2016 11:59:14 +0000 (12:59 +0100)]
doc: generate NIC overview table from ini files
Convert the NIC feature table in the overview doc into a set of ini
files and add functions into the Sphinx conf.py file to auto-generate
them back into an RST table.
The reason for doing this is to make it easier for PMD maintainers to
update the feature matrix that makes up the table and to avoid
frequent and hard to resolve conflicts in doc/guides/nics/overview.rst.
A NIC/PMD feature matrix is now an ini file like the following:
$ head doc/guides/nics/nic_features/i40e.ini
;
; Features of the i40e network driver.
;
[Features]
Link status = Y
Link status event = Y
Rx interrupt = Y
Queue start/stop = Y
...
The output RST table matches the existing table with the column
headers sorted.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
John McNamara [Fri, 29 Jul 2016 11:23:27 +0000 (12:23 +0100)]
doc: add template release notes for 16.11
Add template release notes for DPDK 16.11 with inline
comments and explanations of the various sections.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Thomas Monjalon [Thu, 28 Jul 2016 18:48:41 +0000 (20:48 +0200)]
version: 16.07.0
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Fan Zhang [Thu, 19 May 2016 14:18:35 +0000 (15:18 +0100)]
doc: announce API change in port library
The API changes are planned for rte_port_source_params and
rte_port_sink_params, which will be supported from release 16.11.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Yuanhan Liu [Fri, 15 Jul 2016 12:28:33 +0000 (20:28 +0800)]
doc: announce vhost-cuse removal
Vhost-cuse was invented before vhost-user exist. The both are actually
doing the same thing: a vhost-net implementation in user space. But they
are not exactly the same thing.
Firstly, vhost-cuse is harder for use; no one seems to care it, either.
Furthermore, since v2.1, a large majority of development effort has gone
to vhost-user. For example, we extended the vhost-user spec to add the
multiple queue support. We also added the vhost-user live migration at
v16.04 and the latest one, vhost-user reconnect that allows vhost app
restart without restarting the guest. Both of them are very important
features for product usage and none of them works for vhost-cuse.
You now see that the difference between vhost-user and vhost-cuse is
big (and will be bigger and bigger as time moves forward), that you
should never use vhost-cuse, that we should drop it completely.
The remove would also result to a much cleaner code base, allowing us
to do all kinds of extending easier.
So here to mark vhost-cuse as deprecated in this release and will be
removed in the next release (v16.11).
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>