I'm trying out mutlicast streaming of uncompressed HD and UHD video uisng VMs and SRIOV with an Intel X520-DA2 NIC (82599 Etherent Control VF).
I can send a mutlicast stream from a VM OK and receive a mutlicast stream on a VM using a SRIOV VF. I'm not using VLANs, just separate MAC/IP address on the same LAN.
If I have 2 VMs on the same host, using separate SRIOV VFs from the same Intel NIC, I can see multicast traffic on both VM interfaces (when only 1 VM has joined the stream).
I have tried turning allmutlicast & promisc mode on/off, but it seems to make no difference.
I can see the traffic using the network stats and using tcpdump in the unjoined VM.
Is this a feature of the NIC, or is there a way to stop traffic going to both VFs/VMs.
For the purpose of testing, I'm using KVM (Virtual Machine Manager) on Ubuntu 16.04, my setup is as follows:
$ lsb_release -a
Ubuntu 16.04.3 LTS, xenial
$ uname -a
Linux ap-z420-0 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -nn | grep -i 'Ethernet Controller'
06:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
06:00.1 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
07:10.0 Ethernet controller [0200]: Intel Corporation 82599 Ethernet Controller Virtual Function [8086:10ed] (rev 01)
07:10.1 Ethernet controller [0200]: Intel Corporation 82599 Ethernet Controller Virtual Function [8086:10ed] (rev 01)
07:10.2 Ethernet controller [0200]: Intel Corporation 82599 Ethernet Controller Virtual Function [8086:10ed] (rev 01)
07:10.3 Ethernet controller [0200]: Intel Corporation 82599 Ethernet Controller Virtual Function [8086:10ed] (rev 01)
# modinfo ixgbevf
filename: /lib/modules/4.4.0-104-generic/updates/dkms/ixgbevf.ko
version: 4.2.2
license: GPL
description: Intel(R) 10 Gigabit Virtual Function Network Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 0F89E29947DD944E62FA118
$ ip link show ens3f0
5: ens3f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 90:e2:ba:72:70:e0 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 52:54:00:1d:e1:aa, spoof checking on, link-state auto
vf 1 MAC 52:54:00:1d:e1:ab, spoof checking on, link-state auto
Any suggestions gratefully received.