summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/netvsc/hv_net_vsc.h
diff options
context:
space:
mode:
authorsephe <sephe@FreeBSD.org>2016-02-19 02:03:14 +0000
committersephe <sephe@FreeBSD.org>2016-02-19 02:03:14 +0000
commit427bb5d10fd29ef038c6a4f6df3160e9c77f1b24 (patch)
tree9dc5d5a4a2fc61ccf8579a3b76d30b2b1b3a99cd /sys/dev/hyperv/netvsc/hv_net_vsc.h
parentbdaba1774dae36cadfb71e549a51d42677155f62 (diff)
downloadFreeBSD-src-427bb5d10fd29ef038c6a4f6df3160e9c77f1b24.zip
FreeBSD-src-427bb5d10fd29ef038c6a4f6df3160e9c77f1b24.tar.gz
MFC [Hyper-V]: r293719-r293722, r293869-r293871, r293873-r293875, r293877
r293719 hyperv/hn: Implement LRO r293720 hyperv/hn: Implement SIOC[SG]IFMEDIA support r293721 hyperv/hn: Avoid mbuf cluster allocation, if the packet is small. r293722 hyperv/hn: Removed unused netvsc_init() r293869 hyperv/hn: Unbreak LINT-NOIP r293870 hyperv: use x86 generic code to do the hypervisor detection r293871 hyperv: remove unused vmbus definitions r293873 hyperv: implement an event timer r293874 hyperv: add interrupt counters r293875 hyperv: set receive buffer size according to NVSP protocol version r293877 Unbreak `make depend` with sys/modules/hyperv/vmbus after r293870 Approved by: re (glebius), adrian (mentor) Sponsored by: Microsoft OSTC
Diffstat (limited to 'sys/dev/hyperv/netvsc/hv_net_vsc.h')
-rw-r--r--sys/dev/hyperv/netvsc/hv_net_vsc.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/dev/hyperv/netvsc/hv_net_vsc.h b/sys/dev/hyperv/netvsc/hv_net_vsc.h
index 477a296..4e63b94 100644
--- a/sys/dev/hyperv/netvsc/hv_net_vsc.h
+++ b/sys/dev/hyperv/netvsc/hv_net_vsc.h
@@ -44,6 +44,12 @@
#include <sys/malloc.h>
#include <sys/sx.h>
+#include <netinet/in.h>
+#include <netinet/tcp_lro.h>
+
+#include <net/if.h>
+#include <net/if_media.h>
+
#include <dev/hyperv/include/hyperv.h>
MALLOC_DECLARE(M_NETVSC);
@@ -851,7 +857,7 @@ typedef struct nvsp_msg_ {
#define NETVSC_SEND_BUFFER_SIZE (1024*1024*15) /* 15M */
#define NETVSC_SEND_BUFFER_ID 0xface
-
+#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY (1024*1024*15) /* 15MB */
#define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */
#define NETVSC_RECEIVE_BUFFER_ID 0xcafe
@@ -984,6 +990,7 @@ typedef struct {
typedef struct hn_softc {
struct ifnet *hn_ifp;
struct arpcom arpcom;
+ struct ifmedia hn_media;
device_t hn_dev;
uint8_t hn_unit;
int hn_carrier;
@@ -994,6 +1001,18 @@ typedef struct hn_softc {
int temp_unusable;
struct hv_device *hn_dev_obj;
netvsc_dev *net_dev;
+
+ struct lro_ctrl hn_lro;
+ int hn_lro_hiwat;
+
+ /* Trust tcp segments verification on host side */
+ int hn_trust_hosttcp;
+
+ u_long hn_csum_ip;
+ u_long hn_csum_tcp;
+ u_long hn_csum_trusted;
+ u_long hn_lro_tried;
+ u_long hn_small_pkts;
} hn_softc_t;
OpenPOWER on IntegriCloud