/* Max buffer sizes allowed by a host */
 #define NETVSC_RECEIVE_BUFFER_SIZE             (1024 * 1024 * 31) /* 31MB */
 #define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY      (1024 * 1024 * 15) /* 15MB */
-#define NETVSC_SEND_BUFFER_SIZE                        (1024 * 1024 * 15)   /* 15MB */
+#define NETVSC_RECEIVE_BUFFER_DEFAULT          (1024 * 1024 * 16)
+
+#define NETVSC_SEND_BUFFER_SIZE                        (1024 * 1024 * 15)  /* 15MB */
+#define NETVSC_SEND_BUFFER_DEFAULT             (1024 * 1024)
 
 #define NETVSC_INVALID_INDEX                   -1
 
 #define NETVSC_SEND_SECTION_SIZE               6144
 #define NETVSC_RECV_SECTION_SIZE               1728
 
+/* Default size of TX buf: 1MB, RX buf: 16MB */
+#define NETVSC_MIN_TX_SECTIONS 10
+#define NETVSC_DEFAULT_TX      (NETVSC_SEND_BUFFER_DEFAULT \
+                                / NETVSC_SEND_SECTION_SIZE)
+#define NETVSC_MIN_RX_SECTIONS 10
+#define NETVSC_DEFAULT_RX      (NETVSC_RECEIVE_BUFFER_DEFAULT \
+                                / NETVSC_RECV_SECTION_SIZE)
+
 #define NETVSC_RECEIVE_BUFFER_ID               0xcafe
 #define NETVSC_SEND_BUFFER_ID                  0
 
 
 #include "hyperv_net.h"
 
 #define RING_SIZE_MIN          64
-#define NETVSC_MIN_TX_SECTIONS 10
-#define NETVSC_DEFAULT_TX      192     /* ~1M */
-#define NETVSC_MIN_RX_SECTIONS 10      /* ~64K */
-#define NETVSC_DEFAULT_RX      10485   /* Max ~16M */
 
 #define LINKCHANGE_INT (2 * HZ)
 #define VF_TAKEOVER_INT (HZ / 10)