diff --git a/kernel-headers/linux/msm_rmnet.h b/kernel-headers/linux/msm_rmnet.h
index af05c51..7e34d6d 100644
--- a/kernel-headers/linux/msm_rmnet.h
+++ b/kernel-headers/linux/msm_rmnet.h
@@ -76,55 +76,65 @@
   RMNET_IOCTL_SET_SLEEP_STATE = 0x0014,
   RMNET_IOCTL_SET_XLAT_DEV_INFO = 0x0015,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  RMNET_IOCTL_EXTENDED_MAX = 0x0016
+  RMNET_IOCTL_DEREGISTER_DEV = 0x0016,
+  RMNET_IOCTL_GET_SG_SUPPORT = 0x0017,
+  RMNET_IOCTL_EXTENDED_MAX = 0x0018
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_FEAT_NOTIFY_MUX_CHANNEL (1 << 0)
 #define RMNET_IOCTL_FEAT_SET_EGRESS_DATA_FORMAT (1 << 1)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_FEAT_SET_INGRESS_DATA_FORMAT (1 << 2)
 #define RMNET_IOCTL_FEAT_SET_AGGREGATION_COUNT (1 << 3)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_FEAT_GET_AGGREGATION_COUNT (1 << 4)
 #define RMNET_IOCTL_FEAT_SET_AGGREGATION_SIZE (1 << 5)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_FEAT_GET_AGGREGATION_SIZE (1 << 6)
 #define RMNET_IOCTL_FEAT_FLOW_CONTROL (1 << 7)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_FEAT_GET_DFLT_CONTROL_CHANNEL (1 << 8)
 #define RMNET_IOCTL_FEAT_GET_HWSW_MAP (1 << 9)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_EGRESS_FORMAT_MAP (1 << 1)
 #define RMNET_IOCTL_EGRESS_FORMAT_AGGREGATION (1 << 2)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_EGRESS_FORMAT_MUXING (1 << 3)
 #define RMNET_IOCTL_EGRESS_FORMAT_CHECKSUM (1 << 4)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_INGRESS_FORMAT_MAP (1 << 1)
 #define RMNET_IOCTL_INGRESS_FORMAT_DEAGGREGATION (1 << 2)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_IOCTL_INGRESS_FORMAT_DEMUXING (1 << 3)
 #define RMNET_IOCTL_INGRESS_FORMAT_CHECKSUM (1 << 4)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define RMNET_IOCTL_INGRESS_FORMAT_AGG_DATA (1 << 5)
 #ifndef IFNAMSIZ
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define IFNAMSIZ 16
 #endif
 struct rmnet_ioctl_extended_s {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   uint32_t extended_ioctl;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   union {
     uint32_t data;
     int8_t if_name[IFNAMSIZ];
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     struct {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t mux_id;
       int8_t vchannel_name[IFNAMSIZ];
     } rmnet_mux_val;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     struct {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint8_t flow_mode;
       uint8_t mux_id;
     } flow_control_prop;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     struct {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t consumer_pipe_num;
       uint32_t producer_pipe_num;
     } ipa_ep_pair;
+    struct {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+      uint32_t __data;
+      uint32_t agg_size;
+      uint32_t agg_count;
+    } ingress_format;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   } u;
 };
@@ -152,3 +162,4 @@
 } __attribute((__packed__));
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif
+
diff --git a/kernel-headers/linux/rmnet_data.h b/kernel-headers/linux/rmnet_data.h
index 01ca6d6..f10a705 100644
--- a/kernel-headers/linux/rmnet_data.h
+++ b/kernel-headers/linux/rmnet_data.h
@@ -24,108 +24,112 @@
 #define RMNET_EGRESS_FORMAT_MAP (1 << 1)
 #define RMNET_EGRESS_FORMAT_AGGREGATION (1 << 2)
 #define RMNET_EGRESS_FORMAT_MUXING (1 << 3)
-#define RMNET_INGRESS_FIX_ETHERNET (1 << 0)
+#define RMNET_EGRESS_FORMAT_MAP_CKSUMV3 (1 << 4)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define RMNET_EGRESS_FORMAT_MAP_CKSUMV4 (1 << 5)
+#define RMNET_INGRESS_FIX_ETHERNET (1 << 0)
 #define RMNET_INGRESS_FORMAT_MAP (1 << 1)
 #define RMNET_INGRESS_FORMAT_DEAGGREGATION (1 << 2)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_INGRESS_FORMAT_DEMUXING (1 << 3)
 #define RMNET_INGRESS_FORMAT_MAP_COMMANDS (1 << 4)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_INGRESS_FORMAT_MAP_CKSUMV3 (1 << 5)
