History log of /dpdk/drivers/net/ionic/ionic_lif.c (Results 26 – 50 of 65)
Revision Date Author Comments
# 7483341a 06-Oct-2021 Xueming Li <xuemingl@nvidia.com>

ethdev: change queue release callback

Currently, most ethdev callback API use queue ID as parameter, but Rx
and Tx queue release callback use queue object which is used by Rx and
Tx burst data plane

ethdev: change queue release callback

Currently, most ethdev callback API use queue ID as parameter, but Rx
and Tx queue release callback use queue object which is used by Rx and
Tx burst data plane callback.

To align with other eth device queue configuration callbacks:
- queue release callbacks are changed to use queue ID
- all drivers are adapted

Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

show more ...


# 924e6b76 25-Feb-2021 Thomas Monjalon <thomas@monjalon.net>

drivers: replace page size definitions with function

The page size is often retrieved from the macro PAGE_SIZE.
If PAGE_SIZE is not defined, it is either using hard coded default,
or getting the sys

drivers: replace page size definitions with function

The page size is often retrieved from the macro PAGE_SIZE.
If PAGE_SIZE is not defined, it is either using hard coded default,
or getting the system value from the UNIX-only function sysconf().

Such definitions are replaced with the generic function
rte_mem_page_size() defined for each supported OS.

Removing PAGE_SIZE definitions will fix dlb drivers for musl libc,
because #ifdef checks were missing, causing redefinition errors.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Boyer <aboyer@pensando.io>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Timothy McDaniel <timothy.mcdaniel@intel.com>

show more ...


# 656bfc9a 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: fix completion type in lif init

The completion type was wrong.
Don't check the completion if the wait timed out.

Fixes: 669c8de67c88 ("net/ionic: support basic LIF")
Cc: stable@dpdk.org

net/ionic: fix completion type in lif init

The completion type was wrong.
Don't check the completion if the wait timed out.

Fixes: 669c8de67c88 ("net/ionic: support basic LIF")
Cc: stable@dpdk.org

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# e19eea1e 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: store Tx fragment limit in queue

A future patch will allow Tx scatter/gather to be disabled. Store the
value in the queue so it can be changed at runtime based on the
configuration.

Sign

net/ionic: store Tx fragment limit in queue

A future patch will allow Tx scatter/gather to be disabled. Store the
value in the queue so it can be changed at runtime based on the
configuration.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 8ec5ad7f 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: use socket id passed in for Rx and Tx queues

Pipe the value from the queue setup routines through to
ionic_qcq_alloc().

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# be39f75c 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: split up queue-completion queue structure

Create a unique Q-CQ struct for adminq, notifyq, rxq, and txq to
reduce the size of each object.

Minimize the size of each field to squeeze into

net/ionic: split up queue-completion queue structure

Create a unique Q-CQ struct for adminq, notifyq, rxq, and txq to
reduce the size of each object.

Minimize the size of each field to squeeze into as few cachelines
as possible.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 4ad56b7a 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: cut down queue structure

This will conserve resources.

Rename ionic_qcq_alloc() arg from 'base' to 'type_name' for clarity.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# aeb70a00 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: remove unused interrupt free function

This will conserve resources.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# c6a9a6fb 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: remove unused field from queue structure

This will conserve resources.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# 750aebd5 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: consolidate adminq code

The adminq is the only caller of ionic_q_service(), so absorb it
into ionic_adminq_service().
Move all of the adminq code together into ionic_main.c.
Staticize a f

net/ionic: consolidate adminq code

The adminq is the only caller of ionic_q_service(), so absorb it
into ionic_adminq_service().
Move all of the adminq code together into ionic_main.c.
Staticize a few things.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 2aed9865 16-Feb-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: cut down completion queue structure

Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros.
Use a precomputed size mask.

This will conserve resources.

Signed-off-by: Andrew Boyer <aboyer@pens

net/ionic: cut down completion queue structure

Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros.
Use a precomputed size mask.

This will conserve resources.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 56117636 29-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: clean up Tx queue version support

The ionic PMD only supports Tx queue version 1 or greater.
Version 1 introduced a new SGL format with support for more
fragments per descriptor.

Add rel

net/ionic: clean up Tx queue version support

The ionic PMD only supports Tx queue version 1 or greater.
Version 1 introduced a new SGL format with support for more
fragments per descriptor.

Add release notes and an explanation to the docs.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 76276d71 29-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: use existing array size macro

Using the RTE_DIM() macro makes the code clearer.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# c5d15850 18-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: query firmware for supported queue versions

This allows the PMD to better support FW changes.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Shannon Nelson <snelson@pens

net/ionic: query firmware for supported queue versions

This allows the PMD to better support FW changes.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Shannon Nelson <snelson@pensando.io>

show more ...


# 09f806e9 18-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: observe endianness in firmware commands

The IONIC firmware is little-endian.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# 4c8f8d57 18-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: strip out unneeded interrupt code

Only the NotifyQ uses an interrupt, so simplify the other queues.

