Commit graph

23842 commits

Author SHA1 Message Date
DataHoarder 8cf51cf870
Update '.drone.yml'
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2020-12-17 21:18:46 +00:00
DataHoarder 9e84edf1ba
Remove kernel modules from .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-17 21:17:43 +00:00
DataHoarder 245b546fa0
Fixed tabulation on .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-17 21:14:16 +00:00
DataHoarder f43aa8b589
Add '.drone.yml' 2020-12-17 21:11:45 +00:00
DataHoarder af52427f21 changed meson build for fm10k 2020-10-15 00:29:50 +02:00
DataHoarder 9355527571 fix uninitialized tcam_slice / sram_slice on fm10l_ffu.c 2020-10-14 22:55:24 +02:00
DataHoarder 4231542cca Fixed abs usage on unsigned value difference on fm10k_serdes.c 2020-10-14 22:28:11 +02:00
DataHoarder 2d8529f179 Fixed uninitialized ts.tv_sec / ts.tv_usec on fm10k_stats.c 2020-10-14 22:27:22 +02:00
DataHoarder 8837aa5d53 Add fm10k switch manager meson documentation 2020-10-14 22:20:56 +02:00
DataHoarder 1241bd3cc2 Added meson build for fm10k inline switch manager 2020-10-14 22:20:36 +02:00
DataHoarder 869141d344 Move CONFIG_RTE_FM10K_SWITCH_MANAGEMENT to common_base 2020-10-14 18:24:48 +02:00
Xiaojun Liu fad4f08558 net/fm10k: add switch management support
Split dev init to 2 parts.
First only register the port in switch
management; second init hook will be
called after all the pf are registered
and switch initialization. It will finish
dev init. Also add switch interrupt support.
Add fm10k_mirror_rule_set/fm10k_mirror_rule_reset
to support mirror operation. Add fm10k_dev_filter_ctrl
to support flow operation.
Add dpdk port and pf mapping, so
the dpdk port can map to a specific pf
and 1 dpdk port can map to 2 pf to get
total 100G throughput. Update fm10k.rst.
Update release_20_05.rst.

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
2020-10-13 00:22:05 +02:00
Xiaojun Liu 19cd3be04e net/fm10k: add flow interface and switch management
Add flow interface to support offload flow into HW.
It supports parse vlan and parse mpls, all these
data will be transferred to ffu data.
Add switch management, includes initialization,
port mapping, epl port link, LED controller, interrupt handler.
It create 3 threads. One for interrupt handler, one for
LED controller, one for statistics.

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
2020-10-13 00:21:14 +02:00
Xiaojun Liu 5550889d65 net/fm10k: add ffu and statistics and config file functions
Add ffu to support offload flow into HW.
It supports forward, mirror, push VLAN, pop VLAN.
It also supports flowset for a group flow definition.
The config file can configure debug log, port speed,
epl port mapping dpdk port, flowset. All these configuration
will be used by switch management.
Statistics includes epl port, ffu rule, dpdk port, and error.
All these statistics data are read from HW.
Modify switch header file to support getting logical port
and glort and device info.

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
2020-10-13 00:21:14 +02:00
Xiaojun Liu db188ec61e net/fm10k: add epl serdes and port control functions
Add epl serdes include loading spico,
controlling pcsl, dma, dfe, ical. Add spico code.
Add state machine for epl lane and port, it creates
a pthread to handle the state changing event.
Add external port management, which will use
state machine to handle the event from lane and port.
The lane state will change between DOWN, WAIT_PLL_LOCK,
WAIT_SIGNAL_OK, WAIT_DFE_ICAL, WAIT_DFE_PCAL, UP.
The port state will change between DOWN, WAIT_LANE_UP, UP.

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
2020-10-13 00:21:14 +02:00
Xiaojun Liu 475c6a430a net/fm10k: add basic functions for switch management
Add I2C to control the inside LED and PHY.
All the operations of I2C are using fm10k I2C register.
Add SBUS to communicate with spico(micro code in serdes)
by using fm10k SBUS register. This is like I2C operations.
Add registers defination, which include all the registers
will be used in the driver. Add switch management log API.
Add switch management structures. Modify Makefile to add
new files building. Add CONFIG_RTE_FM10K_MANAGEMENT=n
in config/common_linux.

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
2020-10-13 00:21:14 +02:00
Thomas Monjalon cd6f1d7a5f version: 20.08.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-08-08 08:08:20 +02:00
John McNamara 13d0fcdac8 doc: update release notes for 20.08
Fix grammar, spelling and formatting of DPDK 20.08 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2020-08-08 00:21:21 +02:00
Savinay Dharmappa 91b73b98a1 doc: announce sched API changes for dynamic config
Add deprecation note for making changes in data structures and APIs
in order to allow dynamic configuration of subport bandwidth profile.
These changes are aligned as suggested in the RFC[1].

