I have a XEN SLES 11 SP4 host running 4 virtual machines.
One virtual machine is SLES 11, the other 3 are Windows 10.

Everything works except I can't see non IP (UDP/TCP/ARP etc) packets in the Windows machines when using the RTL8139 virtual network interface.
(I'm trying run an application which uses the BACnet building protocol)

If I run Wireshark on the host (excluding IP related packets), I see the missing BACnet packets.
If I run Wireshark on the guest(excluding IP related packets) , I see nothing.

If I shut down and switch the Windows machine to the E1000 virtual network interface, everything starts up and works 100% correctly - all packets are visible on the guest machine.
Unfortunately, If I reboot the Windows machine, Windows 10 hangs with a blank screen a few seconds into the startup.
No matter how often I restart it hangs.

If I then switch back to the RTL8139 virtual network interface, Windows 10 starts up again.

None of the other virtual network interfaces have any support in Windows 10.

The RTL8139 problem also exists in Windows 8 guest machines, although the E1000 driver appears to run correctly.
However, I need to run Windows 10 in this case.

I've also tried this in SLES 12 and exactly the same thing happens.

To summarize, the RTL8139 doesn't pass all packets into the virtual machine, and the E1000 hangs Windows 10 on startup (the second time it starts).

Does any one have any suggestions?