freebsd-skq/sys/dev/hyperv/netvsc
Sepherosa Ziehau a97fff1913 hyperv/hn: Fix/enhance receiving path when VF is activated.
- Update hn(4)'s stats properly for non-transparent mode VF.
- Allow BPF tapping to hn(4) for non-transparent mode VF.
- Don't setup mbuf hash, if 'options RSS' is set.
  In Azure, when VF is activated, TCP SYN and SYN|ACK go through hn(4)
  while the rest of segments and ACKs belonging to the same TCP 4-tuple
  go through the VF.  So don't setup mbuf hash, if a VF is activated
  and 'options RSS' is not enabled.  hn(4) and the VF may use neither
  the same RSS hash key nor the same RSS hash function, so the hash
  value for packets belonging to the same flow could be different!
- Disable LRO.
  hn(4) will only receive broadcast packets, multicast packets, TCP
  SYN and SYN|ACK (in Azure), LRO is useless for these packet types.
  For non-transparent, we definitely _cannot_ enable LRO at all, since
  the LRO flush will use hn(4) as the receiving interface; i.e.
  hn_ifp->if_input(hn_ifp, m).

While I'm here, remove unapplied comment and minor style change.

MFC after:	3 days
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D11978
2017-08-14 05:40:52 +00:00
..
hn_nvs.c hyperv/hn: Misaligned chimney sending buffers should not be used 2017-03-01 09:05:12 +00:00
hn_nvs.h hyperv/hn: add the support for VF drivers (SR-IOV) 2017-01-24 09:24:14 +00:00
hn_rndis.c hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init. 2017-04-05 08:25:22 +00:00
hn_rndis.h hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init. 2017-04-05 08:25:22 +00:00
if_hn.c hyperv/hn: Fix/enhance receiving path when VF is activated. 2017-08-14 05:40:52 +00:00
if_hnreg.h hyperv/hn: Implement transparent mode network VF. 2017-08-09 05:59:45 +00:00
if_hnvar.h hyperv/hn: Fix/enhance receiving path when VF is activated. 2017-08-14 05:40:52 +00:00
ndis.h hyperv/hn: Properly configure RSS according to RSS capabilities 2016-10-27 03:43:27 +00:00