shortcut-fe: include NAT information and sync reason in sync message

Some connection manager need these information to manipulate connection,
so add them in stats sync message

Change-Id: I59ea72a44d64159aba96b78f779ab7886ee55681
Signed-off-by: Xiaoping Fan <xfan@codeaurora.org>
diff --git a/shortcut-fe/sfe_cm.h b/shortcut-fe/sfe_cm.h
index 031af98..664b1e3 100644
--- a/shortcut-fe/sfe_cm.h
+++ b/shortcut-fe/sfe_cm.h
@@ -68,6 +68,10 @@
 	uint32_t original_accel;
 	uint32_t reply_accel;
 #endif
+	uint32_t src_priority;
+	uint32_t dest_priority;
+	uint32_t src_dscp;
+	uint32_t dest_dscp;
 };
 
 /*
@@ -81,6 +85,12 @@
 	__be16 dest_port;
 };
 
+typedef enum sfe_sync_reason {
+	SFE_SYNC_REASON_STATS,	/* Sync is to synchronize stats */
+	SFE_SYNC_REASON_FLUSH,	/* Sync is to flush a entry */
+	SFE_SYNC_REASON_DESTROY	/* Sync is to destroy a entry(requested by connection manager) */
+} sfe_sync_reason_t;
+
 /*
  * Structure used to sync connection stats/state back within the system.
  *
@@ -93,9 +103,13 @@
 	int is_v6;			/* Is it for ipv6? */
 	int protocol;			/* IP protocol number (IPPROTO_...) */
 	sfe_ip_addr_t src_ip;		/* Non-NAT source address, i.e. the creator of the connection */
+	sfe_ip_addr_t src_ip_xlate;	/* NATed source address */
 	__be16 src_port;		/* Non-NAT source port */
-	sfe_ip_addr_t dest_ip;	/* Non-NAT destination address, i.e. to whom the connection was created */
+	__be16 src_port_xlate;		/* NATed source port */
+	sfe_ip_addr_t dest_ip;		/* Non-NAT destination address, i.e. to whom the connection was created */
+	sfe_ip_addr_t dest_ip_xlate;	/* NATed destination address */
 	__be16 dest_port;		/* Non-NAT destination port */
+	__be16 dest_port_xlate;		/* NATed destination port */
 	uint32_t src_td_max_window;
 	uint32_t src_td_end;
 	uint32_t src_td_max_end;
@@ -110,6 +124,7 @@
 	uint64_t dest_byte_count;
 	uint32_t dest_new_packet_count;
 	uint32_t dest_new_byte_count;
+	uint32_t reason;		/* reason for stats sync message, i.e. destroy, flush, period sync */
 	uint64_t delta_jiffies;		/* Time to be added to the current timeout to keep the connection alive */
 };