gso: Fix the l3 packet gso segment size

Type: fix
Ticket: VPP-1721

Change-Id: I7a5d4f1440048ddc9f599ac11d06e5a7df20440e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index b7575af..e637bd0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -173,6 +173,11 @@
 F:	src/vnet/lisp-cp/
 F:	src/vnet/lisp-gpe/
 
+VNET GSO
+I: gso
+M: Andrew Yourtchenko <ayourtch@gmail.com>
+F: src/vnet/interface_output.c
+
 Plugin - MAP
 I:	map
 Y:	src/plugins/map/FEATURE.yaml
diff --git a/src/vnet/buffer.h b/src/vnet/buffer.h
index 97dd31c..5a3bc3f 100644
--- a/src/vnet/buffer.h
+++ b/src/vnet/buffer.h
@@ -427,7 +427,10 @@
 	       STRUCT_SIZE_OF (vlib_buffer_t, opaque2),
 	       "VNET buffer opaque2 meta-data too large for vlib_buffer");
 
-#define gso_mtu_sz(b) (vnet_buffer2(b)->gso_size + vnet_buffer2(b)->gso_l4_hdr_sz + vnet_buffer(b)->l4_hdr_offset)
+#define gso_mtu_sz(b) (vnet_buffer2(b)->gso_size + \
+                       vnet_buffer2(b)->gso_l4_hdr_sz + \
+                       vnet_buffer(b)->l4_hdr_offset - \
+                       vnet_buffer (b)->l3_hdr_offset)
 
 
 format_function_t format_vnet_buffer;