I’m currently working on an application that processes incoming multicast data and I have a Mellanox ConnectX-3 Ethernet adapter with VMA software package. The data that I work with is source specific and I have to use IP_ADD_SOURCE_MEMBERSHIP setsockopt() (not IP_ADD_MEMBERSHIP as it’s written in the manual) while creating listening sockets. But it looks like VMA doesn’t offload such type of traffic by default (or maybe at all). When I run vma_stats with -v 4 key it doesn’t even show any membershib group that I subscribe to and vma_stats -p indicates that all traffic is routed through the OS.
I checked with the guys at Mellanox and they are telling me that VMA does not support today the “source specific multicast” API (aka IP_ADD_SOURCE_MEMBERSHIP).
As far as I know users could use the more common IP_ADD_ MEMBERSHIP API and filter the extra message in the application.
Keep in mind that in most cases, this IP_ADD_SOURCE_MEMBERSHIP is beneficial when working with IGMPv3. While today VMA officially support IGMPv2.
Last, as you probably know, Mellanox recently released the code of VMA to the open-source. We will continue develop new features (and maybe this one too) and some might be develop for community users.