BlueField-2 DPU supports high-speed RegEx acceleration. This allows the host to offload multiple RegEx jobs to the SmartNIC. This feature can be used from the host or from the Arm side.
An application using this feature typically loads a compiled rule set to the BlueField RegEx engines and sends jobs for processing. For each job, the RegEx engine will return a list of matches (e.g. matching rule, offset, length).
An example and standard API for loading the rules and sending RegEx jobs is available through DPDK.
For a RegEx compiler, please contact Mellanox Support.
Configuring RegEx Acceleration on BlueField-2
The RegEx application can run either from the host or Arm.
Before running application from the host side, user must perform the following:
host$ sudo /etc/init.d/openibd stop bluefield$ echo 1 > /sys/class/net/p0/smart_nic/pf/regex_en bluefield$ cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 400 // make sure to allocate 200 additional hugepages bluefield$ echo 600 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages bluefield$ systemctl start mlx-regex // To verify the service is properly running, use "systemctl status mlx-regex" host$ sudo /etc/init.d/openibd start