Ferruh Yigit [Thu, 19 Oct 2017 23:39:52 +0000 (00:39 +0100)]
ethdev: check more errors in xstats retrieval
Some function calls in xstat functions can return negative values
to indicate the error, check return values for those cases.
Coverity issue: 195028, 195026
Fixes:
8c49d5f1c219 ("ethdev: rework xstats retrieve by id")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Ferruh Yigit [Wed, 18 Oct 2017 22:51:43 +0000 (23:51 +0100)]
ethdev: fix xstats get by id APIs
xstats _by_id() APIs are broken because ids known by user sent directly
to the PMDs.
ethdev xstat get by id APIs:
rte_eth_xstats_get_names_by_id() and rte_eth_xstats_get_by_id()
work on ids calculated as "basic stats + extended stats"
When an application asking for id less than "basic stats count", it is
indeed asking basic stats not extended stats.
The dev_ops PMDs implements work on extended stats ids.
This patch adds a check if all requested stats are xstats and if so
converts ids to xstats ids before passing them to PMDs.
This conversion wasn't required before commit
8c49d5f1c219, because
_by_id dev_ops were always used to get whole stats via NULL ids.
Fixes:
8c49d5f1c219 ("ethdev: rework xstats retrieve by id")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Tested-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Ferruh Yigit [Thu, 19 Oct 2017 22:39:55 +0000 (23:39 +0100)]
ethdev: extract xstat basic stat count calculation
Extract into static inline function so that can be used by other
functions.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Xueming Li [Tue, 17 Oct 2017 02:46:43 +0000 (10:46 +0800)]
net/mlx5: fix icc compiler warning
Initialize variable to avoid ICC compiler warning:
http://www.dpdk.org/ml/archives/dev/2017-October/077971.html
Fixes:
f8b9a3bad467 ("net/mlx5: install a socket to exchange a file descriptor")
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
John Daley [Mon, 23 Oct 2017 20:23:00 +0000 (13:23 -0700)]
net/enic: fix packet loss after MTU change
If multiple Rx queues and Rx Scatter are used and the MTU is
modified so that the number of mbufs per packet changes, packet
loss is possible.
The enic completion queue index was miscalculated leaving the
upper half of the queues uninitialized after an MTU change, possibly
leading to completions on those queues not getting processed.
Fixes:
c3e09182bcd6 ("net/enic: support scatter Rx in MTU update")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
Nélio Laranjeiro [Mon, 23 Oct 2017 11:17:57 +0000 (13:17 +0200)]
net/mlx5: fix RSS hash update
Few bugs fixes in both configuration get and hash update where inputs
are not handled as expected by the ethdev layer.
RSS structure may not be totally usable, the PMD should try to take as
most information from it has it can when it is an hash update or it
should try to fill as most as possible in the configuration get.
This means that in the RSS configuration structure, the memory space for
the RSS hash key may not be present, but the PMD should consider the
hash field valid and process/set it.
Fixes:
29c1d8bb3e79 ("net/mlx5: handle a single RSS hash key for all protocols")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Nélio Laranjeiro [Mon, 23 Oct 2017 11:17:56 +0000 (13:17 +0200)]
app/testpmd: fix RSS structure initialisation
Struct rss_conf.rss_key_len is not initialised forcing the user to
verify the rss_conf.rss_key pointer to know if the key is present
or not. rss_conf.rss_key_len should have a valid length according
to the size of the rss_key pointed.
Fixes:
560e02ee5237 ("app/testpmd: configure RSS without restart")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Nélio Laranjeiro [Mon, 23 Oct 2017 11:17:55 +0000 (13:17 +0200)]
net/mlx5: fix flow priority for queue action
Priority is wrongly configured when the action is queue, using the
Ethernet layer priority instead of the most specific layer found.
Fixes:
8086cf08b2f0 ("net/mlx5: handle RSS hash configuration in RSS flow")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Matan Azrad [Sat, 21 Oct 2017 20:54:46 +0000 (20:54 +0000)]
net/failsafe: add timestamp to stats snapshot
Fail-safe attempts to read an ultimate statistics on removal time; if
that fails, it uses the latest recorded snapshot.
This patch adds timestamp for each stats snapshot to allow a time report
since the last snapshot in case of the above failure.
By this way, the user can estimate the stats read accuracy.
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Matan Azrad [Sat, 21 Oct 2017 20:54:45 +0000 (20:54 +0000)]
net/failsafe: improve stats accuracy
The stats_get API was changed to signal a potential failure to read
stats. Furthermore, some PMDs are able to provide statistics even
after a removal event occurred.
Considering this, the fail-safe can try to access the latest
statistics of a PMD to improve statistics accuracy.
Attempt an ultimate statistics read on removal time; if that
fails, use the latest recorded snapshot.
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Adrien Mazarguil [Fri, 20 Oct 2017 12:39:58 +0000 (14:39 +0200)]
net/mlx4: fix restriction on TCP/UDP flow rules
The code as currently written requires TCP/UDP source and destination
ports to be always specified.
No such restriction is enforced by hardware; all TCP and UDP traffic
can be matched by providing an empty mask for these fields.
Fixes:
680d5280c20b ("net/mlx4: refactor flow item validation code")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Beilei Xing [Fri, 20 Oct 2017 03:37:16 +0000 (11:37 +0800)]
net/i40e: fix flow director issue
For L3 or L4 packets, PCtype is parsed wrongly when
input set is VLAN only.
This patch fixes the issue.
Fixes:
15018d79f0be ("net/i40e: add FDIR support for GTP-C and GTP-U")
Fixes:
7d83c152a207 ("net/i40e: parse flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Beilei Xing [Fri, 20 Oct 2017 03:23:15 +0000 (11:23 +0800)]
net/i40e: update parsing inner packet info
Since meta data in profile is updated, parsing inner
packet information needs to be updated, too.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Beilei Xing [Fri, 20 Oct 2017 02:21:19 +0000 (10:21 +0800)]
net/i40e: fix string overflow issue
This patch fixes the coverity STRING_OVERFLOW issue.
Coverity issue: 195002
Fixes:
e163c18a15b0 ("net/i40e: update ptype and pctype info")
Reported-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Raslan Darawsheh [Thu, 19 Oct 2017 21:15:00 +0000 (00:15 +0300)]
net/failsafe: fix PCI devices init
When trying to attach a port as a sub-device, the ethdev port
was compared with devargs.
In the case of a PCI device, the name in devargs is the PCI address.
And since DPDK 17.08, the devargs name of the underlying device was
used to match an ethdev port:
a1e7c17555e8 ("ethdev: use device name from device structure")
But the recent commit
72e3efb149cc has reverted this wrong matching
to use the ethdev port name as identifier of the port.
It impacts functions like rte_eth_dev_allocated() used in failsafe
for matching ports with given devargs.
The fix is to search for matching devargs in underlying device of
all ethdev ports.
If many ports match the same PCI device, only the first one is matched.
This limitation was already present in previous implementation of
rte_eth_dev_allocated(), and must be adressed later with a better
devargs syntax.
Fixes:
72e3efb149cc ("ethdev: revert use port name from device structure")
Cc: stable@dpdk.org
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Adrien Mazarguil [Thu, 19 Oct 2017 16:11:09 +0000 (18:11 +0200)]
net/mlx4: relax Rx queue configuration order
Various hardware limitations apply to RSS indirection tables, one of
them being they must be an exact 1:1 mapping of the configured Rx queue
indices.
While this restriction is enforced when creating RSS flow rules, it is
not the case when Rx queues themselves are created; underlying WQ
numbers are assigned in turn, not according to queue index.
Applications such as l3fwd-power that create Rx queues from highest to
lowest index (or any other non-sequential order) thus fail to get a
working RSS context.
This commit postpones WQ initialization to dev_start(), once all Rx
queues are configured in order to address this issue.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Adrien Mazarguil [Thu, 19 Oct 2017 16:11:07 +0000 (18:11 +0200)]
net/mlx4: fix indirection table error rollback
In case of error occurring while setting up indirection table and
related RSS context resources, intermediate objects are not cleaned up.
Moreover although unlikely, an error other than EINVAL (e.g. ENOMEM)
may be returned.
A description of mlx4_rss_attach()'s return value is also missing.
Fixes:
078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Adrien Mazarguil [Thu, 19 Oct 2017 16:11:05 +0000 (18:11 +0200)]
net/mlx4: fix useless flow rules synchronization
According to the original commit, Rx queues cannot be created nor
destroyed while the device is started. Synchronizing flow rules during
such events is unnecessary as it occurs later when starting the device.
Fixes:
79770826499b ("net/mlx4: drop live queue reconfiguration support")
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Adrien Mazarguil [Thu, 19 Oct 2017 16:11:02 +0000 (18:11 +0200)]
net/mlx4: use dedicated list iterator
Dumb unconditional iteration on flow rules should be performed using the
dedicated macro.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Jasvinder Singh [Thu, 19 Oct 2017 09:39:45 +0000 (10:39 +0100)]
net/softnic: fix integer overflow
Fixed integer overflow by casting hard_rate to uint64_t type.
Coverity issue: 195020
Fixes:
8316b9816b79 ("net/softnic: support traffic management")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jasvinder Singh [Thu, 19 Oct 2017 09:38:18 +0000 (10:38 +0100)]
app/testpmd: fix integer overflow
Fixed integer overflow by casting link_params.link_speed to
uint64_t type.
Coverity issue: 195016
Fixes:
5b590fbe09b6 ("app/testpmd: add traffic management forwarding mode")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Shreyansh Jain [Thu, 19 Oct 2017 09:33:58 +0000 (15:03 +0530)]
doc: update release note for DPAA PMD support
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Ori Kam [Thu, 19 Oct 2017 06:09:26 +0000 (09:09 +0300)]
doc: update mlx5 flow count limitations
Signed-off-by: Ori Kam <orika@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Harish Patil [Thu, 19 Oct 2017 01:13:31 +0000 (18:13 -0700)]
net/qede: fix to re-enable LRO during device start
Move LRO configuration from dev_configure to dev_start so that
LRO configuration can be re-enabled following a port restart.
Fixes:
9a6d30ae6d46 ("net/qede: refactoring vport handling code")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@cavium.com>
Harish Patil [Thu, 19 Oct 2017 01:13:30 +0000 (18:13 -0700)]
net/qede: add support for VXLAN UDP port config over VF
- Allow VXLAN enable/disable over VF using udp_tunnel_port_add/del APIs.
Only default MAC/VLAN classification is supported.
- Enable VxLAN before UDP port configuration.
- Change VxLAN default UDP port to 4789 instead of 8472.
Signed-off-by: Harish Patil <harish.patil@cavium.com>
Harish Patil [Thu, 19 Oct 2017 01:13:29 +0000 (18:13 -0700)]
net/qede: fix supported packet types
Update/fix supported ptypes to return both inner and outer headers,
tunnel_type, fragmented and VLAN packet types.
Fixes:
3d4bb4411683 ("net/qede: add fastpath support for VXLAN tunneling")
Fixes:
2ea6f76aff40 ("qede: add core driver")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@cavium.com>
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Ivan Malov [Wed, 18 Oct 2017 09:39:57 +0000 (10:39 +0100)]
net/sfc: fix Tx reap behaviour on port stop on EF10 datapath
Tx reap mechanism on EF10 native datapath was altered by one
of the recent patches to introduce performance optimisations
using the common technique of freeing mbuf segments in bulks.
From this perspective, the way of associating SW descriptors
with individual mbuf segments rather than with whole packets
was adopted as a key requirement for the entire optimisation.
However, only the fast path reap function was amended to fit
the new scheme whilst the corresponding function on the port
stop path was left intact by mistake. This implies incorrect
usage of rte_pktmbuf_free() with regard to separate segments
rather than calling rte_pktmbuf_free_seg() and must be fixed.
Fixes:
d321954343c8 ("net/sfc: free mbufs in bulks on EF10 native Tx reap")
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Shahaf Shuler [Tue, 17 Oct 2017 12:04:57 +0000 (15:04 +0300)]
net/mlx5: fix interrupt management fields assignment
Rxq creation was missing assignment for cq fields required for interrupt
management.
Fixes:
09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Tue, 17 Oct 2017 12:04:56 +0000 (15:04 +0300)]
net/mlx5: fix segfault on interrupt disable
Interrupt disable can be called when the interrupt vector is not yet
allocated. Such case ends up with segmentation fault.
Fixing it by adding verification for interrupt vector validity.
Fixes:
09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Tomasz Duszynski [Wed, 18 Oct 2017 08:59:45 +0000 (10:59 +0200)]
net/mrvl: update copyright holders
Add Marvell International Ltd. to the copyright holders.
Fixes:
0ddc9b815b11 ("net/mrvl: add net PMD skeleton")
Fixes:
1a286a1139f2 ("doc: add mrvl NIC guide")
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Tomasz Duszynski [Tue, 17 Oct 2017 09:49:54 +0000 (11:49 +0200)]
net/mrvl: remove DMA buffer size from configuration
RTE_MRVL_MUSDK_DMA_MEMSIZE can be removed from DPDK configuration
as it's no longer used as a synchronization point for net and crypto
mrvl pmds.
Fixes:
0ddc9b815b11 ("net/mrvl: add net PMD skeleton")
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Xueming Li [Tue, 17 Oct 2017 07:51:17 +0000 (15:51 +0800)]
net/mlx5: fix secondary process Tx error
Uninitialized UAR mmap offset caused secondary tx doorbell mapped to
wrong address. This patch restores missing UAR mmap offset init code
overridden by wrong merge.
Fixes:
faf2667fe8d5 ("net/mlx5: separate DPDK from verbs Tx queue objects")
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:40 +0000 (13:50 +0800)]
net/i40e: fix parent when adding TM node
Queue's parent is TC not port. It's wrong to always set
the parent to root.
Fixes:
e0ff4d304ccf ("net/ixgbe: support adding TM node")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:39 +0000 (13:50 +0800)]
net/ixgbe: fix not supporting NULL TM profile
It's by design that APP can add a TM node without shaper
profile. But ixgbe doesn't support it currently.
Fixes:
e0ff4d304ccf ("net/ixgbe: support adding TM node")
Fixes:
5713ade69776 ("net/ixgbe: support committing TM hierarchy")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:38 +0000 (13:50 +0800)]
net/i40e: fix not supporting NULL TM profile
It's by design that APP can add a TM node without shaper
profile. But i40e doesn't support it currently.
Fixes:
03a249b62bbd ("net/i40e: support adding TM node")
Fixes:
cac29c3c00a4 ("net/i40e: support committing TM hierarchy")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:37 +0000 (13:50 +0800)]
net/ixgbe: fix TM level capability getting
Only queue nodes should be taken as leaf nodes, all
the other nodes are non-leaf nodes.
Correct it when getting the TM level capability.
Fixes:
596988e193f7 ("net/ixgbe: support getting TM level capability")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:36 +0000 (13:50 +0800)]
net/ixgbe: fix TM node parameter checking
Only queue nodes should be taken as leaf nodes, all
the other nodes are non-leaf nodes.
Correct it when checking the parameters of the TM nodes.
Fixes:
e0ff4d304ccf ("net/ixgbe: support adding TM node")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:35 +0000 (13:50 +0800)]
net/i40e: fix TM level capability getting
Only queue nodes should be taken as leaf nodes, all
the other nodes are non-leaf nodes.
Correct it when getting the TM level capability.
Fixes:
0fb1ef1e7930 ("net/i40e: support getting TM level capability")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Wenzhuo Lu [Tue, 17 Oct 2017 05:50:34 +0000 (13:50 +0800)]
net/i40e: fix TM node parameter checking
Only queue nodes should be taken as leaf nodes, all
the other nodes are non-leaf nodes.
Correct it when checking the parameters of the TM nodes.
Fixes:
03a249b62bbd ("net/i40e: support adding TM node")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Yongseok Koh [Mon, 16 Oct 2017 17:41:56 +0000 (10:41 -0700)]
net/mlx5: fix parsing flags of multi-packet send
Fixes:
43e9d9794cde ("net/mlx5: support upstream rdma-core")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Mon, 16 Oct 2017 13:32:00 +0000 (16:32 +0300)]
doc: update release notes for mlx5 driver
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Zhiyong Yang [Mon, 16 Oct 2017 02:30:44 +0000 (10:30 +0800)]
app/testpmd: remove useless function declarations
The four function declarations have no function implementation,
remove them.
Fixes:
0db70a803028 ("app/testpmd: add commands for filters")
Cc: stable@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Akhil Goyal [Wed, 25 Oct 2017 15:07:27 +0000 (20:37 +0530)]
examples/ipsec-secgw: support security offload
Ipsec-secgw application is modified so that it can support
following type of actions for crypto operations
1. full protocol offload using crypto devices.
2. inline ipsec using ethernet devices to perform crypto operations
3. full protocol offload using ethernet devices.
4. non protocol offload
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Akhil Goyal [Wed, 25 Oct 2017 15:07:26 +0000 (20:37 +0530)]
crypto/dpaa2_sec: support protocol offload IPsec
Driver implementation to support rte_security APIs
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Radu Nicolau [Wed, 25 Oct 2017 15:07:25 +0000 (20:37 +0530)]
net/ixgbe: enable inline IPsec
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Akhil Goyal [Wed, 25 Oct 2017 15:07:24 +0000 (20:37 +0530)]
doc: add details of security library
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Akhil Goyal [Wed, 25 Oct 2017 15:07:23 +0000 (20:37 +0530)]
security: introduce security API and framework
rte_security library provides APIs for security session
create/free for protocol offload or offloaded crypto
operation to ethernet device.
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Boris Pismenny [Wed, 25 Oct 2017 15:07:22 +0000 (20:37 +0530)]
ethdev: add flow action for crypto
The crypto action is specified by an application to request
crypto offload for a flow.
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Reviewed-by: John McNamara <john.mcnamara@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Declan Doherty [Wed, 25 Oct 2017 15:07:21 +0000 (20:37 +0530)]
ethdev: support security APIs
rte_flow_action type and ethdev updated to support rte_security
sessions for crypto offload to ethernet device.
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Boris Pismenny [Wed, 25 Oct 2017 15:07:20 +0000 (20:37 +0530)]
mbuf: add security crypto flags and fields
Add security crypto flags and update mbuf fields to support
IPsec crypto offload for transmitted packets, and to indicate
crypto result for received packets.
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Boris Pismenny [Wed, 25 Oct 2017 15:07:19 +0000 (20:37 +0530)]
net: add ESP header to generic flow steering
The ESP header is required for IPsec crypto actions.
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Akhil Goyal [Wed, 25 Oct 2017 15:07:18 +0000 (20:37 +0530)]
cryptodev: support security APIs
Security ops are added to crypto device to support
protocol offloaded security operations.
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Billy O'Mahony [Tue, 24 Oct 2017 14:53:27 +0000 (15:53 +0100)]
cryptodev: extend info get function documentation
Extend the Doxygen documentation of rte_cryptodev_info_get,
to describe how it returns the capabilities of a device.
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Declan Doherty [Wed, 25 Oct 2017 12:00:36 +0000 (13:00 +0100)]
cryptodev: break dependency on PCI device bus
Removes any dependency of librte_cryptodev on the PCI device
infrastructure code and removes the functions which were virtual
device specific.
Updates QAT crypto PMD to remove dependencies on rte_cryptodev_pci.h
and replaces those calls with the new bus independent functions.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Declan Doherty [Wed, 25 Oct 2017 12:00:35 +0000 (13:00 +0100)]
cryptodev: break dependency on virtual device bus
Removes any dependency of librte_cryptodev on the virtual device
infrastructure code and removes the functions which were virtual
device specific.
Updates all virtual PMDs to remove dependencies on rte_cryptodev_vdev.h
and replaces those calls with the new bus independent functions.
Due to these changes, the cryptodev ABI version gets bumped.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tested-by: Tomasz Duszynski <tdu@semihalf.com>
Declan Doherty [Wed, 25 Oct 2017 12:00:34 +0000 (13:00 +0100)]
cryptodev: add APIs to assist PMD initialisation
Adds new PMD assist functions which are bus independent for driver to
create and destroy new device instances.
Also includes function to parse parameters which can be passed to
driver on device initialisation.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Pablo de Lara [Mon, 23 Oct 2017 10:37:09 +0000 (11:37 +0100)]
crypto/qat: fix HMAC supported digest sizes
For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported
digest sizes are not a fixed value, but a range between
1 and the maximum digest size for those algorithms.
Fixes:
26c2e4ad5ad4 ("cryptodev: add capabilities discovery")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
Jan Blunck [Fri, 6 Oct 2017 08:39:32 +0000 (10:39 +0200)]
cryptodev: move user callback initialization
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Jan Blunck [Fri, 6 Oct 2017 08:39:31 +0000 (10:39 +0200)]
cryptodev: remove obsolete vdev include
Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Pablo de Lara [Tue, 24 Oct 2017 10:14:41 +0000 (11:14 +0100)]
examples/l2fwd-crypto: fix physical address setting
For AEAD algorithms, the physical address for the digest
was being set incorrectly.
Fixes:
2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Aviad Yehezkel [Tue, 24 Oct 2017 12:49:00 +0000 (15:49 +0300)]
examples/ipsec-secgw: convert IV to big endian
According to rfc4106 the IV should be unique and can be implemented
as counter.
The changed was created because putting an analyzer on wire and
comparing packets generated by this application and Linux kernel.
Linux kernel sets IV as BE, so it is worth to do the same for
future debug / comparison.
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Aviad Yehezkel [Tue, 24 Oct 2017 12:48:59 +0000 (15:48 +0300)]
examples/ipsec-secgw: fix AAD length setting
Fixes:
501e9c226adf ("examples/ipsec-secgw: add AEAD parameters")
Cc: stable@dpdk.org
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Aviad Yehezkel [Tue, 24 Oct 2017 12:48:58 +0000 (15:48 +0300)]
examples/ipsec-secgw: fix session creation
Search for session also with AEAD algorithms.
Fixes:
501e9c226adf ("examples/ipsec-secgw: add AEAD parameters")
Cc: stable@dpdk.org
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Aviad Yehezkel [Tue, 24 Oct 2017 12:48:57 +0000 (15:48 +0300)]
examples/ipsec-secgw: fix crypto device mapping
AEAD algorithms were not being added in the mapping
between algorithms and crypto devices, only cipher and
authentication chained algorithms.
Fixes:
501e9c226adf ("examples/ipsec-secgw: add AEAD parameters")
Cc: stable@dpdk.org
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Alok Makhariya [Sun, 22 Oct 2017 19:35:51 +0000 (01:05 +0530)]
crypto/dpaa_sec: support out of place buffers
Enable out of place buffer test cases in dpaa_sec
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Alok Makhariya [Sun, 22 Oct 2017 19:35:50 +0000 (01:05 +0530)]
crypto/dpaa2_sec: support out of place buffers
Enable out of place buffer test cases in nxp dpaa2_sec
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Radu Nicolau [Fri, 20 Oct 2017 09:30:21 +0000 (10:30 +0100)]
examples/ipsec_secgw: support jumbo frames
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Radu Nicolau [Fri, 20 Oct 2017 09:30:20 +0000 (10:30 +0100)]
examples/ipsec_secgw: switch to new offload API
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tomasz Duszynski [Fri, 13 Oct 2017 08:04:36 +0000 (10:04 +0200)]
examples/ipsec-secgw: fix IPv6 payload length
IPv6 payload length header field should contain only the number of bytes
following the IPv6 header and not the entire packet size.
Fixes:
f159e70b0922 ("examples/ipsec-secgw: support transport mode")
Fixes:
906257e965b7 ("examples/ipsec-secgw: support IPv6")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Ian Stokes [Tue, 17 Oct 2017 14:15:06 +0000 (15:15 +0100)]
cryptodev: fix build with -Ofast
When compiling with an application that includes rte_cryptodev.h with
Ofast, an error is reported regarding enumeration
RTE_CRYPTO_OP_TYPE_UNDEFINED not handled in switch case in function
__rte_crypto_op_reset().
Fix this by adding a case for RTE_CRYPTO_OP_TYPE_UNDEFINED.
Fixes:
c0f87eb5252b ("cryptodev: change burst API to be crypto op oriented")
Cc: stable@dpdk.org
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tomasz Duszynski [Wed, 18 Oct 2017 08:59:16 +0000 (10:59 +0200)]
crypto/mrvl: update copyright holders
Add Marvell International Ltd. to the copyright holders.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Zhiyong Yang [Thu, 19 Oct 2017 02:56:57 +0000 (10:56 +0800)]
examples/l2fwd-crypto: fix port id type
Fix port id issues and keep variables related to port ids in
consistent data type definition "uint16_t".
Remove unnecessary cast in the meanwhile.
Fixes:
f8244c6399d9 ("ethdev: increase port id range")
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Radu Nicolau [Wed, 18 Oct 2017 12:06:15 +0000 (13:06 +0100)]
maintainers: update for IPsec application
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Tomasz Duszynski [Tue, 17 Oct 2017 07:17:48 +0000 (09:17 +0200)]
crypto/mrvl: print message if DMA mem is initialized
In case MUSDK dma memory has been already initialized by a different
driver (and perhaps do the different size) mv_sys_dma_mem_init()
will return -EEXIST error code.
Printing extra message makes it clear.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Tomasz Duszynski [Tue, 17 Oct 2017 07:17:47 +0000 (09:17 +0200)]
crypto/mrvl: fix enabling debug logs
Using non-existent configuration option for enabling debug
messages will actually never enable them.
Fixes:
8a61c83af2fa ("crypto/mrvl: add mrvl crypto driver")
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Tomasz Duszynski [Tue, 17 Oct 2017 07:17:46 +0000 (09:17 +0200)]
crypto/mrvl: fix driver name in debug log
Since CRYPTODEV_NAME_MRVL_CRYPTO_PMD is undefined RTE_STR() expands
it to "CRYPTODEV_NAME_MRVL_CRYPTO_PMD" instead of "crypto_mrvl".
This patch fixes that by using proper name definition in debug logs.
Fixes:
8a61c83af2fa ("crypto/mrvl: add mrvl crypto driver")
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Tomasz Duszynski [Fri, 13 Oct 2017 12:50:09 +0000 (14:50 +0200)]
examples/ipsec-secgw: fix IP version check
Since new_ip and ip4 are overlapping buffers copying ip4 over new_ip
using memmove() might overwrite memory at ip4. This could happen if
following condition holds:
ip_hdr_len > sizeof(struct esp_hdr) + sa->iv_len
Thus using ip4 to check ip version is wrong as it might not contain
proper value.
Fixes:
f159e70b0922 ("examples/ipsec-secgw: support transport mode")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Reviewed-by: Aviad Yehezkel <aviadye@mellanox.com>
Alok Makhariya [Fri, 13 Oct 2017 15:38:54 +0000 (21:08 +0530)]
crypto/dpaa2_sec: add check for segmented buffer
The code would crash for segmented buffer if no check.
Fixes:
8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")
Cc: stable@dpdk.org
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Alok Makhariya [Fri, 13 Oct 2017 15:37:30 +0000 (21:07 +0530)]
crypto/dpaa_sec: add check for segmented buffer
The code would crash in case of segmented buffer if no check
Fixes:
c3e85bdcc6e6 ("crypto/dpaa_sec: add crypto driver for NXP DPAA platform")
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Alok Makhariya [Thu, 12 Oct 2017 13:07:24 +0000 (18:37 +0530)]
crypto/dpaa2_sec: remove ICV memset on decryption side
Since the packet lengths are modified, it is not required to
explicitly reset the ICV.
Fixes:
13273250eec5 ("crypto/dpaa2_sec: support AES-GCM and CTR")
Fixes:
8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")
Cc: stable@dpdk.org
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Alok Makhariya [Thu, 12 Oct 2017 13:07:23 +0000 (18:37 +0530)]
crypto/dpaa_sec: remove ICV memset on decryption side
Since the packet lengths are modified, it is not required to
explicitly reset the ICV.
Fixes:
c3e85bdcc6e6 ("crypto/dpaa_sec: add crypto driver for NXP DPAA platform")
Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com>
Thomas Monjalon [Wed, 25 Oct 2017 15:17:39 +0000 (17:17 +0200)]
test: fix build without flow classify
The unit test for flow classify should be disabled
if the library is disabled in the configuration.
Fixes:
9c9befea4f57 ("test: add flow classify unit tests")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Thomas Monjalon [Wed, 25 Oct 2017 15:18:52 +0000 (17:18 +0200)]
doc: remove trailing commas in API index
Fixes:
c711ccb30987 ("ivshmem: remove library and its EAL integration")
Fixes:
e8009a077d17 ("doc: group classification libraries in doxygen index")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
Harry van Haaren [Wed, 25 Oct 2017 13:25:29 +0000 (14:25 +0100)]
service: allow to disable core check
This commit adds a new function to disable the runtime mapped
service-cores check. This allows an application to take responsibility
of running unmapped services.
This feature is useful in cases like unit tests, where the application
code (or unit test in this case) requires accurate control over when
the service function is called to ensure correct behaviour, and when
an application has an advanced use-case and wishes to manage services
manually.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Harry van Haaren [Wed, 25 Oct 2017 13:25:28 +0000 (14:25 +0100)]
service: add function to run on app lcore
This commit adds a new function which allows an application lcore
(aka; *not* a dedicated service-lcore) to run a service. This
function is required to allow applications to gradually port
functionality to using services, while still being able to run
ordinary application functions.
This requirement became clear when a patch to the existing
eventdev/pipeline sample app was modified to use a service-core
for scheduling - and that same core should be capable of running
the "worker()" function from the application too.
This patch refactors the existing running code into a smaller
"service_run" function, which can be called by the dedicated
service-core loop, and the newly added function.
[1] http://dpdk.org/ml/archives/dev/2017-October/079876.html
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Pavan Nikhilesh [Tue, 24 Oct 2017 13:00:36 +0000 (18:30 +0530)]
event/octeontx: support event Rx adapter
Add Rx adapter queue add and delete API for both generic eth_devices as
well as HW backed eth_octeontx which supports direct event injection to
event device.
The HW injected event needs to be converted into mbuf, previously this
was done in eth_octeontx during rx_burst now it is moved to
event_octeontx as events from Rx adapter are dequeued directly from
event device.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>
Pavan Nikhilesh [Tue, 24 Oct 2017 13:00:35 +0000 (18:30 +0530)]
net/octeontx: support event Rx adapter
Add functions to modify and delete qos responsible for mapping eth queues
to event queues used for configuring event Rx adapter.
The mbox functions have been moved from octeontx_pkivf.c to
octeontx_pkivf.h to allow event_octeontx to access them.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Nipun Gupta [Mon, 23 Oct 2017 12:37:06 +0000 (18:07 +0530)]
event/dpaa2: improve error handling and logs
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nipun Gupta [Mon, 23 Oct 2017 12:37:05 +0000 (18:07 +0530)]
event/dpaa2: support event Rx adapter
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nipun Gupta [Mon, 23 Oct 2017 12:37:04 +0000 (18:07 +0530)]
drivers: add net as dependency for event drivers
With the introduction of eventdev-ethdev RX adapter support in event
device, some of the event device will have dependency on their respective
ethernet drivers. This patch adds the net as a dependency for eventdevs.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Nipun Gupta [Mon, 23 Oct 2017 12:37:03 +0000 (18:07 +0530)]
net/dpaa2: add API for event Rx adapter
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nipun Gupta [Mon, 23 Oct 2017 12:37:02 +0000 (18:07 +0530)]
event/dpaa2: add queue parameter in processing callback
For event dequeues for ethernet queues, a dpaa2_queue structure is
required to get the configuration for that ethernet queue. Based on
this configuration the rte_event is to be filled at the ingress side.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nikhil Rao [Tue, 17 Oct 2017 17:47:45 +0000 (23:17 +0530)]
eventdev: add service id get to map file
Add rte_event_eth_rx_adapter_service_id_get to map file. Also order
function names alphabetically.
Fixes:
9c38b704d280 ("eventdev: add eth Rx adapter implementation")
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Harry van Haaren [Tue, 10 Oct 2017 15:47:57 +0000 (16:47 +0100)]
event/sw: fix get of single xstat value
This commit allows the xstats_get() API to return just a single
value based on its ID. Previously, the "ret_n_lt_stats" value
set to 1 ensured a check to take place that the array was larger
than the available xstats.
The xstats_get() API allows retriving of individual stats - hence
this check should be removed - by setting "ret_n_lt_stats" to zero.
Fixes:
c1ad03df7ad5 ("event/sw: support xstats")
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Gage Eads [Fri, 8 Sep 2017 18:07:52 +0000 (13:07 -0500)]
event/sw: allow forward and release when out of credits
When forwarding or releasing events, the operation would fail if the port
has 0 inflight credits and cannot acquire more, or the inflight count
exceeds the port's new event threshold.
This patch fixes that by counting the number of new events in the burst,
and applying the credit and new event threshold checks accordingly.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Thu, 12 Oct 2017 18:45:53 +0000 (00:15 +0530)]
eventdev: use new event enqueue in Rx adapter
When event Rx adapter uses software based packet transfer, event op is
always RTE_EVENT_OP_NEW.
By using rte_event_enqueue_new_burst API the underlying event devices
driver can use it as a hint to optimize enqueue operation if possible.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>
Gaetan Rivet [Tue, 29 Aug 2017 16:19:48 +0000 (18:19 +0200)]
bus: skip useless iterations in find function
The starting point is known. The iterator can be directly set to it.
The function rte_bus_find can easily be used with a comparison function
always returning True. This would make it a regular bus iterator.
Users doing so would however accomplish such iteration in
O(N * N/2) = O(N^2)
Which can be avoided.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jacek Piasecki [Wed, 25 Oct 2017 10:07:18 +0000 (12:07 +0200)]
examples/vhost_scsi: fix product id string termination
Use snprintf instead strncpy to get safe null string termination.
There was possible to get not terminated string after strncpy operation.
Coverity issue: 158631
Fixes:
db75c7af19bb ("examples/vhost_scsi: introduce a new sample app")
Cc: stable@dpdk.org
Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tomasz Duszynski [Mon, 16 Oct 2017 11:45:47 +0000 (13:45 +0200)]
examples/kni: check PCI info not NULL before reading
Since virtual devices, i.e mrvl net pmd, do not touch pci_dev
dereferencing it will cause segmentation fault as by default
it's set to NULL in rte_eth_dev_info_get().
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jasvinder Singh [Tue, 24 Oct 2017 09:09:57 +0000 (10:09 +0100)]
examples/qos_sched: fix uninitialized config
Fix problem with uninitialized rx/tx deferred_start flags of the struct
rte_eth_rxconf/txconf by initializing with 0 value (deferred start of
the rx/tx queues is turned off). This setting allows device rx/tx
queues to start with rte_eth_dev_start().
Coverity issue: 194999, 195009
Fixes:
de3cfa2c9823 ("sched: initial import")
Cc: stable@dpdk.org
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>