On Thu, Oct 29, 2015 at 11:45:35PM -0400, Larry Baird wrote:
> I have two identical setups on Hyper-V 2012R2 and Hype-V windows 10.
> 
> I have two FreeBSD 10.2-RELEASE-p6 Hyper-V hosts in both cases.
> The first FreeBSD host (client) has one NIC configured to use a Private
> network. The second (gateway) has two nics. One private and one external. 
> The gateway box has the gateway_enable option set to YES in its rc.conf.
> The boxes otherwize of very vanilla. 
> 
> I get failures forwarding thru gateway on both versions of Hyper-V. But
> they fail in different ways.
> 
> On both configurations, I can ping thru the gateway from the client to reach
> the internet.  
> 
> For the 2012r2 configuration I can do DNS looks. The command
> "host www.google.com 8.8.8.8" works on the client.
> 
> For the Windows 10 configuration the "host" command fails.
> 
> For the 2012r2, "curl http://www.goggle.com"; times out on client.
> 
> Under Windows 10, I can successfuly do curl requests by IP address.
> 
> Using tcpdump on the client for the failure cases, I see bad checksums
> in the responses retunred to the failing commands. I tried turning off
> rxcsum, txcsum, tso4 and tso6 on all interfaces. This did not effect the
> results. 
> 
> Using tcpdup on the gateway on either interface shows valid checksums.
> They are getting corrupted after they leave FreeBSD on their way to the
> client. I assume this means this is an internal HyperV issue. I wonder if
> there anything the FreeBSD hn(4) driver can do? 

The patch below fixes the issue for me.

--- hv_netvsc_drv_freebsd.c.orig        2015-11-03 15:12:27.242856000 -0500
+++ hv_netvsc_drv_freebsd.c     2015-11-03 15:13:20.641513000 -0500
@@ -570,7 +570,8 @@
                            packet->vlan_tci & 0xfff;
                }
 
-               if (0 == m_head->m_pkthdr.csum_flags) {
+               /* Ignore flags for checksum already calculated or valid */
+               if (0 == (m_head->m_pkthdr.csum_flags & 0xffffff)) {
                        goto pre_send;
                }
 

-- 
------------------------------------------------------------------------
Larry Baird
Global Technology Associates, Inc. 1992-2012    | http://www.gta.com
Celebrating Twenty Years of Software Innovation | Orlando, FL
Email: l...@gta.com                             | TEL 407-380-0220
_______________________________________________
freebsd-virtualization@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"

Reply via email to