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
61a0a04d26
tbf: Move gprs_rlcmac_send_data_block_acknowledged into tbf
...
We can now remove the gprs_rlcmac_data as the code has been
moved into the tbf, pdch and bts.
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
ae03f22199
tbf: Move gprs_rlcmac_send_packet_uplink_assignment to the tbf
...
Again the function was called send but didn't do any sending
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
22b31190cb
tbf: Fix typo in thecomment
2013-10-30 21:24:12 +01:00
Holger Hans Peter Freyther
46bcb8d59d
tbf: Move gprs_rlcmac_send_uplink_ack into the tbf
...
The method was called send but didn't send anything. Move
it to 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
2db7e7e7db
tbf: Move gprs_rlcmac_send_packet_downlink_assignment into the tbf
...
This method was called _send_packet_ but actually didn't do any
sending at all. It just formated the right assignment. I replaced
tbf-> with nothing.
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
42de18f347
debug_dl_ass_idle: Remove the feature as it is obviously broken
...
strncpy takes three arguments but only two are given. This feature
would also only work if there is one tbf at a time.
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
7292373f92
tbf: kill the indirection and invoke the right method
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
Holger Hans Peter Freyther
05f8efc1a2
pdch: Remove the trx_no/ts_no parameter and use/caclulate it on demand
...
Simplify the depedencies and use the inline functions when we need
to figure out the numbers.
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
4f753c64d6
pdch: Remove the bts argument from rcv_control_block
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
65be4808af
pdch: Remove the the bts parameter from rcv_data_block_acknowledged
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
6673005215
tbf: Fix typo in the debug message
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
782f6ddf99
tbf: Add todo item tht could help improving debugging
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
86300bbeea
tbf: Move the timer routine into the class
...
The timer is used for various timeouts and there is still external
client code that is calling it. In a perfect world the client code
would indicate that an event has happened and the internal timer
will be stopped. The best compromise is the "stop_t3191" method. It
allows to add semantic verification that the timer has been running.
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
af8094d799
tbf: Move the handle tineout into the tbf class
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
aa9c326d7e
tbf: Move the updating of the data into the tbf class
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
fcbc702112
pdch: Move the giant switch/case of gprs_rlcmac_rcv_control_block
...
Move the dispatch into the PDCH. This needs to be split up
further into understandable blocks.
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
d11290b90b
pdch/tbf: Move gprs_rlcmac_rcv_data_block_acknowledged into the pdch
...
Move the method into the PDCH. Extract the finding of TLLI into a
new class called Decoding. Move the assemble and forward LLC frames
into the TBF as it is poking in the internals of the TBF.
2013-10-30 21:24:11 +01:00
Holger Hans Peter Freyther
6f9f434463
pdch: Move the dispatch of gprs_rlcmac_rcv_block into the pdch
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
9ae367f639
pdch: Instead of passing bts, trx, ts use the pdch
...
All dispatching will go through the PDCH. This will clean a lot
of the look-ups inside the gprs_rlcmac_data.c and continue with
adding structure to the pcu code.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
b65e08a7be
misc: Remove the bts parameter from calls that take a tbf
...
Mark some of the tbf manipulation that is burried in the data
sending routine.. that it should be moved around.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
545876550f
sched: Add another warning about trx->arfcn and arfcn..
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
6796ed23ab
alloc: Remove the ts parameter from the internal interface
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
09ef27ae04
pdch: Simplify the reset code, rename variables to XYZ_no
...
Simplify the reset code now that the PDCH can know where it is
located. Rename the variables in the sba to trx_no and ts_no as
it stores the number and not the actual thing.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
4ed1dae533
bts: Add backpointers to the PDCH and TRX structures
...
This will allow to kill various parameters from all the functions
as we can walk back.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
1702f102af
tbf: First round of removing llc handling from the rlcmac_data
...
The code in gprs_rlcmac_data should ask the TBF for help in packing
the frames but it really shouldn't poke in the internals of the
tbf structure. This is very bad capsuling and has plenty of copy
and paste.
At the same thime this will be the most dangerous refactoring of
the code base.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
7ce21eb042
data: Move gprs_rlcmac_cs to the place it is used and make static
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
34bd8bdf30
bts/tbf: Move the lists into the BTS and do the look-up from the BTS
...
The list belongs to the BTS. This makes cleaning this up more easy
and establishes a hierachy of resources that start from the BTS. The
debug_diagram code is now broken.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
9f0c1d216a
tbf: Keep a pointer from the tbf to the BTS
...
This is preparing the next commits and will ease working with
the debug_diagram when the global lists are killed. It will
simplify the APIin the long run.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
cedf890928
sba: Create a SBAController that will manage the sbas for a BTS
...
The PollController is a friend of the SBAController and is allowed
to access the internal list. The list is hidden from everyone else.
This is done because the calculation of timeout should belong into
the PollController and not into the SBAController.
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
621dc2fd01
sba: Move the sba code to a dedicated file
...
Move the code around and then turn it into an object...
2013-10-30 21:24:10 +01:00
Holger Hans Peter Freyther
111614a994
ta: Create TimingAdvance class and make it belong to the BTS
...
This allows us to easily flush the state in case a PCU/BTS
connection is lost.
2013-10-30 21:24:10 +01:00