aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2010-06-23Bump the version for init and alignment fixes.on-waves/0.3.99.18Holger Hans Peter Freyther1-1/+1
2010-06-23abis_nm: Band aid on OML initialisation by queuing messagesHolger Hans Peter Freyther6-9/+80
Instead of sending many messages we will queue the OML messages and wait for the ACK/NACK before sending the next message from the queue. We tag the msgb to remember if we need to wait for an ack or not. We keep the order of all messages, on ACKs and similiar occassions we will drown the queue until we reach a message that needs to be acked and then wait for that ack again. Possible breakage can appear when we send an OML (e.g. BS11 specific message) msg which does not need to be acked through the abis_nm_sendmsg call. The fix will be to use the _direct version of this method. Conflicts: openbsc/include/openbsc/abis_nm.h openbsc/include/openbsc/gsm_data.h openbsc/src/gsm_data.c openbsc/src/input/ipaccess.c
2010-06-22bssap.c: handle CHAN Activate NACK...Holger Hans Peter Freyther1-0/+14
This was previously handled by the unexpected release lchan handling for the secondary channel, we will now just set the secondary_lchan pointer back to NULL and let the framework free the resources.
2010-06-22abis_rsl: Send the IMMEDIATE Assignment after the Channel Ack.Holger Hans Peter Freyther3-12/+53
The Channel Activate might be sent to a different TRX than the Immediate Assignment. So we need to make sure that the channel is activated before we send the immediate assignment for the RACH. Another reason for that is according to GSM 08.58 we should take the frame number from the activate and use it for the starting time inside the immediate assignment message. We obviously do not do this yet. The code assumes that the BTS will either respond with a CHAN ACK or a CHAN NACK if not the lchan will remain in the request state. Conflicts: openbsc/include/openbsc/gsm_data.h openbsc/src/abis_rsl.c openbsc/src/chan_alloc.c
2010-06-21bssap.c: Fix possible unaligned memory access.Holger Hans Peter Freyther1-5/+17
Use a memcpy to read and access the data to gurantee that the data is properly aligned. The performance hit should be smaller than the abort handled by the kernel.
2010-06-21abis_nm.c: Reading the in_addr can lead to unaligned memory accessHolger Hans Peter Freyther1-4/+7
The value of the in_addr might not be 32 bit aligned and reading it can generate an alignment error on ARM. Fix it by using memcpy to copy the data into a local variable. There are many more potential alignment issues that we will fix when we hit them.
2010-06-21bsc_init: Avoid unaligned access to nanobts_attr_nsvc0Holger Hans Peter Freyther1-6/+16
nanobts_attr_nsvc0 + 10 is unlikely to be 32 bit aligned and will trigger an alignment error on ARM..
2010-06-16Tag a release without the DTX change...on-waves/0.3.99.17Holger Hans Peter Freyther1-1/+1
2010-06-16Revert "bsc_init: Enable DTX in Cell Options..."Holger Hans Peter Freyther1-2/+2
This is incomplete and needs more thinking... We need to change RSL chan modify as well.. This reverts commit 5bfb9102affc861bc478ad8279e587e82c60c6bd.
2010-06-16new release with possible fix for the blackberry...on-waves/0.3.99.16Holger Hans Peter Freyther1-2/+2
2010-06-16si13: Use the correct pseudo length for the SI13 messageHolger Hans Peter Freyther1-1/+2
The GSM04.08 Section 10.5.2.19 specifies the L2 Pseudo Length and the length does not include rest octets, so we will need to use a zero for the length. The patch is coming from Dieter Spaar.
2010-06-16bsc_init: Enable DTX in Cell Options...Holger Hans Peter Freyther1-2/+2
Allow the MS to use uplink discontinous transmission has it can save some power for the MS and we can save some bandwidth on the uplink as well.
2010-06-14bsc: Increase the hand_off variable when we are done with the lchan.Holger Hans Peter Freyther2-0/+13
Every time the highlevel code is done with the channel, increase the value. This way we will be able to see if we are leaking a channel that was never used or should have returned to the system.
2010-06-14vty: Dump the state of the SAPIs of a lchan as well.Holger Hans Peter Freyther1-1/+2
2010-06-14lchan: Introduce a handoff variable...Holger Hans Peter Freyther2-1/+3
This variable can be used by higher levels to declare they were done with lchan...
2010-06-14chan_alloc: Swicth to LOGP from DEBUGPHolger Hans Peter Freyther1-2/+2
2010-06-14vty: Add show lchan-status to show the status...Holger Hans Peter Freyther1-0/+20
Sometimes we see channels being allocated and never be freed. This command should help to understand why this is happening and in which state this channel is.
2010-06-14vty: Rename show lchan summary to show lchan-summary.Holger Hans Peter Freyther1-1/+1
2010-06-13Versioning...on-waves/0.3.99.15Holger Hans Peter Freyther1-1/+1
2010-06-13bsc_msc_ip: Attempt to plug an lchan leak...Holger Hans Peter Freyther1-2/+6
If we end up with a channel that has refcount of zero, has no msc_data attached and the handler has not returned 1 we will just close it.
2010-06-13channel: Keep track on when a channel got allocated.Holger Hans Peter Freyther2-0/+7
This can help to detect 'stale' channels in a network.
2010-06-13abis_rsl: Reduce logging to LOGL_DEBUG as it is quite nosiyHolger Hans Peter Freyther1-1/+1
The nanoBTS will send us at least one measurement report after we have decided to close the channel... degrade that output to a debug message.
2010-06-08nat: Fix the access-list-name command...Holger Hans Peter Freyther1-2/+2
We have added two commands with the same name to the tree.. the second one should have been the BSC...
2010-06-08nat: Add both entries to the tail to keep the order they are insertedHolger Hans Peter Freyther1-2/+2
2010-06-08nat: Allow to specify multiple entries in the access-list...Holger Hans Peter Freyther4-20/+92
Inside the access-list we have a list of entries that have either one allow or one deny rule... we do not allow to remove a single rule but one has to remove the whole list, in that case talloc will handle cleaning all entries. Right now the matching is O(n*m) as we traverse the list (multiple times) and run the regexp multiple times. One way to make it faster would be to concat all regexps into one.
2010-06-08nat: Shorten the access-list struct and method names (still way too long)Holger Hans Peter Freyther4-26/+26
2010-06-07bsc_msc_ip: Possible crash fix on the early assignment code pathHolger Hans Peter Freyther1-11/+13
The crash happened when we had released the primary channel for one reason or another but still got the assignment complete on the secondary. This null checking is some extra caution, with the previous commit we should fail the msc_data test early in this method.
2010-06-07bsc_msc_ip: When closing the SCCP check primary and secondary lchanHolger Hans Peter Freyther1-10/+14
When closing a SCCP connection and any of the two lchan's are open, then close them down properly. Move the lchan freeing into a new method and call that one from the SCCP connection close handling. Move the bss scp data varaible to the top of the context..
2010-06-07Version bump...on-waves/0.3.99.14Holger Hans Peter Freyther1-1/+1
2010-06-07bssap.c: Claim to always do HR AMR right now.Holger Hans Peter Freyther1-1/+3
The bssap.c code is sending a multirate config with only AMR 5.9kb marked as supported, the MSC does not like if we assign a FR channel and send the GSM 0808 FR AMR mode back to the MSC. So change the code to not look at the channel type for AMR...
2010-06-07[GPRS] Change SI13 to NMO_II, as some phones (like G1) dislike NMO_IIIHarald Welte1-1/+1
I still believe NMO_III is what we want, but as indiciated some phones absolutely refuse to even connect to the GPRS network in this mode :(
2010-06-06Revert "bsc_init: Set the paging config like in the trace..."Holger Hans Peter Freyther1-1/+0
I added this to have the patch in the history, I don't think that we need to include this but it is good to have it cherry pickable in the history. This reverts commit 290a11d0ad7f01564182834d53b2c1073d754c2a.
2010-06-06bsc_init: Set the paging config like in the trace...Holger Hans Peter Freyther1-0/+1
The value of this config is not known.... the paging load needs to be tested again with these parameters...
2010-06-06bsc_init: Use configuration settings from a trace... as defaultHolger Hans Peter Freyther1-7/+7
Use the values but the paging configuration from a trace...
2010-06-03[nat] Implement the removal of an access-list.Holger Hans Peter Freyther3-0/+24
2010-06-03[nat] Fix the parsing of the access-list regexp...Holger Hans Peter Freyther1-2/+2
We need to start at argv[1] for the regexp of this access-list, also subtract one from number of items..
2010-06-03[nat] Fix VTY bug with access-lists...Holger Hans Peter Freyther1-4/+2
vty->index does not hold a BSC Config at this point as we are on the nat level... use the global _nat pointer for now...
2010-06-02Mark a new test release..on-waves/0.3.99.13Holger Hans Peter Freyther1-1/+1
2010-06-01[nat] Introduce the concept of access-listHolger Hans Peter Freyther4-51/+152
One can set one access-list to one BSC and one access-list to one NAT. The matching of IMSIs remains the same for now, also applying the white/blacklist. Access lists can not be deleted for now and no perf opt is done (e.g. one could cache the result of the last lookup in the bsc struct).
2010-05-31[GPRS] Make sure SI13 rest octets look like those of the ip.access BSCHarald Welte2-9/+17
2010-05-31[gprs] Use the defaults coming from a trace file.Holger Hans Peter Freyther2-17/+15
* Enable sending RLC3 * Use values from the trace.. This is not intended to be merged to master as this enables the RLC3 that the comment claims to only work on EGPRS enabled models and it is changing timers to hex indicating a change where none happened... This is mostly for testing.
2010-05-31[nat] Add ip-tos option to the nat.Holger Hans Peter Freyther3-0/+16
This is applied to all incoming BSC connections.
2010-05-31[mgcp] Set the IP_TOS/DSCP on RTP/RTCP IP packets.Holger Hans Peter Freyther3-0/+24
2010-05-22[gprs] NS/BSSGP: Make all timers configurable from VTYHarald Welte4-30/+144
2010-05-22[misc] Remove spaces, fix indention.Holger Hans Peter Freyther4-7/+7
2010-05-22bsc_init: Fix ccch description in SI messagesSylvain Munaut1-2/+28
The previous code just hardcoded RSL_BCCH_CCCH_CONF_1_C, but we need to inspect the timeslot config to know what to use. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-05-22[mgcp] Only patch RTP packets when they arrived on the RTP portHolger Hans Peter Freyther1-2/+4
Do not attempt to patch RTCP packets...
2010-05-18msc: Add msc ip-tos NR option for the BSCHolger Hans Peter Freyther6-4/+28
Allow to set the TOS field via the VTY interface. The SO_PRIORITY was not used as it has no effect on the packets being sent (in contrast to the documentation).
2010-05-16[nat] Make the refusal more complicated to support more MSCsHolger Hans Peter Freyther3-7/+53
We will need to confirm the connection, then we can send the GSM48 message, then we need to close the connection... the embedding in the refusal method was way too easy..
2010-05-16[sccp] Add method to create a dt1 packet.Holger Hans Peter Freyther2-12/+28