+#define RMNET_INGRESS_FORMAT_MAP_CKSUMV4 (1 << 6)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_NETLINK_PROTO 31
 #define RMNET_MAX_STR_LEN 16
 #define RMNET_NL_DATA_MAX_LEN 64
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_NETLINK_MSG_COMMAND 0
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define RMNET_NETLINK_MSG_RETURNCODE 1
 #define RMNET_NETLINK_MSG_RETURNDATA 2
 struct rmnet_nl_msg_s {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   uint16_t reserved;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   uint16_t message_type;
   uint16_t reserved2 : 14;
   uint16_t crd : 2;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   union {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     uint16_t arg_length;
     uint16_t return_code;
   };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   union {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     uint8_t data[RMNET_NL_DATA_MAX_LEN];
     struct {
       uint8_t dev[RMNET_MAX_STR_LEN];
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t flags;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint16_t agg_size;
       uint16_t agg_count;
       uint8_t tail_spacing;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     } data_format;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     struct {
       uint8_t dev[RMNET_MAX_STR_LEN];
       int32_t ep_id;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint8_t operating_mode;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint8_t next_dev[RMNET_MAX_STR_LEN];
     } local_ep_config;
     struct {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t id;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint8_t vnd_name[RMNET_MAX_STR_LEN];
     } vnd;
     struct {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t id;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
       uint32_t map_flow_id;
       uint32_t tc_flow_id;
     } flow_control;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum rmnet_netlink_message_types_e {
   RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED,
   RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT,
   RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT,
   RMNET_NETLINK_SET_LOGICAL_EP_CONFIG,
   RMNET_NETLINK_UNSET_LOGICAL_EP_CONFIG,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_GET_LOGICAL_EP_CONFIG,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_NEW_VND,
   RMNET_NETLINK_NEW_VND_WITH_PREFIX,
   RMNET_NETLINK_GET_VND_NAME,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_FREE_VND,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_NETLINK_ADD_VND_TC_FLOW,
   RMNET_NETLINK_DEL_VND_TC_FLOW
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum rmnet_config_endpoint_modes_e {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_EPMODE_NONE,
   RMNET_EPMODE_VND,
   RMNET_EPMODE_BRIDGE,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_EPMODE_LENGTH
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum rmnet_config_return_codes_e {
   RMNET_CONFIG_OK,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_CONFIG_UNKNOWN_MESSAGE,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_CONFIG_UNKNOWN_ERROR,
   RMNET_CONFIG_NOMEM,
   RMNET_CONFIG_DEVICE_IN_USE,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_CONFIG_INVALID_REQUEST,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_CONFIG_NO_SUCH_DEVICE,
   RMNET_CONFIG_BAD_ARGUMENTS,
   RMNET_CONFIG_BAD_EGRESS_DEVICE,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   RMNET_CONFIG_TC_HANDLE_FULL
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #endif
diff --git a/original-kernel-headers/linux/msm_rmnet.h b/original-kernel-headers/linux/msm_rmnet.h
index 6004cc2..4892602 100644
--- a/original-kernel-headers/linux/msm_rmnet.h
+++ b/original-kernel-headers/linux/msm_rmnet.h
@@ -58,7 +58,9 @@
 	RMNET_IOCTL_GET_SUPPORTED_QOS_MODES    = 0x0013,   /* Get QoS modes   */
 	RMNET_IOCTL_SET_SLEEP_STATE            = 0x0014,   /* Set sleep state */
 	RMNET_IOCTL_SET_XLAT_DEV_INFO          = 0x0015,   /* xlat dev name   */
-	RMNET_IOCTL_EXTENDED_MAX               = 0x0016
+	RMNET_IOCTL_DEREGISTER_DEV             = 0x0016,   /* Dereg a net dev */
+	RMNET_IOCTL_GET_SG_SUPPORT             = 0x0017,   /* Query sg support*/
+	RMNET_IOCTL_EXTENDED_MAX               = 0x0018
 };
 
 /* Return values for the RMNET_IOCTL_GET_SUPPORTED_FEATURES IOCTL */
@@ -84,6 +86,7 @@
 #define RMNET_IOCTL_INGRESS_FORMAT_DEAGGREGATION       (1<<2)
 #define RMNET_IOCTL_INGRESS_FORMAT_DEMUXING            (1<<3)
 #define RMNET_IOCTL_INGRESS_FORMAT_CHECKSUM            (1<<4)
+#define RMNET_IOCTL_INGRESS_FORMAT_AGG_DATA            (1<<5)
 
 /* User space may not have this defined. */
 #ifndef IFNAMSIZ
@@ -117,6 +120,12 @@
 			uint32_t   consumer_pipe_num;
 			uint32_t   producer_pipe_num;
 		} ipa_ep_pair;
+
+		struct {
+			uint32_t __data; /* Placeholder for legacy data*/
+			uint32_t agg_size;
+			uint32_t agg_count;
+		} ingress_format;
 	} u;
 };
 
diff --git a/original-kernel-headers/linux/rmnet_data.h b/original-kernel-headers/linux/rmnet_data.h
index f3b4f10..6465e52 100644
--- a/original-kernel-headers/linux/rmnet_data.h
+++ b/original-kernel-headers/linux/rmnet_data.h
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -23,6 +23,8 @@
 #define RMNET_EGRESS_FORMAT_MAP                 (1<<1)
 #define RMNET_EGRESS_FORMAT_AGGREGATION         (1<<2)
 #define RMNET_EGRESS_FORMAT_MUXING              (1<<3)
+#define RMNET_EGRESS_FORMAT_MAP_CKSUMV3         (1<<4)
+#define RMNET_EGRESS_FORMAT_MAP_CKSUMV4         (1<<5)
 
 #define RMNET_INGRESS_FIX_ETHERNET              (1<<0)
 #define RMNET_INGRESS_FORMAT_MAP                (1<<1)
@@ -30,6 +32,7 @@
 #define RMNET_INGRESS_FORMAT_DEMUXING           (1<<3)
 #define RMNET_INGRESS_FORMAT_MAP_COMMANDS       (1<<4)
 #define RMNET_INGRESS_FORMAT_MAP_CKSUMV3        (1<<5)
+#define RMNET_INGRESS_FORMAT_MAP_CKSUMV4        (1<<6)
 
 /* ***************** Netlink API ******************************************** */
 #define RMNET_NETLINK_PROTO 31