https://mails.dpdk.org/archives/dev/2020-July/175161.html

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>
Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
2020-08-08 00:01:59 +02:00
Chengchang Tang 0a6b8fdd90 doc: announce new ethdev field in Rx queue info
Struct rte_eth_rxq_info will be modified to include a new field, indicating
the size of each buffer that could be used for HW to receive packets. Add
this field to rte_eth_rxq_info to expose relevant information to upper
layer users/application.

For more details:
https://mails.dpdk.org/archives/dev/2020-July/176135.html

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-08-07 23:32:15 +02:00
Maxime Coquelin d21003c9da doc: announce removal of vhost zero-copy dequeue
Vhost-user dequeue zero-copy support will be removed in
20.11. The only known user is OVS where the feature is
still experimental, and has not received any update for
several years. This feature faces reliability issues and
is often conflicting with new features being implemented.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
2020-08-07 15:53:45 +02:00
Bruce Richardson 71668aba90 doc: announce deprecation of CPU build flags
The RTE_MACHINE_CPUFLAGS_* macros in DPDK build just duplicate info from
the compiler macros, so we can remove them and just use the compiler
versions directly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-08-07 13:52:06 +02:00
Thomas Monjalon 0de716fc71 usertools: warn about future removal of setup script
As agreed in the deprecation notice, the "generic" script
to setup the Linux environment will be removed in DPDK 20.11.
Some specific parts may be converted into dedicated scripts.

In the meantime, a warning will be printed to users of this script.

Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2020-08-07 13:39:45 +02:00
Adrian Moreno fcea4c8e29 devtools: ignore Linux-style fallthrough warning
The PREFER_FALLTHROUGH check warns if a passthrough comment is found
because, in the kernel, the special macro "fallthrough" is preferred.

Since that keyword is not defined in DPDK, ignore the warning.

Ignoring this check does not affect the MISSING_BREAK check that will
warn if a switch case/default is not preceded by break or a fallthrough
comment.

Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
2020-08-07 13:33:54 +02:00
Ferruh Yigit 7539c73d96 devtools: add acronyms in dictionary for commit checks
GTPU  -> GPRS Tunnelling Protocol User Plane
MSI   -> Message Signalled Interrupts
MSI-X -> Message Signalled Interrupts (Extended)
TCAM  -> Ternary Content Addressable Memory
ULP   -> Upper Layer Protocol
XOR   -> Exclusive OR

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-08-07 13:04:55 +02:00
Stephen Hemminger 7ccf23c8f7 devtools: rename variables in maintainers file parsing
Change variable names in the shell script.
Replace whitelist with include_files and blacklist with exclude_files.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:02:11 +02:00
Stephen Hemminger 156055da95 ethdev: improve API comment for MAC address addition
The comment used the term whitelist and was awkardly written.
Replace it with simpler direct description of adding a new address.
No code or API changes for this.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:02:10 +02:00
Stephen Hemminger 714e3e6001 doc: announce deprecation of blacklist/whitelist naming
Announce upcoming changes for 20.11.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:02:09 +02:00
Stephen Hemminger ad18592bc0 doc: fix reference to master process
Correct terminolgy here is primary process.
This is a bug in original doc.

