[MAJOR] session-counters: split FE and BE track counters

Having a single tracking pointer for both frontend and backend counters
does not work. Instead let's have one for each. The keyword has changed
to "track-be-counters" and "track-fe-counters", and the ACL "trk_*"
changed to "trkfe_*" and "trkbe_*".
diff --git a/include/types/proto_tcp.h b/include/types/proto_tcp.h
index a7ca56a..bee52aa 100644
--- a/include/types/proto_tcp.h
+++ b/include/types/proto_tcp.h
@@ -32,7 +32,8 @@
 enum {
 	TCP_ACT_ACCEPT = 1,
 	TCP_ACT_REJECT = 2,
-	TCP_ACT_TRK_CTR = 3,
+	TCP_ACT_TRK_FE_CTR = 3,
+	TCP_ACT_TRK_BE_CTR = 4,
 };
 
 struct tcp_rule {
diff --git a/include/types/session.h b/include/types/session.h
index 4a1dc6e..7b6cf4f 100644
--- a/include/types/session.h
+++ b/include/types/session.h
@@ -184,8 +184,10 @@
 		int flags;
 	} store[8];				/* tracked stickiness values to store */
 	int store_count;
-	struct stksess *tracked_counters;       /* counters currently being tracked by this session */
-	struct stktable *tracked_table;         /* table the counters above belong to (undefined if counters are null) */
+	struct stksess *fe_tracked_counters;    /* counters currently being tracked by this session (frontend) */
+	struct stktable *fe_tracked_table;      /* table the counters above belong to (undefined if counters are null) */
+	struct stksess *be_tracked_counters;    /* counters currently being tracked by this session (backend) */
+	struct stktable *be_tracked_table;      /* table the counters above belong to (undefined if counters are null) */
 
 	struct {
 		int logwait;			/* log fields waiting to be collected : LW_* */