Creating a virtual switch for Hyper-v stops host from receiving udp multicast
<p>Basically my issue is that I am unable to receive multicast udp packets (streaming video) once I have created an external virtual switch via the Hyper-V manager which is required to provide the guest OS full networking.</p>

<p>If I use VLC and play an RTSP url on my host without a virtual switch then it plays without any issues, once I add the virtual switch I am no longer able to play the multicast RTSP url.</p>

<p><b>Back Story</b></p>

<p>I have created a couple docker services to run in an Ubuntu 16.04 VM environment on my Windows 10 Pro host via Hyper-v. My docker service needs to be able to receive multicast udp packets which I have successfully done using VirtualBox... but I want to use Hyper-v. Once I solve why my host isn't able to receive multicast then I'll move along and test to make sure my container is able to as well.</p>

<p><b>Info</b></p>

<p>When executing this show joins command while attempting to stream the multicast RTSP url then the 239.168.1.75 address on the virtual switch increases its reference count properly, then after VLC is closed, the reference count goes back down, so it looks like it's joining/leaving the group correctly.</p>

<p>netsh interface ip show joins</p>

<pre><code>Interface 1: Loopback Pseudo-Interface 1

Scope       References  Last  Address
----------  ----------  ----  ---------------------------------
0                    0  Yes   224.0.0.251
0                    4  Yes   239.255.255.250

Interface 28: vEthernet (New Virtual Switch)

Scope       References  Last  Address
----------  ----------  ----  ---------------------------------
0                    0  Yes   224.0.0.1
0                    3  Yes   224.0.0.251
0                    1  Yes   224.0.0.252
0                    0  Yes   239.168.1.75
0                    4  Yes   239.255.255.250

Interface 15: Local Area Connection* 5

Scope       References  Last  Address
----------  ----------  ----  ---------------------------------
0                    0  Yes   224.0.0.1
</code></pre>

<p>route print</p>

<pre><code>===========================================================================
Interface List
 15...00 ff 10 60 55 c4 ......Juniper Network Connect Virtual Adapter
 28...9c eb e8 35 1a 1e ......Hyper-V Virtual Ethernet Adapter
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.138     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      192.168.1.0    255.255.255.0         On-link     192.168.1.138    281
    192.168.1.138  255.255.255.255         On-link     192.168.1.138    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.138    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link     192.168.1.138    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link     192.168.1.138    281
===========================================================================
Persistent Routes:
  None
</code></pre>

<p>Igmpquery (<a href="https://code.google.com/archive/p/igmpquery" rel="nofollow">https://code.google.com/archive/p/igmpquery</a>)</p>

<p>When using this tool I am able to query the network and get responses when the virtual switch is removed, but once it's added again, it fails.</p>

<p>With Virtual Switch</p>

<pre><code>IGMP query generator V1.4
    Project web site: http://code.google.com/p/igmpquery/
    Requires WinPcap

\Device\NPF_{807EAC56-4C04-424D-9DDE-4411FB900E3C}
    Description: Juniper Network Connect Virtual Adapter

    Address Family Name: AF_INET
    Address: 0.0.0.0
    Netmask: 255.0.0.0
    Broadcast Address: 0.0.0.0
IGMPv2 general query 0.0.0.0 -&gt; 224.0.0.1

listening for responses ...


\Device\NPF_{27895664-EDF7-44E0-9753-E549EDCAD6E7}
    Description: Realtek USB NIC
</code></pre>

<p>No Virtual Switch</p>

<pre><code>IGMP query generator V1.4
    Project web site: http://code.google.com/p/igmpquery/
    Requires WinPcap

\Device\NPF_{807EAC56-4C04-424D-9DDE-4411FB900E3C}
    Description: Juniper Network Connect Virtual Adapter

    Address Family Name: AF_INET
    Address: 0.0.0.0
    Netmask: 255.0.0.0
    Broadcast Address: 0.0.0.0
IGMPv2 general query 0.0.0.0 -&gt; 224.0.0.1

listening for responses ...


\Device\NPF_{27895664-EDF7-44E0-9753-E549EDCAD6E7}
    Description: Realtek USB NIC

    Address Family Name: AF_INET
    Address: 192.168.1.138
    Netmask: 255.255.255.0
    Broadcast Address: 0.0.0.0
IGMPv2 general query 192.168.1.138 -&gt; 224.0.0.1

listening for responses ...
15:44:06.551   192.168.1.85      -&gt;   224.0.0.252       IGMP Rpt 224.0.0.252
15:44:06.593   192.168.1.71      -&gt;   224.0.0.251       IGMP Rpt 224.0.0.251
15:44:06.624   192.168.1.79      -&gt;   224.0.0.252       IGMP Rpt 224.0.0.252
15:44:06.828   192.168.1.89      -&gt;239.255.255.250       IGMP Rpt 239.255.255.250
</code></pre>