BlueField-2 DPU supports high-speed RegEx acceleration. This allows the host to offload multiple RegEx jobs to the DPU. 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 more details on RegEx Acceleration, please refer to DOCA documentation which can be accessed through this webpage.
For a RegEx compiler, please contact NVIDIA Support.
Configuring RegEx Acceleration on BlueField-2
The RegEx application can run either from the host or Arm side. Before running the application, users 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