Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1939

RDMA driver RX hash is hardcoded to IPv4

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • None
    • None
    • None
    • None

      As a consequence, IPv6 traffic is not RSS-ed to different queues, resulting on zero speedup from multiple workers (only one is working, others poll empty RX queues).

      Currently, the hashing is governed by flags applied to all RX queues of an interface. As a few of the options are mutually incompatible, just adding IPv6 flags to IPv4 ones does not work [0].

      In order to get better multicore performance for IPv6 (and maybe other supported traffic types, such as IPsec and VXLAN), VPP should allow clients to specify the intended traffic type, maybe as additional field in rdma_create message (resulting is rdma_create_2 as rdma_create is not in-progress).

      Of course, a solution where RDMA driver is able to reasonably hash any traffic type without clients needing to specify it would be even better, but not sure that is possible within rdma_core driver.

      [0] https://gerrit.fd.io/r/c/vpp/+/29465/1/src/plugins/rdma/device.c

            vrpolak Vratko Polak
            vrpolak Vratko Polak
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: