Daniel Willmann
fc03bbe078
tbf/bts: Rename tbf->snd_dl_ack to tbf->rcvd_dl_ack
...
This function is called to act upon a received DL ACK packet so this
name makes more sense.
2014-05-30 18:19:06 +02:00
Holger Hans Peter Freyther
3d0cc2f97d
tbf: Make finding use-after-free more easy and set to NULL or return
...
Make finding use-after-free more easy by setting things to NULL
or simply return after tbf_free(this) has been called.
2014-01-16 10:09:42 +01:00
Holger Hans Peter Freyther
f37e514a96
bts: Rename ts and trx to ts_no and trx_no as we operate on number
2014-01-15 10:34:22 +01:00
Holger Hans Peter Freyther
8f399de135
tbf: Kill the tsc member as it duplicates data
...
We can just use first_ts and the trx/pdch to extract this information.
Avoid duplication of data.
2014-01-15 10:34:09 +01:00
Holger Hans Peter Freyther
12c039cdb2
debug_diagram: Remove the special debug_diagram compilation mode
...
This approach is somehow flawed. We need/want to debug problems on
systems with real traffic and re-compiling it with debug_diagram
is not an option. All internal logging needs to be expressive enough
so we can understand what is going on (e.g. create a script to
post-process the output).
2013-11-26 20:57:24 +01:00
Holger Hans Peter Freyther
ef93bdb19b
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.
2013-11-24 00:01:50 +01:00
Holger Hans Peter Freyther
092478f294
rlc: Count nacked frames in the statistics too
2013-11-23 01:01:19 +01:00
Holger Hans Peter Freyther
c70aae4697
rlc: Count the window stalls on the RLC level
2013-11-19 17:09:37 +01:00
Holger Hans Peter Freyther
e9429b5d3e
rlc: Count the sent and resent RLC blocks
2013-11-13 19:36:57 +01:00
Holger Hans Peter Freyther
b3d5ee2934
bts: Count the number of llc frames that were "scheduled" to be sent
...
This does not mean that they have been successfully transferred
to the SGSN/MS but at least that they have reached a certain point
in the message flow.
2013-11-13 16:43:26 +01:00
Holger Hans Peter Freyther
aa35ba7584
tbf: Count how often we re-use a TBF that was already being deactivated
2013-11-13 15:02:50 +01:00
Holger Hans Peter Freyther
77e05971b4
tbf: Move the llc handling into the tbf (from the bts)
...
This will be moved to a LLC class in the future but after this
we can make the sns/ws private now and have little to update
outside the tbf.
2013-11-06 19:16:43 +01:00
Holger Hans Peter Freyther
5464c9baf2
tbf: Have one imsi field and assign it through a function
...
Have one IMSI field per TBF and assign through a function call.
The IMSI should be used to look-up the TBF on the SGSN->PCU
direction.
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
34f6e5ebe6
tbf: Make tfi private and update the code
...
All logging code that used tbf->tfi is now using tbf_name to
print the the TBF. External code is now using tfi() which is
inlined and should result in the same code being generated as
before (+debug code that can be stripped).
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
474685e26e
tbf: Make the tlli "private" and update the updating code
...
Now all updates to the tlli/tlli_valid are in one place. If we
implement the policy to update the matching/linked TBF we can
now to do it in a single place. Add a todo item for that as I
am waiting for feedback from the mailinglist.
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
bd449f57a7
tbf: Create tbf_name and use it in log statements
...
This is like gsm_lchan_name and should be used in log statements.
This way we can easily change the information that is printed and
we know how to search things. The other part is that direct use
of tfi/tlli is removed which will allow us to make them private
and at the same time start to resolve the "tlli" updated in many
places.
Not old log statements are changed yet. This will done whenever
a bad log statement is seen on the console...
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
870c601f1d
tbf: TODO:Mark TLLI changes as todo item in the code
...
The TLLI can change when a new P-TMSI is assigned to the phone,
e.g. during a (periodic) routing area update. When the TLLI
changes we need to update all TBFs and maybe even register the
timing advance for the new TLLI..
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
6b88cddc21
bts: Simplify rcv_resource_request, remove logically dead code
...
tbf = find
if (tbf) {
tbf_free(tbf);
tbf = NULL;
}
if (!tbf) {
code...
}
Remove the if (!tbf) and indention as the tbf is always to be
NULL.
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
8021644e9d
bts: Kill dead stores of the tlli/tfi, fix the log message again
...
The code meant to print the tfi and not the tlli. Update it.
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
ec80f82824
tbf: Remove the trx_no field from the tbf, go through the trx object
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
fc498c9e7b
tbf: Go through the trx to get the ARFCN
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
875fc895a8
bts: Further logging improvements for TFI/TLLI output
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
e1a075ab59
bts: Pass the Packet_Control_Acknowledgement_t into the recv method
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
53a336f0e5
bts: Log the TLLI inside the report we get
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
8d0e489484
tbf: Log the TFI and TLLI so we can try to figure out more from logs
...
<0002> tbf.cpp:444 Poll timeout for DL TBF=0
<0002> tbf.cpp:513 - Timeout for polling PACKET DOWNLINK ACK.
<0002> tbf.cpp:688 - Assignment was on PACCH
<0002> tbf.cpp:694 - Downlink ACK was received
<0008> gprs_bssgp_pcu.cpp:154 LLC [SGSN -> PCU] = TLLI: 0xd6942c78 IMSI: 274080000004765 len: 506
<0002> bts.cpp:974 PACKET DOWNLINK ACK with unknown FN=2213128 TFI=0 (TRX 0 TS 6)
2013-10-30 21:24:13 +01:00
Holger Hans Peter Freyther
15bb1a2a51
misc: Change the logging for the tbf and what to log
...
TLLIs got printed as TBF. Fix that but also rename things to
TFI. The TFI is not required to be unique per BTS but it is
the indicator we use right now.
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
5da2014f13
bts: Use Packet_Downlink_Ack_Nack_t as parameter
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
7a344716a6
bts: Simplify the code and use Packet_Resource_Request_t*
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
cb5c49b581
bts: Work with the Packet_Measurement_Report_t
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
750ca67ce9
bts: Move the MT_PACKET_MEASUREMENT_REPORT handling to a new method
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
842808848c
bts: Move handling of MT_PACKET_RESOURCE_REQUEST to a method
...
Move the code to a new method
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
5a9658168a
bts: Move handling of MT_PACKET_DOWNLINK_ACK_NACK to separate function
...
Kill the tlli assignment as it is never used.
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
396f4161cb
pdch: Move handling of control_ack to a separate method
...
Kill the unused tfi parameter
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
c1ae22694c
bts: Count the rach frames we receive
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
90b87ea5e6
misc: Fix typo.. resource in english only has one 's'
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
180def907b
bts: Print the kind of message type not known.
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
1997787c52
llc: Count timedout and silently dropped frames
...
A DL tbf can be discarded and then the already queued LLCs will
be silently dropped. Count this event.
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
b98dd9e240
sba: Move freeing a sba into a central place
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
93e048fe27
sba: Count SBA allocation, frees and timeouts
...
Add a warning about the receive message poking in the internal
of the sba. This will be cleaned up in a follow up commit
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
158776411b
bts: Provide the first set of counters
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
f537298cca
bts: Start creating statistics inside the BTS code
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
3dc56a3b34
tbf: Move gprs_rlcmac_send_packet_uplink_assignment into the tbf
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
02beed5e98
bts: Move gprs_rlcmac_rcv_rach into the BTS class
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
24c1a5ba29
bts: Move gprs_rlcmac_trigger_downlink_assignment into BTS
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
d9262b3b55
tbf: Move gprs_rlcmac_poll_timeout into the tbf
...
Move the gprs_rlcmac_poll_timeout method into the tbf class and
gprs_rlcmac_downlink_assignment into the BTS.
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
40cfaa6837
bts: Move rcv_imm_ass_cnf into the bts code
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
70ddde6929
tbf/bts: Move the tfi_find_free into the bts
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
f63cabd931
tbf/pdch/bts: Move the tbf look-up by tfi into the BTS
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
a54bbbbf02
pdch/tbf: Add another todo item for badly placed code...
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
dea63b96e0
sba/pdch: Use thepdch to look up a sba for a frame number
2013-10-30 21:24:11 +01:00