tbf: Count how often we re-start a BSN in the send routine

There appears to be a scheduling issue. Even without any NACKs
we are re-transmitting a lot of frames. It might be because of
this.
diff --git a/src/bts.cpp b/src/bts.cpp
index 43098c1..edec6a7 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -56,6 +56,7 @@
 	{ "tbf.reused",			"TBF Reused           "},
 	{ "rlc.sent",			"RLC Sent             "},
 	{ "rlc.resent",			"RLC Resent           "},
+	{ "rlc.restarted",		"RLC Restarted        "},
 	{ "rlc.stalled",		"RLC Stalled          "},
 	{ "rlc.nacked",			"RLC Nacked           "},
 	{ "decode.errors",		"Decode Errors        "},
diff --git a/src/bts.h b/src/bts.h
index a28d6be..924e2e1 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -160,6 +160,7 @@
 		CTR_TBF_REUSED,
 		CTR_RLC_SENT,
 		CTR_RLC_RESENT,
+		CTR_RLC_RESTARTED,
 		CTR_RLC_STALLED,
 		CTR_RLC_NACKED,
 		CTR_DECODE_ERRORS,
@@ -210,6 +211,7 @@
 	void tbf_reused();
 	void rlc_sent();
 	void rlc_resent();
+	void rlc_restarted();
 	void rlc_stalled();
 	void rlc_nacked();
 	void decode_error();
@@ -277,6 +279,7 @@
 CREATE_COUNT_INLINE(tbf_reused, CTR_TBF_REUSED)
 CREATE_COUNT_INLINE(rlc_sent, CTR_RLC_SENT)
 CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT)
+CREATE_COUNT_INLINE(rlc_restarted, CTR_RLC_RESTARTED)
 CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED)
 CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED)
 CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS)
diff --git a/src/tbf.cpp b/src/tbf.cpp
index b76a5ec..54eb3cb 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -911,11 +911,12 @@
 	 || ((dir.dl.v_s - dir.dl.v_a) & mod_sns) == m_ws) {
 	 	int resend = 0;
 
-		if (state_is(GPRS_RLCMAC_FINISHED))
+		if (state_is(GPRS_RLCMAC_FINISHED)) {
 			LOGP(DRLCMACDL, LOGL_DEBUG, "- Restarting at BSN %d, "
 				"because all blocks have been transmitted.\n",
 					dir.dl.v_a);
-		else {
+			bts->rlc_restarted();
+		} else {
 			LOGP(DRLCMACDL, LOGL_NOTICE, "- Restarting at BSN %d, "
 				"because all window is stalled.\n",
 					dir.dl.v_a);