[dpdk-dev] [PATCH] [v2 1/1] examples/l2fwd: add cmdline option for forwarding port info

2020-04-04 Thread vattunuru
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

[dpdk-dev] [PATCH] [v1 1/1] examples/l2fwd: add cmdline option for forwarding port info

2020-04-02 Thread vattunuru
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

[dpdk-dev] [PATCH] [v1 1/1] net/octeontx2: add routines to set/clear interrupt enable registers

2020-04-02 Thread vattunuru
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.

[dpdk-dev] [RFC v1 1/1] vfio: set vf token and gain vf device access

2020-03-04 Thread vattunuru
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

[dpdk-dev] [PATCH] [v2 1/1] examples/kni: add SIGTERM signal handling

2020-02-06 Thread vattunuru
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 ---

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix flow control initial state

2020-02-05 Thread vattunuru
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

[dpdk-dev] [PATCH] [v1 1/1] examples/kni: fix SIGTERM signal handling

2020-02-04 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: allow vec to process pkts not multiple of 4

2019-12-20 Thread vattunuru
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

[dpdk-dev] [PATCH v14 0/2] kni: support IOVA mode

2019-11-15 Thread vattunuru
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. *

[dpdk-dev] [PATCH v14 1/2] kni: support IOVA mode in kernel module

2019-11-15 Thread vattunuru
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

[dpdk-dev] [PATCH v14 2/2] kni: support IOVA mode

2019-11-15 Thread vattunuru
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

[dpdk-dev] [PATCH v13 1/2] kni: support IOVA mode in kernel module

2019-11-15 Thread vattunuru
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

[dpdk-dev] [PATCH v13 0/2] kni: support IOVA mode

2019-11-15 Thread vattunuru
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

[dpdk-dev] [PATCH v13 2/2] kni: support IOVA mode

2019-11-15 Thread vattunuru
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

[dpdk-dev] [PATCH v12 2/2] kni: add IOVA=VA support in kernel module

2019-11-05 Thread vattunuru
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

[dpdk-dev] [PATCH v12 1/2] kni: add IOVA=VA mode support

2019-11-05 Thread vattunuru
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

[dpdk-dev] [PATCH v12 0/2] add IOVA=VA mode support

2019-11-05 Thread vattunuru
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

[dpdk-dev] [PATCH v2 1/1] net/octeontx2: skip flow control on lbk ports

2019-10-29 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix VF index in VF action

2019-10-29 Thread vattunuru
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(+)

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: skip flow control on lbk ports

2019-10-29 Thread vattunuru
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

[dpdk-dev] [PATCH v11 4/4] kni: add IOVA=VA support in kernel module

2019-10-21 Thread vattunuru
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

[dpdk-dev] [PATCH v11 1/4] mempool: populate mempool with the page sized chunks

2019-10-21 Thread vattunuru
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:

[dpdk-dev] [PATCH v11 3/4] kni: add IOVA=VA support

2019-10-21 Thread vattunuru
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

[dpdk-dev] [PATCH v11 0/4] kni: add IOVA=VA mode support

2019-10-21 Thread vattunuru
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

[dpdk-dev] [PATCH v11 2/4] eal: add legacy kni option

2019-10-21 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] bus/vdev: add get iommu class callback

2019-10-16 Thread vattunuru
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.

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: add multicast filter support

2019-10-15 Thread vattunuru
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

[dpdk-dev] [PATCH v2 3/3] net/octeontx2: add eth dev op callback to get hash index

2019-10-15 Thread vattunuru
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

[dpdk-dev] [PATCH v2 1/3] lib/ethdev: add ethdev op to get hash index

2019-10-15 Thread vattunuru
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

[dpdk-dev] [PATCH v2 2/3] app/test: add hash index verify autotest

2019-10-15 Thread vattunuru
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

[dpdk-dev] [PATCH v2 0/3] add ethdev op to get hash index

2019-10-15 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] bus/pci: probe PCI devices in whitelisted order

2019-09-23 Thread vattunuru
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

[dpdk-dev] [PATCH v3 1/1] app/testpmd: add console cmd to show port supported ptypes

2019-09-18 Thread vattunuru
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

[dpdk-dev] [dpdk-dev PATCH v3 1/1] app/testpmd: add console cmd to show port supported ptypes

2019-09-18 Thread vattunuru
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

[dpdk-dev] [PATCH v1 3/3] net/octeontx2: add eth dev op callback to get hash index

2019-09-13 Thread vattunuru
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

[dpdk-dev] [PATCH v1 2/3] app/test: add hash index verify autotest

2019-09-13 Thread vattunuru
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

[dpdk-dev] [PATCH v1 0/3] add ethdev op to get hash index

2019-09-13 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/3] lib/ethdev: add ethdev op to get hash index

2019-09-13 Thread vattunuru
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

[dpdk-dev] [PATCH v2 1/1] app/testpmd: add console cmd to show port supported ptypes

2019-09-12 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] mempool/octeontx2: remove minimum chunck size limitation

2019-09-10 Thread vattunuru
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 ---

[dpdk-dev] [PATCH v1 1/1] kernel/linux: introduce vfio_pf kernel module

