#
e97d8874 |
| 25-Sep-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: change default policer configuration
Change QoS configuration file syntax for port's default policer setup.
Since default policer configuration is performed before any other policer conf
net/mvpp2: change default policer configuration
Change QoS configuration file syntax for port's default policer setup.
Since default policer configuration is performed before any other policer configuration we can pick a default id.
This simplifies default policer configuration since user no longer has to choose ids from range [0, PP2_CLS_PLCR_NUM].
Explicitly document values for rate_limit_enable field.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Liron Himi <lironh@marvell.com>
show more ...
|
#
cdb53f8d |
| 25-Sep-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: support metering
Add support for configuring plcr via DPDK generic metering API.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
net/mvpp2: support metering
Add support for configuring plcr via DPDK generic metering API.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Liron Himi <lironh@marvell.com>
show more ...
|
#
fad0cfe0 |
| 25-Sep-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: move common code
Cleanup sources by moving common code to the pmd header file.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> R
net/mvpp2: move common code
Cleanup sources by moving common code to the pmd header file.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Liron Himi <lironh@marvell.com>
show more ...
|
#
5997b0a8 |
| 25-Sep-2018 |
Natalie Samsonov <nsamsono@marvell.com> |
net/mvpp2: initialize ppio only once
This changes stop/start/configure behavior due to issue in MUSDK library itself. From now on, ppio can be reconfigured only after interface is closed.
Signed-o
net/mvpp2: initialize ppio only once
This changes stop/start/configure behavior due to issue in MUSDK library itself. From now on, ppio can be reconfigured only after interface is closed.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Yuval Caduri <cyuval@marvell.com>
show more ...
|
#
323e7b66 |
| 04-Sep-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: make default behavior CRC strip on Rx
Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. Without any specific Rx offload flag, default behavior by PMDs is to strip CRC.
PMDs that support keepin
ethdev: make default behavior CRC strip on Rx
Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. Without any specific Rx offload flag, default behavior by PMDs is to strip CRC.
PMDs that support keeping CRC should advertise DEV_RX_OFFLOAD_KEEP_CRC Rx offload capability.
Applications that require keeping CRC should check PMD capability first and if it is supported can enable this feature by setting DEV_RX_OFFLOAD_KEEP_CRC in Rx offload flag in rte_eth_dev_configure()
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tomasz Duszynski <tdu@semihalf.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Jan Remes <remes@netcope.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
4943a290 |
| 24-Aug-2018 |
Natalie Samsonov <nsamsono@marvell.com> |
net/mvpp2: support VLAN for parser offload
Add VLAN packet type support for parser offload.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Shlomi Gridish <sgridish@marvell.com>
net/mvpp2: support VLAN for parser offload
Add VLAN packet type support for parser offload.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Shlomi Gridish <sgridish@marvell.com> Reviewed-by: Dmitri Epshtein <dima@marvell.com> Reviewed-by: Yuval Caduri <cyuval@marvell.com>
show more ...
|
#
61940700 |
| 24-Aug-2018 |
Natalie Samsonov <nsamsono@marvell.com> |
net/mvpp2: make private variables static
Mark internal variables static to avoid potential redefinition errors later on.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Yelena K
net/mvpp2: make private variables static
Mark internal variables static to avoid potential redefinition errors later on.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Reviewed-by: Yelena Krivosheev <yelena@marvell.com>
show more ...
|
#
fe37bf0f |
| 24-Aug-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: fix array initialization
Fix used_bpools array initialization by using range initializer. This way all necessary variables are properly initialized regardless of PP2_NUM_PKT_PROC value.
net/mvpp2: fix array initialization
Fix used_bpools array initialization by using range initializer. This way all necessary variables are properly initialized regardless of PP2_NUM_PKT_PROC value.
Fixes: 0ddc9b815b11 ("net/mrvl: add net PMD skeleton") Cc: stable@dpdk.org
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
show more ...
|
#
4b4ab496 |
| 24-Aug-2018 |
Liron Himi <lironh@marvell.com> |
net/mvpp2: use common code to initialize DMA
Use common code to initialize MUSDK DMA memory buffers.
Signed-off-by: Liron Himi <lironh@marvell.com> Reviewed-by: Natalie Samsonov <nsamsono@marvell.c
net/mvpp2: use common code to initialize DMA
Use common code to initialize MUSDK DMA memory buffers.
Signed-off-by: Liron Himi <lironh@marvell.com> Reviewed-by: Natalie Samsonov <nsamsono@marvell.com>
show more ...
|
#
f8e99896 |
| 18-Jun-2018 |
Thomas Monjalon <thomas@monjalon.net> |
remove useless constructor headers
A constructor is usually declared with RTE_INIT* macros. As it is a static function, no need to declare before its definition. The macro is used directly in the fu
remove useless constructor headers
A constructor is usually declared with RTE_INIT* macros. As it is a static function, no need to declare before its definition. The macro is used directly in the function definition.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
70815c9e |
| 29-Jun-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: add new offload flag to keep CRC
DEV_RX_OFFLOAD_KEEP_CRC offload flag is added. PMDs that support keeping CRC should advertise this offload capability.
DEV_RX_OFFLOAD_CRC_STRIP flag will re
ethdev: add new offload flag to keep CRC
DEV_RX_OFFLOAD_KEEP_CRC offload flag is added. PMDs that support keeping CRC should advertise this offload capability.
DEV_RX_OFFLOAD_CRC_STRIP flag will remain one more release default behavior in PMDs are to keep the CRC until this flag removed
Until DEV_RX_OFFLOAD_CRC_STRIP flag is removed: - Setting both KEEP_CRC & CRC_STRIP is INVALID - Setting only CRC_STRIP PMD should strip the CRC - Setting only KEEP_CRC PMD should keep the CRC - Not setting both PMD should keep the CRC
A helper function rte_eth_dev_is_keep_crc() has been added to be able to change the no flag behavior with minimal changes in PMDs.
The PMDs that doesn't report the DEV_RX_OFFLOAD_KEEP_CRC offload can remove rte_eth_dev_is_keep_crc() checks next release, related code commented to help the maintenance task.
And DEV_RX_OFFLOAD_CRC_STRIP has been added to virtual drivers since they don't use CRC at all, when an application requires this offload virtual PMDs should not return error.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Allain Legacy <allain.legacy@windriver.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
42ab8427 |
| 04-Jun-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: check pointer before using it
Avoid NULL dereference by checking pointer before using it.
Note that the fixes tag is before the driver was renamed to mvpp2, so the patch will not apply t
net/mvpp2: check pointer before using it
Avoid NULL dereference by checking pointer before using it.
Note that the fixes tag is before the driver was renamed to mvpp2, so the patch will not apply that far back.
Fixes: 3588aaa68eab ("net/mrvl: fix HIF objects allocation")
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
show more ...
|
#
acab7d58 |
| 04-Jun-2018 |
Tomasz Duszynski <tdu@semihalf.com> |
net/mvpp2: convert to dynamic logging
Convert mvpp2 PMD to use dynamic logging.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
|
#
fbe90cdd |
| 10-May-2018 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: add probing finish function
A new hook function is added and called inside the PMDs at the end of the device probing: - in primary process, after allocating, init and config - in secondary
ethdev: add probing finish function
A new hook function is added and called inside the PMDs at the end of the device probing: - in primary process, after allocating, init and config - in secondary process, after attaching and local init
This new function is almost empty for now. It will be used later to add some post-initialization processing.
For the PMDs calling the helpers rte_eth_dev_create() or rte_eth_dev_pci_generic_probe(), the hook rte_eth_dev_probing_finish() is called from here, and not in the PMD itself.
Note that the helper rte_eth_dev_create() could be used more, especially for vdevs, avoiding some code duplication in PMDs.
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
a4996bd8 |
| 10-May-2018 |
Wei Dai <wei.dai@intel.com> |
ethdev: new Rx/Tx offloads API
This patch check if a input requested offloading is valid or not. Any reuqested offloading must be supported in the device capabilities. Any offloading is disabled by
ethdev: new Rx/Tx offloads API
This patch check if a input requested offloading is valid or not. Any reuqested offloading must be supported in the device capabilities. Any offloading is disabled by default if it is not set in the parameter dev_conf->[rt]xmode.offloads to rte_eth_dev_configure() and [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup(). If any offloading is enabled in rte_eth_dev_configure() by application, it is enabled on all queues no matter whether it is per-queue or per-port type and no matter whether it is set or cleared in [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup(). If a per-queue offloading hasn't be enabled in rte_eth_dev_configure(), it can be enabled or disabled for individual queue in ret_eth_[rt]x_queue_setup(). A new added offloading is the one which hasn't been enabled in rte_eth_dev_configure() and is reuqested to be enabled in rte_eth_[rt]x_queue_setup(), it must be per-queue type, otherwise trigger an error log. The underlying PMD must be aware that the requested offloadings to PMD specific queue_setup() function only carries those new added offloadings of per-queue type.
This patch can make above such checking in a common way in rte_ethdev layer to avoid same checking in underlying PMD.
This patch assumes that all PMDs in 18.05-rc2 have already converted to offload API defined in 17.11 . It also assumes that all PMDs can return correct offloading capabilities in rte_eth_dev_infos_get().
In the beginning of [rt]x_queue_setup() of underlying PMD, add offloads = [rt]xconf->offloads | dev->data->dev_conf.[rt]xmode.offloads; to keep same as offload API defined in 17.11 to avoid upper application broken due to offload API change. PMD can use the info that input [rt]xconf->offloads only carry the new added per-queue offloads to do some optimization or some code change on base of this patch.
Signed-off-by: Wei Dai <wei.dai@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
show more ...
|
#
8728ccf3 |
| 05-Apr-2018 |
Thomas Monjalon <thomas@monjalon.net> |
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Suc
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used.
There are three consequences when using such wrong design: - new ports having an index higher than the port count won't be seen - old ports being detached (RTE_ETH_DEV_UNUSED) can be seen as ghosts - failsafe sub-devices (RTE_ETH_DEV_DEFERRED) will be seen by the application
Such mistake will be less common with growing hotplug awareness. All applications and examples inside this repository - except testpmd - must be fixed to use the iterator RTE_ETH_FOREACH_DEV.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
caccf8b3 |
| 11-Apr-2018 |
Olivier Matz <olivier.matz@6wind.com> |
ethdev: return diagnostic when setting MAC address
Change the prototype and the behavior of dev_ops->eth_mac_addr_set(): a return code is added to notify the caller (librte_ether) if an error occurr
ethdev: return diagnostic when setting MAC address
Change the prototype and the behavior of dev_ops->eth_mac_addr_set(): a return code is added to notify the caller (librte_ether) if an error occurred in the PMD.
The new default MAC address is now copied in dev->data->mac_addrs[0] only if the operation is successful.
The patch also updates all the PMDs accordingly.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
fe939687 |
| 26-Mar-2018 |
Natalie Samsonov <nsamsono@marvell.com> |
net/mrvl: rename PMD as mvpp2
The name "mrvl" for Marvell PMD driver for PPv2 Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter is too generic and causes problem for adding new PMD drivers for ot
net/mrvl: rename PMD as mvpp2
The name "mrvl" for Marvell PMD driver for PPv2 Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter is too generic and causes problem for adding new PMD drivers for other Marvell devices. Changed to "mvpp2" for specific Marvell PPv2 PMD.
This patch doesn't introduce any change except renaming.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|