summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
45 hourseventdev: add new software event timer adapterHEADmasterErik Gabriel Carrillo
This patch introduces a new version of the event timer adapter software PMD. In the original design, timer event producer lcores in the primary and secondary processes enqueued event timers into a ring, and a service core in the primary process dequeued them and processed them further. To improve performance, this version does away with the ring and lets lcores insert timers directly into timer skiplist data structures; the service core directly accesses the lists as well, when looking for timers that have expired. To compare the burst and non-burst performance of the original and new versions of the software event timer adapter, I ran the following commands: $ sudo ./build/app/dpdk-test-eventdev -c 0xFFE -s 0xC --vdev=event_sw0 \ -- --test=perf_queue --plcores=4,5,6 --wlcore=7,8,9 --stlist=p \ --prod_type_timerdev --worker_deq_depth=32 $ sudo ./build/app/dpdk-test-eventdev -c 0xFFE -s 0xC --vdev=event_sw0 \ -- --test=perf_queue --plcores=4,5,6 --wlcore=7,8,9 --stlist=p \ --prod_type_timerdev_burst --worker_deq_depth=32 With the new version, I see a 151% improvement in throughput for the non-burst case, and a 270% improvement in throughput for the burst case. I also see a 53% improvement in arm latency in the non-burst case and a 65% improvement in arm latency in the burst case. Note: To perform the test, I commented out a check in the original version that checks the adapter tick interval against a minimum value. Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
11 dayseventdev: optimize Rx adapter event enqueueNikhil Rao
Setup event when the Rx queue is added to the adapter in place of generating the event when it is being enqueued to the event device. Signed-off-by: Nikhil Rao <nikhil.rao@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
11 dayseventdev: remove event copy in Rx adapterNikhil Rao
Remove copy from temporary event array on the stack to the enqueue buffer event array entry, instead initialize event in the enqueue buffer event array entry. Suggested-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
13 daysbus/pci: fix TOCTOU for sysfs accessStephen Hemminger
Using access followed by open causes a static analysis warning about Time of check versus Time of use. Also, access() and open() have different UID permission checks. This is not a serious problem; but easy to fix by using errno instead. Coverity issue: 300870 Fixes: 4a928ef9f611 ("bus/pci: enable write combining during mapping") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: David Marchand <david.marchand@redhat.com>
13 daysnet/bnxt: fix build with some compilersAjit Khaparde
The driver was defining its own version of roundup which was conflicting with another version defined elsewhere. Change the local definition of roundup to avoid compilation errors. Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
13 daysnet/mlx5: fix master device Netlink socket sharingViacheslav Ovsiienko
There is the patch [1] that uses master device Netlink socket to retrieve master device link settings. This is not thread safe because this resource may be in use by other call to the master device itself. Using the same Netlink socket concurrently from the multiple threads causes Netlink requests malfunction and must be eliminated. The patch replaces master Netlink socket with the socket from representor device. [1] http://patches.dpdk.org/patch/53120/ Fixes: 0333b2f584d9 ("net/mlx5: inherit master link settings for representors") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: recover secondary process Tx errorsMatan Azrad
The SQ errors recovery mechanism in the PMD invokes a Verbs functions to modify the RQ states in order to reset the SQ and to reactivate it. These Verbs functions are not allowed to be invoked from a secondary process, hence the PMD skips the recovery when the error is captured by secondary processes queues. Using the DPDK IPC mechanism the secondary process can request Verbs queues state modifications to be done synchronically by the primary process. Add support for secondary process Tx errors recovery. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: recover secondary process Rx errorsMatan Azrad
The RQ errors recovery mechanism in the PMD invokes a Verbs functions to modify the RQ states in order to reset the RQ and to reactivate it. These Verbs functions are not allowed to be invoked from a secondary process, hence the PMD skips the recovery when the error is captured by secondary processes queues. Using the DPDK IPC mechanism the secondary process can request Verbs queues state modifications to be done synchronically by the primary process. Add support for secondary process Rx errors recovery. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: handle Tx completion with errorMatan Azrad
When WQEs are posted to the HW to send packets, the PMD may get a completion report with error from the HW, aka error CQE which is associated to a bad WQE. The error reason may be bad address, wrong lkey, bad sizes, etc. that can wrongly be configured by the PMD or by the user. Checking all the optional mistakes to prevent error CQEs doesn't make sense due to performance impacts and huge complexity. The error CQEs change the SQ state to error state what causes all the next posted WQEs to be completed with CQE flush error forever. Currently, the PMD doesn't handle Tx error CQEs and even may crashed when one of them appears. Extend the Tx data-path to detect these error CQEs, to report them by the statistics error counters, to recover the SQ by moving the state to ready again and adjusting the management variables appropriately. Sometimes the error CQE root cause is very hard to debug and even may be related to some corner cases which are not reproducible easily, hence a dump file with debug information will be created for the first number of error CQEs, this number can be configured by the PMD probe parameters. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: extend Rx completion with error handlingMatan Azrad
When WQEs are posted to the HW to receive packets, the PMD may receive a completion report with error from the HW, aka error CQE which is associated to a bad WQE. The error reason may be bad address, wrong lkey, small buffer size, etc. that can wrongly be configured by the PMD or by the user. Checking all the optional mistakes to prevent error CQEs doesn't make sense due to performance impacts, moreover, some error CQEs can be triggered because of the packets coming from the wire when the DPDK application has no any control. Most of the error CQE types change the RQ state to error state what causes all the next received packets to be dropped by the HW and to be completed with CQE flush error forever. The current solution detects these error CQEs and even reports the errors to the user by the statistics error counters but without recovery, so if the RQ inserted to the error state it never moves to ready state again and all the next packets ever will be dropped. Extend the error CQEs handling for recovery by moving the state to ready again, and rearranging all the RQ WQEs and the management variables appropriately. Sometimes the error CQE root cause is very hard to debug and even may be related to some corner cases which are not reproducible easily, hence a dump file with debug information will be created for the first number of error CQEs, this number can be configured by the PMD probe parameters. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: separate Rx queue initializationMatan Azrad
Move the RQ WQEs initialization code to separate function as an arrangement to CQE error recovering for code reuse. CC: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: mitigate Rx doorbell memory barrierMatan Azrad
The RQ WQEs must be written in the memory before the HW gets the RQ doorbell, hence a memory barrier should be triggered after the WQEs writing and before the doorbell writing. The current code used rte_wmb barrier which ensures that all the memory stores were done while it is enough to use rte_cio_wmb barrier for the local memory stores because the WQEs are in local memory. CC: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: fix device arguments error detectionMatan Azrad
When bad device arguments are added to the DPDK command line, the PMD ignores all the command line arguments specified by the user and uses the default values instead. This behavior doesn't make sense because the user intention is to force some device parameters and expects to get an error in case of problematic issues with the arguments. Stop probing and report an error in case of problematic command line arguments. Fixes: e72dd09b614e ("net/mlx5: add support for configuration through kvargs") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: add log file procedure for debug dataMatan Azrad
Add a global function in the PMD which dumps debug information to specific file. The data can be printed in hexadecimal format or as regular string. The number of debug files per PMD entity should be limited by a new PMD probe parameter called max_dump_files_num. The files will be created in the /var/log directory or in the current directory. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/mlx5: remove Rx queues indexes correlationMatan Azrad
There is a full correlation between the CQE indexes to the WQE indexes in the vectorized Rx queues management. When the RQ is inserted to the reset state, the correlation may break because the HW starts the RQ polling from index 0 while the CQ polling continues regularly. As an arrangement to CQE errors handling, when the RQ can be reset, the correlation dependence should be removed from all the Rx queues index managements. Remove the aforementioned dependence from the vectorized Rx burst functions. Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
13 daysnet/ixgbevf: add full link status check optionHaiyue Wang
To get the VF's link status by calling 'rte_eth_link_get_nowait()', the VF not only check PF's physical link status, but also check the mailbox running status. And mailbox checking will generate mailbox interrupt in PF, it will be worse if many VFs are running in the system, the PF will have to handle many interrrupts. Normally, checking the PF's physical link status is enough for nowait. For different scenarios, adding an 'pflink_fullchk' option to control whether to check the link fully or not. Fixes: 91546fb62e67 ("net/ixgbevf: fix link state") Cc: stable@dpdk.org Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Scott Daniels <daniels@research.att.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
13 daysnet/bnxt: fix icc buildNaresh Kumar PBS
Address build errors reported by intel compiler while compiling on Windows. Instead of typeof() using the actual type in ALLOW_FUNC Cc: stable@dpdk.org Signed-off-by: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
13 daysnet/bnxt: fix interrupt vector initializationNaresh Kumar PBS
Initialize the vector array when it is valid, thereby preventing a case were it may be accessed when the array is unallocated Fixes: 1fe427fd08ee ("net/bnxt: support enable/disable interrupt") Cc: stable@dpdk.org Signed-off-by: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
13 daysnet/bnxt: fix xstatsKalesh AP
If the HWRM_PORT_QSTATS_EXT fails to initialize fw_rx_port_stats_ext_size or fw_tx_port_stats_ext_size, the driver can end up passing junk statistics to the application. Instead of relying on the application to initialize the xstats buffer before calling the xstats_get dev_op, memset xstats with zeros to avoid returning or displaying incorrect statistics. Also fixed the buffer starting offset. Fixes: f55e12f33416 ("net/bnxt: support extended port counters") Cc: stable@dpdk.org Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
13 daysnet/bnxt: use configured MTU during loadSomnath Kotur
The MTU value of a port can be (re)configured out-of-band. FW will be returning this configured MTU as part of func_qcfg cmd. Driver to use this value during load time. Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
13 daysnet/bnxt: check for null completion ring doorbellSomnath Kotur
It is observed that sometimes during init, the bnxt_int_handler() gets invoked while the cpr->cp_db.doorbell is not yet initialized. Check for the same and return. Fixes: f7ecea911ec5 ("net/bnxt: fix interrupt handler") Cc: stable@dpdk.org Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
13 daysnet/bnxt: support redirecting tunnel packets to VFSomnath Kotur
Add code to redirect GRE, NVGRE and VXLAN tunnel packets to the specified VF. Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
13 daysnet/enic: remove flow locksJohn Daley
There is no requirement for thread safety in the flow PMD code and no need for the locks. Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled") Cc: stable@dpdk.org Signed-off-by: John Daley <johndale@cisco.com> Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
13 daysnet/enic: remove flow count action supportJohn Daley
The firmware in 1400 series VIC adapters which would support COUNT flow action was postponed and reworked. The capability will be re-added in a future release when the firmware is available. This reverts the following commits. commit 86df6c4e2fce ("net/enic: support flow counter action") commit 1b4ce87dc5e6 ("net/enic: fix counter action") Cc: stable@dpdk.org Signed-off-by: John Daley <johndale@cisco.com> Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
13 daysnet/enic: report speed capabilitiesHyong Youb Kim
Available link speeds are based on VIC adapter model, which is encoded in PCI subsystem device ID. Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: John Daley <johndale@cisco.com>
13 daysnet/enic: set min and max MTUHyong Youb Kim
These values correspond to those used in the MTU handler (enic_set_mtu). Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: John Daley <johndale@cisco.com>
13 daysnet/sfc: support Rx interrupts for ef10 datapathGeorgiy Levashov
Similar to support for efx datapath, Rx interrupt disabling just avoids rearming the next time. Signed-off-by: Georgiy Levashov <georgiy.levashov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
13 daysnet/sfc: support Rx interrupts for efx datapathGeorgiy Levashov
When Rx interrupts are disabled, we simply disable rearm when the interrupt fires the next time. So, the next packet will trigger interrupt (if it is not happened yet after previous Rx burst processing). Signed-off-by: Georgiy Levashov <georgiy.levashov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
13 daysnet/vmxnet3: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: baf3bbae5556 ("net/vmxnet3: add Tx preparation") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Yong Wang <yongwang@vmware.com>
13 daysnet/qede: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 29540be7efce ("net/qede: support LRO/TSO offloads") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/ixgbe: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 7829b8d52be0 ("net/ixgbe: add Tx preparation") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/ice: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 17c7d0f9d6a4 ("net/ice: support basic Rx/Tx") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/iavf: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/i40e: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation") Fixes: bfeed0262b0c ("net/i40e: check illegal packets") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/fm10k: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 9b134aa39716 ("net/fm10k: add Tx preparation") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Xiao Wang <xiao.w.wang@intel.com>
13 daysnet/enic: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 1e81dbb5321b ("net/enic: add Tx prepare handler") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/e1000: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 2b76648872c9 ("net/e1000: add Tx preparation") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/atlantic: fix Tx prepare to set positive rte_errnoAndrew Rybchenko
Fixes: 2b1472d7150c ("net/atlantic: implement Tx path") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysethdev: fix Tx prepare documentation to use positive errnoAndrew Rybchenko
Tx prepare documentation was incorrectly suggesting to use negative rte_errno. Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation") Fixes: 439a90b5f2a7 ("ethdev: reorder inline functions") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysnet/bnx2x: fix supported max Rx/Tx descriptor countShahed Shaikh
Driver does not provide limit on number Rx and Tx descriptors per queue, this may result in application configuring 64k descriptors (default set by rte_eth_dev_info_get()) and further result in issues in PMD and HW flows due to unsupported number. Fixes: 540a211084a7 ("bnx2x: driver core") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
13 daysnet/bnx2x: fix link stateShahed Shaikh
Don't call bnx2x_link_status_update() from bnx2x_link_update(). Actual use case of bnx2x_link_status_update() is to update the link status in shared memory between driver and MFW, and not to get the link status from HW. So ideally, bnx2x_link_status_update() should be called when there is an actual link event or change in link status. Calling bnx2x_link_status_update() from bnx2x_link_update() may corrupt the data of link status in shared memory and result in inconsistent state of link. Fixes: 540a211084a7 ("bnx2x: driver core") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
13 daysnet/bnx2x: fix memory leakShahed Shaikh
bnx2x_free_hsi_mem() does not free DMA memory. Fix it here. Fixes: 540a211084a7 ("bnx2x: driver core") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
13 daysnet/bnx2x: fix interrupt floodShahed Shaikh
PMD sets up and clears the slow path interrupt status block in dev_start and dev_stop flow and slow path interrupt status block DMA memory for device is allocated in dev_configure flow. This situation creates a state where, after dev_stop is called, and if there is a slow path interrupt from device, PMD sees the old value of status block consumer in dev_start flow, since DMA memory for status block belongs to old configuration and dev_start will result in new slow path interrupt status block configuration. And since PMD fails to ack new slow path interrupt with correct status block consumer value, device continues to trigger interrupt causing an interrupt flood. Fix is to create and destroy status block DMA memory in dev_start and dev_stop flow instead of dev_configure and dev_close flow. Fixes: 540a211084a7 ("bnx2x: driver core") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
13 daysnet/bnx2x: fix packet dropShahed Shaikh
Patch "8bd31421c593 ("net/bnx2x: fix ramrod timeout")" introduced a regression where sc->scan_fp flags is set for unexpectedly long time. So the slow path completion handler flow is run unnecessarily which walks over receive descriptor ring of fast path and drops the data packets while looking for slow path completion descriptor out of fast path ring. This issue is seen under heavy traffic with link events happening in background. Fixes: 8bd31421c593 ("net/bnx2x: fix ramrod timeout") Cc: stable@dpdk.org Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
13 daysnet/ena: fix assigning NUMA node to IO queueMichal Krawczyk
Previous solution was using memzones in invalid way in hope to assign IO queue to the appropriate NUMA zone. The right way is to use socket_id from the rx/tx queue setup function and then pass it to the IO queue. Fixes: 3d3edc265fc8 ("net/ena: make coherent memory allocation NUMA-aware") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk <mk@semihalf.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
13 daysapp/testpmd: create mbuf based on max supported segmentsSunil Kumar Kori
Configuring buffer size based following parameters: - max-pkt-len - max supported segments per MTU Buffer size are configured as given below: - If platform supports infinite segments per packet then default buffer size is used. - If platform supports nb_mtu_seg_max segments then buffer size is configured as (max-pkt-len / nb_mtu_seg_max) + headroom Signed-off-by: Sunil Kumar Kori <skori@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
13 daysethdev: add default value for max segmentSunil Kumar Kori
rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max to provide maximum number of supported segments for a given platform. Defining UINT16_MAX as default value of above mentioned variables to expose support of infinite/maximum segments. Based on above values, application can decide best size for buffers while creating mbuf pool. Signed-off-by: Sunil Kumar Kori <skori@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
13 daysnet/af_xdp: remove unused struct memberXiaolong Ye
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD") Cc: stable@dpdk.org Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
13 daysnet/af_xdp: support multi-queueXiaolong Ye
This patch adds two parameters `start_queue` and `queue_count` to specify the range of netdev queues used by AF_XDP pmd. Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
13 daysnet/af_xdp: enable zero copy by external mbufXiaolong Ye
Implement zero copy of af_xdp pmd through mbuf's external memory mechanism to achieve high performance. This patch also provides a new parameter "pmd_zero_copy" for user, so they can choose to enable zero copy of af_xdp pmd or not. To be clear, "zero copy" here is different from the "zero copy mode" of AF_XDP, it is about zero copy between af_xdp umem and mbuf used in dpdk application. Suggested-by: Vipin Varghese <vipin.varghese@intel.com> Suggested-by: Tummala Sivaprasad <sivaprasad.tummala@intel.com> Suggested-by: Olivier Matz <olivier.matz@6wind.com> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>