2019-09-06 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] app/testpmd: add function to display port supported ptypes

2019-08-31 Thread vattunuru
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

[dpdk-dev] [PATCH v10 4/5] kni: add IOVA=VA support in KNI module

2019-08-15 Thread vattunuru
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

[dpdk-dev] [PATCH v10 3/5] kni: add app specific mempool create and free routines

2019-08-15 Thread vattunuru
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

[dpdk-dev] [PATCH v10 5/5] kni: modify IOVA mode checks to support VA

2019-08-15 Thread vattunuru
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

[dpdk-dev] [PATCH v10 2/5] kni: add IOVA=VA support in KNI lib

2019-08-15 Thread vattunuru
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

[dpdk-dev] [PATCH v10 1/5] mempool: populate mempool with the page sized chunks

2019-08-15 Thread vattunuru
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:

[dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support

2019-08-15 Thread vattunuru
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

[dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe buffer count

2019-08-05 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix optimal default smq buffer count

2019-08-05 Thread vattunuru
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

[dpdk-dev] [PATCH v3 1/1] common/octeontx2: fix unaligned mbox memory accesses

2019-08-01 Thread vattunuru
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

[dpdk-dev] [dpdk-devPATCH v2 1/1] common/octeontx2: fix unaligned mbox memory accesses

2019-08-01 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] common/octeontx2: fix unaligned mbox memory accesses

2019-08-01 Thread vattunuru
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

[dpdk-dev] [PATCH v9 5/5] kni: modify IOVA mode checks to support VA

2019-07-29 Thread vattunuru
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

[dpdk-dev] [PATCH v9 4/5] kni: add IOVA=VA support in KNI module

2019-07-29 Thread vattunuru
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

[dpdk-dev] [PATCH v9 2/5] kni: add IOVA=VA support in KNI lib

2019-07-29 Thread vattunuru
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

[dpdk-dev] [PATCH v9 3/5] kni: add app specific mempool create & free routine

2019-07-29 Thread vattunuru
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

[dpdk-dev] [PATCH v9 0/5] kni: add IOVA=VA support

2019-07-29 Thread vattunuru
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

[dpdk-dev] [PATCH v9 1/5] mempool: populate mempool with the page sized chunks of memory

2019-07-29 Thread vattunuru
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:

[dpdk-dev] [PATCH v8 5/5] kni: modify IOVA mode checks to support VA

2019-07-22 Thread vattunuru
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

[dpdk-dev] [PATCH v8 2/5] add IOVA -VA support in KNI lib

2019-07-22 Thread vattunuru
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

[dpdk-dev] [PATCH v8 1/5] mempool: populate mempool with page sized chunks of memory

2019-07-22 Thread vattunuru
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:

[dpdk-dev] [PATCH v8 4/5] kni: add IOVA=VA support in KNI module

2019-07-22 Thread vattunuru
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

[dpdk-dev] [PATCH v8 3/5] kni: add app specific mempool create & free routine

2019-07-22 Thread vattunuru
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

[dpdk-dev] [PATCH v8 0/5] kni: add IOVA=VA support

2019-07-22 Thread vattunuru
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

[dpdk-dev] [PATCH v7 3/4] kni: add IOVA=VA support in KNI module

2019-07-17 Thread vattunuru
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

[dpdk-dev] [PATCH v7 2/4] kni: add IOVA = VA support in KNI lib

2019-07-17 Thread vattunuru
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

[dpdk-dev] [PATCH v7 4/4] kni: modify IOVA mode checks to support VA

2019-07-17 Thread vattunuru
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

[dpdk-dev] [PATCH v7 1/4] mempool: modify mempool populate() to skip objects from page boundaries

2019-07-17 Thread vattunuru
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

[dpdk-dev] [PATCH v7 0/4] kni: add IOVA=VA support

2019-07-17 Thread vattunuru
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

[dpdk-dev] [PATCH v3 1/1] app/test: fix --socket-mem option in eal flag autotest

2019-07-11 Thread vattunuru
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

[dpdk-dev] [PATCH v2 1/1] app/test: fix --socket-mem option in eal flag autotest

2019-07-10 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] mempool/octeontx2: fix mempool creation failure

2019-07-07 Thread vattunuru
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

[dpdk-dev] [PATCH v1 1/1] mempool/octeontx2: fix npa pool range errors

2019-07-05 Thread vattunuru
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

[dpdk-dev] [PATCH v6 4/4] kernel/linux/kni: add IOVA support in kni module

2019-06-24 Thread vattunuru
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

[dpdk-dev] [PATCH v6 2/4] lib/kni: add PCI related information

2019-06-24 Thread vattunuru
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 ++

[dpdk-dev] [PATCH v6 3/4] example/kni: add IOVA support for kni application

2019-06-24 Thread vattunuru
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

[dpdk-dev] [PATCH v6 0/4] add IOVA = VA support in KNI

2019-06-24 Thread vattunuru
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

[dpdk-dev] [PATCH v6 1/4] lib/mempool: skip populating mempool objs that falls on page boundaries

2019-06-24 Thread vattunuru
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 +-