Fixes: fc1f2750a3 ("doc: programmers guide")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:02:04 +02:00
Stephen Hemminger 95a2e18dfb kni: fix reference to master/slave process
In DPDK, the correct terms for process are primary/secondary.
This is bugfix, not a change in terms for new release.

Fixes: f2e7592c47 ("kni: fix multi-process support")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:01:54 +02:00
Stephen Hemminger 4f2d88d263 doc: announce deprecation of master lcore naming
Announce upcoming changes related to master/slave in reference
to lcore.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-08-07 13:01:15 +02:00
Harini Ramakrishnan 81f0376179 maintainers: update for Windows
Signed-off-by: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
2020-08-07 02:00:52 +02:00
Maxime Coquelin 6c30ec52cc maintainers: update for Vhost/Virtio/vDPA
Chenbo has done an excellent job in reviewing,
contributing and testing patches.

This patch adds him as co-maintainer for Vhost, Virtio
and vDPA components.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
2020-08-07 01:47:52 +02:00
Thomas Monjalon 4407009c5d doc: sort features in release notes
The features in release notes are easier to read if sorted.

Move vDPA near vhost features.
Move ethdev features of Marvell and Mellanox in alphabetical ordering.

Fix small indent issues at the same time.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-08-07 01:34:36 +02:00
Ajit Khaparde 86fab1ae15 doc: add tested platforms with Broadcom NICs
Add platforms tested with Broadcom NICs.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-08-07 01:28:47 +02:00
Bo Chen 2aec2d25f3 doc: add tested Intel platforms with Intel NICs
Signed-off-by: Bo Chen <box.c.chen@intel.com>
2020-08-07 01:24:32 +02:00
Qi Zhang a79c41b42e doc: update release notes for ice and iavf
Update release notes by adding new features for ice and iavf PMD.

Fixes: de32fa2ba2 ("net/ice: support RSS for IPv6 prefix")
Fixes: 610bc231d0 ("net/ice: support RSS for IPv4 IPv6 mix of GTP")
Fixes: a9bafa9f70 ("net/ice: support flow director GTPU outer IPv4/IPv6")
Fixes: 37e444b778 ("net/ice: support hash for GTPU protocols")
Fixes: 54851ff337 ("net/ice: support PPPoE RSS")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
Signed-off-by: Jeff Guo <jia.guo@intel.com>
2020-08-07 01:19:33 +02:00
Suanming Mou 23ef9b564a doc: update release notes for mlx5 PMD
Update the release notes of mlx5 PMD for two new added devargs:
1. sys_mem_en
2. decap_en

Fixes: 5522da6b20 ("net/mlx5: add option to allocate memory from system")
Fixes: 50f95b23c9 ("net/mlx5: add option to configure FCS or decapsulation")

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
2020-08-07 01:09:00 +02:00
Viacheslav Ovsiienko 5ef162a8b2 doc: fix release notes for mlx5 dependency
The mlx5 PMD does not work on Power 9 platform with OFED
version 5.1-0.6.6.0 (latest GA release at the moment).
Release notes known issues chapter is updated accordingly,
workaround is proposed.

Fixes: 544f35c334 ("doc: add tested platforms with Mellanox NICs")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Asaf Penso <asafp@mellanox.com>
2020-08-07 00:34:53 +02:00
Dekel Peled 287675d22b doc: announce more fields in flow API for IPv6
Struct rte_flow_item_ipv6 will be modified to include additional
values, indicating existence or absence of IPv6 extension headers
following the IPv6 header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177257.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
2020-08-07 00:19:50 +02:00
Dekel Peled f50a258c3a doc: announce more fields in flow API for VLAN
Structs rte_flow_item_eth and rte_flow_item_vlan will be modified,
to include an additional value, indicating existence or absence of VLAN
headers following the current header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177536.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
2020-08-06 23:50:42 +02:00
Viacheslav Ovsiienko b176cb32b5 doc: announce ethdev API change for Rx split
The DPDK datapath in the transmit direction is very flexible.
The applications can build multi-segment packets and manages
almost all data aspects - the memory pools where segments
are allocated from, the segment lengths, the memory attributes
like external, registered, etc.

In the receiving direction, the datapath is much less flexible,
the applications can only specify the memory pool to configure
the receiving queue and nothing more. The packet being received
can only be pushed to the chain of the mbufs of the same data
buffer size and allocated from the same pool. In order to extend
the receiving datapath buffer description it is proposed to add
the new fields into rte_eth_rxconf structure:

struct rte_eth_rxconf {
    ...
    uint16_t rx_split_num; /* number of segments to split */
    uint16_t *rx_split_len; /* array of segment lengths */
    struct rte_mempool **mp; /* array of segment memory pools */
    ...
};

The non-zero value of rx_split_num field configures the receiving
queue to split ingress packets into multiple segments to the mbufs
allocated from various memory pools according to the specified
lengths. The zero value of rx_split_num field provides the
backward compatibility and queue should be configured in a regular
way (with single/multiple mbufs of the same data buffer length
allocated from the single memory pool).

The new approach would allow splitting the ingress packets into
multiple parts pushed to the memory with different attributes.
For example, the packet headers can be pushed to the embedded data
buffers within mbufs and the application data into the external
buffers attached to mbufs allocated from the different memory
pools. The memory attributes for the split parts may differ
either - for example the application data may be pushed into
the external memory located on the dedicated physical device,
say GPU or NVMe. This would improve the DPDK receiving datapath
flexibility preserving compatibility with existing API.

The proposed extended description of receiving buffers might be
considered by other vendors to be involved into similar features
support, it is the subject for the further discussion.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-08-06 23:47:49 +02:00
Konstantin Ananyev b416a68ad7 doc: announce removal of unused enum in ACL library
Announce removal of unused enum value (RTE_ACL_CLASSIFY_NUM).

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
2020-08-06 19:24:16 +02:00
David Marchand 67359d54f7 doc: announce internal hotplug structure removal
rte_dev_event has never been used outside of the EAL.
No point in exposing it.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2020-08-06 19:01:17 +02:00
Akhil Goyal 2a829a1d31 doc: announce change of security session API
The API ``rte_security_session_create`` takes only single mempool
for session and session private data. So the application need to create
mempool for twice the number of sessions needed and will also lead to
wastage of memory as session private data need more memory compared to session.
Hence the API will be modified to take two mempool pointers - one for session
and one for private data. This is very similar to crypto based session
create APIs.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2020-08-06 19:01:17 +02:00
Arek Kusztal 1583c3815e doc: announce removal of crypto list end enumerators
Enumerators RTE_CRYPTO_CIPHER_LIST_END, RTE_CRYPTO_AUTH_LIST_END,
RTE_CRYPTO_AEAD_LIST_END will be removed to prevent some problems
that may arise when adding new algorithms.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2020-08-06 19:01:17 +02:00
Thomas Monjalon bd84d92eb0 doc: announce removal of interactive setup script
Environment configuration is the responsibility of distributions
or upper-level frameworks.
DPDK focus on documenting the requirements and some recommendations.
If some specific parts are complex, they can deserve some scripts.

Maintaining a good adaptative deployment setup is a project by itself.
Anyway this script was interactive, useful only for experimenters.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2020-08-06 19:00:16 +02:00
Thomas Monjalon 2ddb77944a version: 20.08-rc4
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-08-06 02:47:03 +02:00
Thomas Monjalon 41e94ba227 doc: announce deprecation of port mirroring API
A new API is planned to be introduced for sampling and mirroring
with rte_flow. It should be more generic and allow more use cases.

This deprecation is to show the direction, avoiding overlapping APIs.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
2020-08-06 02:42:54 +02:00
Thomas Monjalon ec5cc04503 doc: announce removal of L2 tunnel filtering API
The functions for L2 tunnel were missed when marking the legacy
filtering API as deprecated. That's why a separate notice is done
to make clear that it will be removed as well in DPDK 20.11.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2020-08-06 02:36:36 +02:00