Simplify ionic_dev_cmd_adminq_init() and ionic_cq_init().
Move ionic_intr_alloc() into

net/ionic: strip out unneeded interrupt code

Only the NotifyQ uses an interrupt, so simplify the other queues.

Simplify ionic_dev_cmd_adminq_init() and ionic_cq_init().
Move ionic_intr_alloc() into ionic_notify_qcq_alloc().
Create ionic_lif_notifyq_deinit().
Simplify ionic_lif_qcq_deinit().
Remove unneeded flags and defines.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# df96fd0d 29-Jan-2021 Bruce Richardson <bruce.richardson@intel.com>

ethdev: make driver-only headers private

The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are
for drivers only and should be a private to DPDK and not installed.

Signed-off-by:

ethdev: make driver-only headers private

The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are
for drivers only and should be a private to DPDK and not installed.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Steven Webster <steven.webster@windriver.com>

show more ...


# 9c3cc2fc 11-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: do not add station MAC filter on init

The address is not needed in the firmware.
This reduces the startup time a bit.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Neel

net/ionic: do not add station MAC filter on init

The address is not needed in the firmware.
This reduces the startup time a bit.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Neel Patel <neel@pensando.io>

show more ...


# b5d9a4f0 11-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: combine queue init and enable commands

Adding F_ENA to the q_init command has the same effect as q_enable.
This reduces the startup time a bit.

Signed-off-by: Andrew Boyer <aboyer@pensan

net/ionic: combine queue init and enable commands

Adding F_ENA to the q_init command has the same effect as q_enable.
This reduces the startup time a bit.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Neel Patel <neel@pensando.io>

show more ...


# 18a44465 11-Jan-2021 Andrew Boyer <aboyer@pensando.io>

net/ionic: revise configuration flag handling

Configuration flags come to the driver in dev_configure(). From there,
the driver calls ionic_lif_configure() to update the lif->feature
bitfield, and t

net/ionic: revise configuration flag handling

Configuration flags come to the driver in dev_configure(). From there,
the driver calls ionic_lif_configure() to update the lif->feature
bitfield, and then programs the port.

Features like VLAN_RX_FILTER and RX_HASH cannot be disabled in the
device, so do nothing in response to requests to disable them. (The
device config would ideally show them enabled by default, but some
DTS tests fail if RSS_HASH is set but RSS is not.)

Move features from the per-queue to per-port lists. IONIC does not
really support per-queue configuration: the stack disallows disabling
a queue feature if it is enabled on the port, while the device
disallows enabling a queue feature if it is disabled on the port.
Thus all configuration is per-port.

Move the guts of ionic_vlan_offload_set() into a new function,
ionic_lif_configure_vlan_offload(), so it can be called by
ionic_lif_configure().

Move the check for DEV_RX_OFFLOAD_SCATTER from rx_queue_setup() up
into ionic_lif_configure().

Warn if rx_drop_en is not set.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# a0a99f21 16-Dec-2020 Andrew Boyer <aboyer@pensando.io>

net/ionic: stop queues when LIF is stopped

Otherwise they cannot be restarted, because the FW will reject INIT
or ENA commands on queues which are already running.

Signed-off-by: Andrew Boyer <aboy

net/ionic: stop queues when LIF is stopped

Otherwise they cannot be restarted, because the FW will reject INIT
or ENA commands on queues which are already running.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# be63459e 16-Dec-2020 Andrew Boyer <aboyer@pensando.io>

net/ionic: improve link state handling

Add UP and FW_RESET state flags.
Update the stack info when the link state changes.
Convert set_link_up/set_link_down to lif_start/lif_stop.
Condition reported

net/ionic: improve link state handling

Add UP and FW_RESET state flags.
Update the stack info when the link state changes.
Convert set_link_up/set_link_down to lif_start/lif_stop.
Condition reported link state on UP flag.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 175e4e7e 16-Dec-2020 Andrew Boyer <aboyer@pensando.io>

net/ionic: complete release on close

ionic_dev_close() is responsible for destroying the ethdev, lif, and
adapter. eth_ionic_dev_remove() calls ionic_dev_close().

Remove-on-close is now required be

net/ionic: complete release on close

ionic_dev_close() is responsible for destroying the ethdev, lif, and
adapter. eth_ionic_dev_remove() calls ionic_dev_close().

Remove-on-close is now required behavior for a PMD.
Remove the UNMAINTAINED flag.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


# 00b65da5 16-Dec-2020 Andrew Boyer <aboyer@pensando.io>

net/ionic: remove multi-LIF support

This feature is unused, so remove it.

There is exactly one adapter / lif / ethdev per port.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>


# 0578335a 16-Dec-2020 Andrew Boyer <aboyer@pensando.io>

net/ionic: preserve Rx mode across LIF stop/start

Otherwise, non-default settings (like PROMISC) get reset.
This will become important when link toggling is tied to LIF stop/start.

Signed-off-by: A

net/ionic: preserve Rx mode across LIF stop/start

Otherwise, non-default settings (like PROMISC) get reset.
This will become important when link toggling is tied to LIF stop/start.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

show more ...


123