From: Vamsi Attunuru
Current l2fwd application configures adjacent ports as destination
ports for forwarding the traffic which is a kind of static mapping
that can not be altered by the command line options.
Patch adds a config option to pass the forwarding port pair mapping
as a command line pa
From: Vamsi Attunuru
Current l2fwd application configures adjacent ports as destination
ports for forwarding the traffic which is a kind of static mapping
that can not be altered by the command line options.
Patch adds a config option to pass the forwarding port pair mapping
as a command line pa
From: Vamsi Attunuru
Patch adds routines to set/clear nix lf error & ras interrupt enable
registers. These nix lf error interrupts get triggered if there are
any failures during nix lf configuration. This interrupts are enabled
before any hardware configurations initiated on the allocated nix lf.
From: Vamsi Attunuru
vfio-pci driver enables virtual function access from
the DPDK applications when those vf device's physical
function is also bound to vfio driver.
Patch adds the required configuration and checks to
enable DPDK applications to access both pf and it's
vf devices through vfio-p
From: Vamsi Attunuru
SIGTERM handling is added for graceful application exit.
Useful when application is terminated without specifying
any signal on 'kill' command.
Signed-off-by: Vamsi Attunuru
Acked-by: Ferruh Yigit
---
v2 Change:
* Changed commit log
examples/kni/main.c | 11 ---
From: Vamsi Attunuru
Currently when application requests for RTE_FC_NONE earlier
than PMD's internal fc mode update, flow control set routine
is returning without updating the flow control state.
Patch updates the PMD's internal fc mode details during
dev_configure to ensure any flow control set
From: Vamsi Attunuru
Current KNI example application is not handling SIGTERM
signal when application is killed without passing any
specific signal in kill command.
Patch uses the existing signal handler for SIGTERM as well
for graceful application exit.
Fixes: 13c4ebd65a77 ("examples: minor cha
From: Vamsi Attunuru
Current vector mode implementation floor-aligns pkt count
with NIX_DESCS_PER_LOOP and process that many packets.
Patch addresses the case where pkt count modulo NIX_DESCS_PER_LOOP
is non-zero, after the vector mode processing, scalar routine is
used to process if there are a
From: Vamsi Attunuru
---
V14 Changes:
* Simplified forcing IOVA as PA scheme.
* Updated documentation
V13 Changes:
* For KNI case, to restore the existing behaviour, forcing IOVA as PA
if bus iommu returns IOVA_DC.
* Restored phys_addr and kni_lib defination checks.
* Simplified patch titles.
*
From: Vamsi Attunuru
Patch adds support for kernel module to work in
IOVA = VA mode by providing address translation
routines to convert IOVA aka user space VA to
kernel virtual addresses.
When compared with IOVA = PA mode, KNI netdev ports
does not have any impact on performance with this
appro
From: David Marchand
Current KNI implementation only operates in IOVA_PA mode
patch adds required functionality to enable KNI in
IOVA_VA mode.
Due to IOVA to KVA address translations, based on the KNI
use case there can be a performance impact.
To mitigate the impact on performance,forcing IOVA
From: Vamsi Attunuru
Patch adds support for kernel module to work in
IOVA = VA mode by providing address translation
routines to convert IOVA aka user space VA to
kernel virtual addresses.
When compared with IOVA = PA mode, KNI netdev ports
does not have any impact on performance with this
appro
From: Vamsi Attunuru
---
V13 Changes:
* For KNI case, to restore the existing behaviour, forcing IOVA as PA
if bus iommu returns IOVA_DC.
* Restored phys_addr and kni_lib defination checks.
* Simplified patch titles.
* Updated documentation about patch set's impact on performance and
kernel versi
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA_PA mode
patch adds required functionality to enable KNI in
IOVA_VA mode.
KNI loopback mode tests will have performance impact in
this mode due to IOVA to KVA address translations.
However, In KNI real world use cases, the perf
From: Vamsi Attunuru
Patch adds support for kernel module to work in
IOVA = VA mode by providing address translation
routines to convert IOVA aka user space VA to
kernel virtual addresses.
When compared with IOVA=PA mode, there is no drop
in performance with this approach, also there is no
perfo
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA_PA mode
patch adds required functionality to enable KNI in
IOVA_VA mode.
KNI can operate in IOVA_VA mode when this mode is requested
using eal option (`iova-mode=va`) or when bus iommu scheme is
selected as RTE_IOVA_VA.
Durin
From: Vamsi Attunuru
---
V12 Changes:
* Removed previously added `--legacy-kni` eal option.
* Removed previously added kni specific mempool create routines
and mempool populate routines.
This patch set(V12) is dependent on following patch set, since the mempool
related support to enable KNI in I
From: Vamsi Attunuru
LBK interface does not support any flow control related
HW configurations.
Skip flow control set requests on LBK bound ethports.
Signed-off-by: Harman Kalra
Signed-off-by: Vamsi Attunuru
---
V2 change:
* Updated log type.
drivers/net/octeontx2/otx2_flow_ctrl.c | 13
From: Vamsi Attunuru
VF index needs to be checked against maxvf count
before incrementing it for preparing pf_func.
Fixes: 520270d518 ("net/octeontx2: support PF and VF action")
Signed-off-by: Vamsi Attunuru
---
drivers/net/octeontx2/otx2_flow_parse.c | 4 ++--
1 file changed, 2 insertions(+)
From: Vamsi Attunuru
LBK interface does not support any flow control related
HW configurations.
Skip flow control set requests on LBK bound ethports.
Signed-off-by: Harman Kalra
Signed-off-by: Vamsi Attunuru
---
drivers/net/octeontx2/otx2_flow_ctrl.c | 13 +
1 file changed, 13 in
From: Vamsi Attunuru
Patch adds support for kernel module to work in
IOVA = VA mode by providing address translation
routines to convert IOVA aka user space VA to
kernel virtual addresses.
Signed-off-by: Vamsi Attunuru
Signed-off-by: Kiran Kumar K
---
kernel/linux/kni/compat.h | 4
ke
From: Vamsi Attunuru
Patch adds a routine to populate mempool from page aligned and
page sized chunks of memory to ensure memory objs do not fall
across the page boundaries. It's useful for applications that
require physically contiguous mbuf memory while running in
IOVA=VA mode.
Signed-off-by:
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA_PA mode
patch adds required functionality to enable KNI in
IOVA_VA mode.
Packet pool's mbuf memory should be physically contiguous
for the KNI kernel module to work in IOVA=VA mode, new KNI
packet pool create APIs are introduc
From: Vamsi Attunuru
---
V11 Changes:
* Added iova to kva address translation routines in kernel module to
make it work in iova=va mode which enables DPDK to create kni devices
on any kind of backed device/memory.
* Added ``--legacy-kni`` eal option to make existing KNI applications
work with DPD
From: Vamsi Attunuru
This adds a "--legacy-kni" command-line option. It will
be used to run existing KNI applications with DPDK 19.11
and later.
Signed-off-by: Vamsi Attunuru
Suggested-by: Ferruh Yigit
---
doc/guides/rel_notes/release_19_11.rst | 4
lib/librte_eal/common/eal_common_o
From: Vamsi Attunuru
When DPDK application is run with vdevs, EAL decides
the iommu mode and accordingly application runs in
either of the modes.
For KNI kind of functionality with vdevs, since there
is no backed device structure in kernel, iommu_mode = PA
needs to be enforced during eal init.
From: Vamsi Attunuru
Patch adds mc filter support for otx2 eth devices.
Signed-off-by: Vamsi Attunuru
---
doc/guides/nics/features/octeontx2.ini | 1 +
doc/guides/nics/features/octeontx2_vec.ini | 1 +
doc/guides/nics/octeontx2.rst | 6 +
drivers/net/octeontx2/Makefile
From: Vamsi Attunuru
patch adds pmd support for hash_index_get() ethdev_op callback.
Signed-off-by: Vamsi Attunuru
---
drivers/net/octeontx2/otx2_ethdev.c | 1 +
drivers/net/octeontx2/otx2_ethdev.h | 3 +++
drivers/net/octeontx2/otx2_rss.c| 18 ++
3 files changed, 22 inse
From: Vamsi Attunuru
Some networking devices may use custom algos for computing
hash indices and spread the packets accordingly.
Patch adds an eth_dev op to get the hash index correspond
to the given hash value received in the initial packet on
the given port.
Some of the applications compute h
From: Vamsi Attunuru
Patch adds a autotest to validate rte_eth_dev_rss_hash_index_get()
ethdev op.
Test configures the ethport in loopback mode and enables RSS for
IP packets. The hash indices returned by those API gets validated
by matching queue number in the reta table with the rxq(queue's id
From: Vamsi Attunuru
---
Following patch set adds ethdev op to fetch hash index from ethdev pmd
for a given hash value. It enables pmds to compute hash index using
HW supported custom algos.
Patch set also adds autotest for these API to verify whether packet
distribution is as per computed hash
From: Vamsi Attunuru
Current pci bus driver scans pci devices in the order that
it read from sysfs. Accordingly all or whitelisted devices
are getting probed.
Patch modifies the probing order of whitelisted pci devices
in a sequence the devices are whitelisted(using EAL flags).
It ensures the e
From: Vamsi Attunuru
Patch adds a runtime function to display port supported ptypes
in different layers.
Signed-off-by: Vamsi Attunuru
---
V3 Change:
* Reworded documentation in release notes.
V2 Changes:
* Replaced numbers with macros.
* Updated 19.11 release notes with command details.
* Cor
From: Vamsi Attunuru
Patch adds a runtime function to display port supported ptypes
in different layers.
Signed-off-by: Vamsi Attunuru
---
V3 Change:
* Reworded documentation in release notes.
V2 Changes:
* Replaced numbers with macros.
* Updated 19.11 release notes with command details.
* Cor
From: Vamsi Attunuru
patch adds pmd support for hash_index_get() ethdev_op callback.
Signed-off-by: Vamsi Attunuru
---
drivers/net/octeontx2/otx2_ethdev.c | 1 +
drivers/net/octeontx2/otx2_ethdev.h | 3 +++
drivers/net/octeontx2/otx2_rss.c| 18 ++
3 files changed, 22 inse
From: Vamsi Attunuru
Patch adds a autotest to validate rte_eth_dev_rss_hash_index_get()
ethdev op.
Test configures the ethport in loopback mode and enables RSS for
IP packets. The hash indices returned by those API gets validated
by matching queue number in the reta table with the rxq(queue's id
From: Vamsi Attunuru
***
Following patch set adds ethdev op to fetch hash index from ethdev pmd
for a given hash value. It enables pmds to compute hash index using
HW supported custom algos.
Patch set also adds autotest for these API to verify whether packet
distribution is as per computed hash
From: Vamsi Attunuru
Some networking devices may use custom algos for computing
hash indices and spread the packets accordingly.
Patch adds a eth_dev op to get the hash index correspond to
the given hash value received on the given port.
Some of use cases where applications would compute hash i
From: Vamsi Attunuru
Patch adds a runtime function to display port supported ptypes
in different layers.
Signed-off-by: Vamsi Attunuru
---
V2 Changes:
* Replaced numbers with macros.
* Updated 19.11 release notes with command details.
* Corrected patch title.
app/test-pmd/cmdline.c
From: Vamsi Attunuru
Memory required for the mempool objects need not be physically
contiguous on octeontx2's HW, mempool pmd supports the minimum chunk
size set by the default handler. Hence discarding the limitation set
by the pmd on the min_chunk_size value.
Signed-off-by: Vamsi Attunuru
---
From: Vamsi Attunuru
The DPDK use case such as VF representer or OVS offload etc
would call for PF and VF PCIe devices to bind vfio-pci
module to enable IOMMU protection.
In addition to vSwitch use case, unlike, other PCI class of
devices, Network class of PCIe devices would have additional
resp
From: Vamsi Attunuru
Patch adds a runtime function to display ptypes supported by the
given port in different layers.
Signed-off-by: Vamsi Attunuru
---
app/test-pmd/cmdline.c | 111
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 7 ++
2 files
From: Kiran Kumar K
Patch adds support for kernel module to work in IOVA = VA mode,
the idea is to get physical address from IOVA address using
iommu_iova_to_phys API and later use phys_to_virt API to
convert the physical address to kernel virtual address.
When compared with IOVA = PA mode, ther
From: Vamsi Attunuru
When KNI operates in IOVA = VA mode, it requires mbuf memory
to be physically contiguous to ensure KNI kernel module could
translate IOVA addresses properly. Patch adds a KNI specific
mempool create routine to populate the KNI packet mbuf pool
with memory objects that are bei
From: Vamsi Attunuru
Patch addresses checks in KNI and eal that enforce IOVA=PA when
IOVA=VA mode is enabled, since KNI kernel module supports VA
mode for kernel versions >= 4.4.0.
Updated KNI documentation with above details.
Signed-off-by: Vamsi Attunuru
Signed-off-by: Kiran Kumar K
---
do
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA=PA mode, patch adds
required functionality in KNI lib to support IOVA=VA mode.
KNI kernel module requires device info to get iommu domain related
information for IOVA addr related translations. Patch defines device
related inf
From: Vamsi Attunuru
Patch adds a routine to populate mempool from page aligned and
page sized chunks of memory to ensure memory objs do not fall
across the page boundaries. It's useful for applications that
require physically contiguous mbuf memory while running in
IOVA=VA mode.
Signed-off-by:
From: Vamsi Attunuru
---
V10 Changes:
* Fixed function return code on failure when min_chunk_size > pg_sz.
* Marked new mempool populate routine as EXPERIMENTAL.
V9 Changes:
* Used rte_mempool_ops_calc_mem_size() instead of default handler in
the new mempool populate routine.
* Check min_chunk_s
From: Vamsi Attunuru
Patch extends minimum supported max_sqb_count devarg value
such that it can limit the max sqb count to 8 buffers and
also defines NIX_DEF_SQB and uses it to compute the number
of sqe buffers required for the egress traffic.
NIX_DEF_SQB is defined as 16 which is optimal acros
From: Vamsi Attunuru
Patch extends minimum supported max_sqb_count devarg value
such that it can limit the max sqb count to 8 buffers and
also defines NIX_DEF_SQB and uses it to compute the number
of smq buffers required for the egress traffic.
NIX_DEF_SQB is defined as 16 which is optimal acros
From: Vamsi Attunuru
Octeontx2 PMD's mailbox client uses device memory to send messages
to mailbox server in the admin function Linux kernel driver.
The device memory used for the mailbox communication needs to
be qualified as volatile memory type to avoid unaligned device
memory accesses because
From: Vamsi Attunuru
Octeontx2 PMD's mailbox client uses device memory to send messages
to mailbox server in the admin function Linux kernel driver.
The device memory used for the mailbox communication needs to
be qualified as volatile memory type to avoid unaligned device
memory accesses because
From: Vamsi Attunuru
Octeontx2 PMD's mailbox client uses HW memory to send messages
to mailbox server in the admin function Linux kernel driver.
The device memory used for the mailbox communication needs to
be qualified as volatile memory type to avoid unaligned device
memory accesses because of
From: Vamsi Attunuru
Patch addresses checks in KNI and eal that enforce IOVA=PA when
IOVA=VA mode is enabled, since KNI kernel module supports VA
mode for kernel versions >= 4.4.0.
Updated KNI documentation with above details.
Signed-off-by: Vamsi Attunuru
Signed-off-by: Kiran Kumar K
---
do
From: Kiran Kumar K
Patch adds support for kernel module to work in IOVA = VA mode,
the idea is to get physical address from IOVA address using
iommu_iova_to_phys API and later use phys_to_virt API to
convert the physical address to kernel virtual address.
When compared with IOVA = PA mode, ther
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA=PA mode, patch adds
required functionality in KNI lib to support IOVA=VA mode.
KNI kernel module requires device info to get iommu domain related
information for IOVA addr related translations. Patch defines device
related inf
From: Vamsi Attunuru
When KNI operates in IOVA = VA mode, it requires mbuf memory
to be physically contiguous to ensure KNI kernel module could
translate IOVA addresses properly. Patch adds a KNI specific
mempool create routine to populate the KNI packet mbuf pool
with memory objects that are bei
From: Vamsi Attunuru
---
V9 Changes:
* Used rte_mempool_ops_calc_mem_size() instead of default handler in
the new mempool populate routine.
* Check min_chunk_size and return values.
* Removed ethdev_info memset to '0' and moved pci dev_info populate into
kni_dev_pci_addr_get() routine.
* Addresse
From: Vamsi Attunuru
Patch adds a routine to populate mempool from page aligned and
page sized chunks of memory to ensure memory objs do not fall
across the page boundaries. It's useful for applications that
require physically contiguous mbuf memory while running in
IOVA=VA mode.
Signed-off-by:
From: Vamsi Attunuru
Patch addresses checks in KNI and eal that enforce IOVA=PA when
IOVA=VA mode is enabled, since KNI kernel module supports VA
mode for kernel versions >= 4.4.0.
Updated KNI documentation with above details.
Signed-off-by: Vamsi Attunuru
Signed-off-by: Kiran Kumar K
---
do
From: Vamsi Attunuru
Current KNI implementation only operates in IOVA=PA mode, patch adds
required functionality in KNI lib to support IOVA=VA mode.
KNI kernel module requires device info to get iommu domain related
information for IOVA addr related translations. Patch defines device
related inf
From: Vamsi Attunuru
Patch adds a routine to populate mempool from page aligned and
page sized chunks of memory to ensures memory objs do not fall
across the page boundaries. It's useful for applications that
require physically contiguous mbuf memory while running in
IOVA=VA mode.
Signed-off-by:
From: Kiran Kumar K
Patch adds support for kernel module to work in IOVA = VA mode,
the idea is to get physical address from IOVA address using
iommu_iova_to_phys API and later use phys_to_virt API to
convert the physical address to kernel virtual address.
When compared with IOVA = PA mode, ther
From: Vamsi Attunuru
When KNI operates in IOVA = VA mode, it requires mbuf memory
to be physically contiguous to ensure KNI kernel module could
translate IOVA addresses properly. Patch adds a KNI specific
mempool create routine to populate the KNI packet mbuf pool
with memory objects that are bei
From: Vamsi Attunuru
---
V8 Changes:
* Remove default mempool populate() routine changes.
* Add kni app specific mempool create & free routines.
* Add new mempool populate routine to allocate page-aligned memzones
with page size to make sure all mempool objects reside on a page.
* Update release
From: Kiran Kumar K
Patch adds support for kernel module to work in IOVA = VA mode,
the idea is to get physical address from IOVA address using
iommu_iova_to_phys API and later use phys_to_virt API to
convert the physical address to kernel virtual address.
When compared with IOVA = PA mode, ther
From: Vamsi Attunuru
Current KNI implmentation only operates in IOVA=PA mode, patch adds
required functionality in KNI lib to support IOVA=VA mode.
KNI kernel module requires device info to get iommu domain related
information for IOVA addr related translations. Patch defines device
related info
From: Vamsi Attunuru
Patch addresses checks in KNI and eal that enforce IOVA=PA when
IOVA=VA mode is enabled, since KNI kernel module supports VA
mode for kernel versions >= 4.4.0.
Signed-off-by: Vamsi Attunuru
Signed-off-by: Kiran Kumar K
---
lib/librte_eal/linux/eal/eal.c | 4 +++-
lib/libr
From: Vamsi Attunuru
Currently the phys address of a mempool object populated by the mempool
populate default() routine may not be contiguous with in that mbuf range.
Patch ensures that each object's phys address is contiguous by modifying
default behaviour of mempool populate() to prevent objec
From: Vamsi Attunuru
V7 Changes:
* Removed previously proposed mempool flag and made those page boundary
checks default in mempool populate() except for the objects size bigger
than the size of page.
* Removed KNI example application related changes since pool related
requirement is taken ca
From: Vamsi Attunuru
eal flag autotest fails when multiple mem size flags are passed
to --socket-mem option irrespective of RTE_MAX_NUMA_NODES.
Patch fixes --socket-mem option by setting enough numbers
of numa node mem flags based on RTE_MAX_NUMA_NODES config.
Fixes: 45f1b6e8680a ("app: add new
From: Vamsi Attunuru
eal flag autotest fails when multiple mem size flags are passed
to --socket-mem option irrespective of RTE_MAX_NUMA_NODES.
Patch fixes --socket-mem option by setting enough numbers
of numa node mem flags based on RTE_MAX_NUMA_NODES config.
Fixes: 45f1b6e8680a ("app: add new
From: Vamsi Attunuru
Fix npa pool range errors observed while creating mempool, this issue
happens when mempool objects are from different mem segments.
During mempool creation, octeontx2 mempool driver populates pool range
fields before enqueuing the buffers. If any enqueue or dequeue operation
From: Vamsi Attunuru
Patch fixes npa pool range errors observed while creating mempool.
During mempool creation, octeontx2 mempool driver populates pool
range fields before enqueueing the buffers. If any enqueue or dequeue
operation reaches npa hardware prior to the range field's HW context
updat
From: Kiran Kumar K
Patch adds support for kernel module to work in IOVA = VA mode,
the idea is to get physical address from iova address using
iommu_iova_to_phys API and later use phys_to_virt API to
convert the physical address to kernel virtual address.
When compared with IOVA = PA mode, ther
From: Vamsi Attunuru
PCI related information is needed in KNI kernel module,
since it requires iommu domain info for address
translations(using iommu_iova_to_phys() call) when
KNI runs in IOVA = VA mode.
Signed-off-by: Vamsi Attunuru
---
lib/librte_eal/linux/eal/include/rte_kni_common.h | 7 ++
From: Vamsi Attunuru
Current KNI implementation operates in IOVA = PA mode,
Patch adds support for IOVA = VA mode by addressing
the issues with page address translations(IOVA <==> KVA).
In this patch KNI application creates mempool with
"MEMPOOL_F_NO_PAGE_BOUND" flag to ensure all mbuf memory
is
From: Vamsi Attunuru
V6 Changes:
* Added new mempool flag to ensure mbuf memory is not scattered
across page boundaries.
* Added KNI kernel module required PCI device information.
* Modified KNI example application to create mempool with new
mempool flag.
V5 changes:
* Fixed build issue wit
From: Vamsi Attunuru
Patch adds new mempool flag to avoid scattering mbuf memory
across page boundaries. Mempool created with this flag set,
populated with mbufs which are exactly inside the page boundaries.
Signed-off-by: Vamsi Attunuru
---
lib/librte_mempool/rte_mempool.c | 2 +-
79 matches
Mail list logo