#
fffea1ae |
| 20-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: support vdev for embedded applications
Add support for running DPDK applications directly on AMD Pensando embedded HW. The platform exposes the device BARs through UIO. The UIO code in th
net/ionic: support vdev for embedded applications
Add support for running DPDK applications directly on AMD Pensando embedded HW. The platform exposes the device BARs through UIO. The UIO code in the common/ionic library walks the sysfs filesystem to identify the relevant BARs and map them into process memory.
The SoCs are named 'Capri' and 'Elba'.
The vdev device interface code is located in ionic_dev_vdev.c.
Some datapath operations are #ifdef-ed out to save on resources when running in embedded mode.
Some control path operations are skipped by the ionic_is_embedded() helper function.
Before ringing the doorbell, use an ARM 'dsb st' barrier. The normal barrier inside rte_write64() is insufficient on these devices due to a chip errata.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com> Signed-off-by: R Mohamed Shah <mohamedshah.r@amd.com> Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
show more ...
|
#
484027bf |
| 20-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
common/ionic: create common code library
Move definitions that will be shared by net/ionic and crypto/ionic. Add the code used for discovering UIO vdevs.
Signed-off-by: Andrew Boyer <andrew.boyer@a
common/ionic: create common code library
Move definitions that will be shared by net/ionic and crypto/ionic. Add the code used for discovering UIO vdevs.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
e86a6fcc |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: add optimized non-scattered Rx/Tx
The code is very similar, but the simple case can skip a few branches in the hot path. This improves PPS when 10KB mbufs are used.
S/G is enabled on the
net/ionic: add optimized non-scattered Rx/Tx
The code is very similar, but the simple case can skip a few branches in the hot path. This improves PPS when 10KB mbufs are used.
S/G is enabled on the Rx side by offload DEV_RX_OFFLOAD_SCATTER. S/G is enabled on the Tx side by offload DEV_TX_OFFLOAD_MULTI_SEGS.
S/G is automatically enabled on the Rx side if the provided mbufs are too small to hold the maximum possible frame.
To enable S/G in testpmd, add these args: --rx-offloads=0x2000 --tx-offloads=0x8000
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: R Mohamed Shah <mohamedshah.r@amd.com>
show more ...
|
#
8eaafff3 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: move PCI-specific code to separate file
For future support of virtual devices, move the PCI code to its own file. Create a new device interface, struct ionic_dev_intf, to plug in to commo
net/ionic: move PCI-specific code to separate file
For future support of virtual devices, move the PCI code to its own file. Create a new device interface, struct ionic_dev_intf, to plug in to common code.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com> Signed-off-by: R Mohamed Shah <mohamedshah.r@amd.com>
show more ...
|
#
76668754 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: update license terms to remove GPL
Remove GPL2 and leave only BSD-3-Clause. This is more in line with the norms of the DPDK community.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
|
#
a5205992 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: update documentation and copyrights
Pensando Systems has been acquired by AMD. Update all copyright strings and email addresses.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
|
#
4ad4b20a |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
drivers: change indentation in build files
Switch from using tabs to 4 spaces for meson.build indentation.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
|
#
b9d60b54 |
| 22-Dec-2020 |
Pallavi Kadam <pallavi.kadam@intel.com> |
drivers/net: build i40e and mlx5 on Windows
Allows i40e and mlx5 PMDs to compile on Windows and disable other drivers.
Disable few i40e warnings with Clang such as comparison of integers of differe
drivers/net: build i40e and mlx5 on Windows
Allows i40e and mlx5 PMDs to compile on Windows and disable other drivers.
Disable few i40e warnings with Clang such as comparison of integers of different signs and macro redefinitions.
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com> Acked-by: Tal Shnaiderman <talshn@nvidia.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
c886f426 |
| 21-Jan-2020 |
Thomas Monjalon <thomas@monjalon.net> |
mk: ignore missing field initializers warning
Three warnings are commonly disabled in DPDK with make and meson: * address-of-packed-member always disabled * missing-field-initializers disabled
mk: ignore missing field initializers warning
Three warnings are commonly disabled in DPDK with make and meson: * address-of-packed-member always disabled * missing-field-initializers disabled with meson disabled with make + clang or make + gcc < 4.7 disabled with make + gcc <= 5 for test files and event drivers * packed-not-aligned disabled with meson
This change is removing exceptions for missing-field-initializers. As it is always disabled, some redundant configs are cleaned up.
Now the situation is: * address-of-packed-member always disabled * missing-field-initializers always disabled * packed-not-aligned disabled with meson
It could alternatively be decided to disable missing-field-initializers only for old gcc (< 6).
The warning packed-not-aligned is not modified in this change.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
52f0e9c1 |
| 21-Jan-2020 |
Ferruh Yigit <ferruh.yigit@intel.com> |
net/ionic: ignore missing field initializers warning
The compiler warning is: from .../drivers/net/ionic/ionic_dev.c:7: .../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here u8 rsv
net/ionic: ignore missing field initializers warning
The compiler warning is: from .../drivers/net/ionic/ionic_dev.c:7: .../drivers/net/ionic/ionic_if.h:202:5: note: ‘rsvd’ declared here u8 rsvd[62]; ^
This has been observed with gcc 4.8.5, newer 9+ compiler are not giving this warning.
Warning is a reminder to the user that there are some fields in the struct not initialized with the default value. But the C standard clarifies that in that case the field value will be zero and code is aware of this behavior, so no initializing to a default value is intentional and it is safe to ignore this compiler warning.
Adding '-Wno-missing-field-initializers' compiler flag to disable the warning.
Reported-by: Anoob Joseph <anoobj@marvell.com> Reported-by: Raslan Darawsheh <rasland@mellanox.com> Reported-by: Xueming Zhang <xuemingx.zhang@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
a27d9013 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add Rx and Tx handling
Add Rx and Tx queues setup and handling.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
|
#
54fe083f |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: support Rx filters
Add support for managing RX filters based on MAC and VLAN. Hardware cannot provide the list of filters, thus we keep a local list. Add support for promisc and allmultic
net/ionic: support Rx filters
Add support for managing RX filters based on MAC and VLAN. Hardware cannot provide the list of filters, thus we keep a local list. Add support for promisc and allmulticast modes.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
669c8de6 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: support basic LIF
Initialize LIFs (Logical Interfaces) which represents external connections. The NIC can multiplex many LIFs to a single port, but in most setups, LIF0 is the primary con
net/ionic: support basic LIF
Initialize LIFs (Logical Interfaces) which represents external connections. The NIC can multiplex many LIFs to a single port, but in most setups, LIF0 is the primary control for the port. Create a device for each LIF.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
5ef51809 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: register and initialize adapter
Register the Pensando ionic PMD (net_ionic) and define initial probe and remove callbacks with adapter initialization.
Signed-off-by: Alfredo Cardigliano
net/ionic: register and initialize adapter
Register the Pensando ionic PMD (net_ionic) and define initial probe and remove callbacks with adapter initialization.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
7c125393 |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add log
Add debug options to the config file. Define macros used for logs and make use of config file options to enable them.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Re
net/ionic: add log
Add debug options to the config file. Define macros used for logs and make use of config file options to enable them.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|
#
a72cf98c |
| 19-Jan-2020 |
Alfredo Cardigliano <cardigliano@ntop.org> |
net/ionic: add skeleton
Add makefile and config file options to compile the Pensando ionic PMD. Add feature and version map file. Update maintainers file.
Signed-off-by: Alfredo Cardigliano <cardig
net/ionic: add skeleton
Add makefile and config file options to compile the Pensando ionic PMD. Add feature and version map file. Update maintainers file.
Signed-off-by: Alfredo Cardigliano <cardigliano@ntop.org> Reviewed-by: Shannon Nelson <snelson@pensando.io>
show more ...
|