vlib: refactor checksum offload support

Type: refactor

This patch refactors the offload flags in vlib_buffer_t.
There are two main reasons behind this refactoring.
First, offload flags are insufficient to represent outer
and inner headers offloads. Second, room for these flags
in first cacheline of vlib_buffer_t is also limited.

This patch introduces a generic offload flag in first
cacheline. And detailed offload flags in 2nd cacheline
of the structure for performance optimization.

Change-Id: Icc363a142fb9208ec7113ab5bbfc8230181f6004
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/extras/pg/checksum_offload.pg b/extras/pg/checksum_offload.pg
index a2e3205..bfbdad6 100644
--- a/extras/pg/checksum_offload.pg
+++ b/extras/pg/checksum_offload.pg
@@ -15,7 +15,8 @@
     interface loop0
     tx-interface loop1
     node loop1-output
-    buffer-flags ip4 offload-ip-cksum offload-udp-cksum
+    buffer-flags ip4 offload
+    buffer-offload-flags offload-ip-cksum offload-udp-cksum
     data { IP4: 1.2.3 -> 4.5.6
            UDP: 11.22.33.44 -> 11.22.34.44
                 ttl 2 checksum 13