Source specific multicast with VMA


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.

Does anybody know how to work this out?

VMA now supports IGMPv3 and source specific multicast. Supported from VMA 8.1.7

Hi Yairi,

Thank you very much for the info. I didn’t know that VMA goes open-source, that’s a good news!


Hi Bobkov,

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.

The project is available on