1*cf9b3c36SYuval Avnery.. SPDX-License-Identifier: BSD-3-Clause 2*cf9b3c36SYuval Avnery Copyright 2020 Mellanox Technologies, Ltd 3*cf9b3c36SYuval Avnery 4*cf9b3c36SYuval Avnery.. include:: <isonum.txt> 5*cf9b3c36SYuval Avnery 6*cf9b3c36SYuval AvneryMLX5 RegEx driver 7*cf9b3c36SYuval Avnery================= 8*cf9b3c36SYuval Avnery 9*cf9b3c36SYuval AvneryThe MLX5 RegEx (Regular Expression) driver library 10*cf9b3c36SYuval Avnery(**librte_pmd_mlx5_regex**) provides support for **Mellanox BlueField 2** 11*cf9b3c36SYuval Avneryfamilies of 25/50/100/200 Gb/s adapters. 12*cf9b3c36SYuval Avnery 13*cf9b3c36SYuval AvneryDesign 14*cf9b3c36SYuval Avnery------ 15*cf9b3c36SYuval Avnery 16*cf9b3c36SYuval AvneryThis PMD is configuring the RegEx HW engine. 17*cf9b3c36SYuval AvneryFor the PMD to work, the application must supply 18*cf9b3c36SYuval Avnerya precompiled rule file in rof2 format. 19*cf9b3c36SYuval Avnery 20*cf9b3c36SYuval AvneryThe PMD uses libibverbs and libmlx5 to access the device firmware 21*cf9b3c36SYuval Avneryor directly the hardware components. 22*cf9b3c36SYuval AvneryThere are different levels of objects and bypassing abilities 23*cf9b3c36SYuval Avneryto get the best performances: 24*cf9b3c36SYuval Avnery 25*cf9b3c36SYuval Avnery- Verbs is a complete high-level generic API 26*cf9b3c36SYuval Avnery- Direct Verbs is a device-specific API 27*cf9b3c36SYuval Avnery- DevX allows to access firmware objects 28*cf9b3c36SYuval Avnery 29*cf9b3c36SYuval AvneryEnabling librte_pmd_mlx5_regex causes DPDK applications to be linked against 30*cf9b3c36SYuval Avnerylibibverbs. 31*cf9b3c36SYuval Avnery 32*cf9b3c36SYuval AvneryMellanox mlx5 pci device can be probed by number of different pci devices, 33*cf9b3c36SYuval Avneryfor example net / vDPA / RegEx. To select the RegEx PMD ``class=regex`` should 34*cf9b3c36SYuval Avnerybe specified as device parameter. The RegEx device can be probed and used with 35*cf9b3c36SYuval Avneryother Mellanox devices, by adding more options in the class. 36*cf9b3c36SYuval AvneryFor example: ``class=net:regex`` will probe both the net PMD and the RegEx PMD. 37*cf9b3c36SYuval Avnery 38*cf9b3c36SYuval AvnerySupported NICs 39*cf9b3c36SYuval Avnery-------------- 40*cf9b3c36SYuval Avnery 41*cf9b3c36SYuval Avnery* Mellanox\ |reg| BlueField 2 SmartNIC 42*cf9b3c36SYuval Avnery 43*cf9b3c36SYuval AvneryPrerequisites 44*cf9b3c36SYuval Avnery------------- 45*cf9b3c36SYuval Avnery 46*cf9b3c36SYuval Avnery- BlueField 2 running Mellanox supported kernel. 47*cf9b3c36SYuval Avnery- Enable the RegEx capabilities using system call from the BlueField 2. 48*cf9b3c36SYuval Avnery- Official support is not yet released. 49*cf9b3c36SYuval Avnery 50*cf9b3c36SYuval AvneryRun-time configuration 51*cf9b3c36SYuval Avnery~~~~~~~~~~~~~~~~~~~~~~ 52*cf9b3c36SYuval Avnery 53*cf9b3c36SYuval Avnery- **ethtool** operations on related kernel interfaces also affect the PMD. 54