summaryrefslogtreecommitdiffstats
path: root/openbsc
Commit message (Collapse)AuthorAgeFilesLines
* src: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso2011-05-063-11/+11
| | | | | | | | | Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
* src: use namespace prefix osmo_timer* for timer functionsPablo Neira Ayuso2011-05-062-7/+7
| | | | | | | | | | | | | | Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
* libcommon: socket: extend make_sock() prototypePablo Neira Ayuso2011-04-052-2/+2
| | | | | | | | | | | | This patch extends the make_sock() prototype so you can fully set the fields priv_nr and data of the bsc_fd structure. This is the first step to get rid of the internal make_sock() implementation that ipaccess-proxy uses. This patch includes a minor cleanup to pass INADDR_ANY instead of zero, if you do not want to bind the socket to one specific address.
* src: include new file osmocom/vty/misc.h for vty_out_rate_ctr_group()Pablo Neira Ayuso2011-03-282-0/+2
| | | | | This uses the new include file for vty_out_rate_ctr_group() which available in libosmocore.
* src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso2011-03-239-31/+31
| | | | | | | | | | | libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* prefix sub-directories containing libraries with 'lib'Harald Welte2011-03-047-0/+0
| | | | ... and make sure tests work again after restructuring
* Move 'Gb' protocol stack into its own src/gb subdirectoryHarald Welte2011-03-037-0/+9
|
* LOGGING: make sure to make the 'logging filter' compatible with vty log cfgHarald Welte2011-02-182-12/+10
| | | | | | | Recent libosmocore introdues a way how log targets can be configured from the VTY. This commit makes the 'log filter (imsi|nsvc|bvc)' compatible with it.
* License change: We are now AGPLv3+ instead of GPLv2+Harald Welte2011-01-016-36/+30
| | | | | | The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
* Add mandatory routeing area IE to SUSPEND-NACKDieter Spaar2010-12-121-1/+5
|
* [GPRS NS] Fix memory leak in gprs_ns_sendmsg() error pathHarald Welte2010-08-091-0/+4
| | | | | | | | | When gprs_ns_sendmsg() succeeds in sending the message, we free()d the msgb after transmitting it on the socket. However, if the NS-VC is blocked or some other error condition exists, we returned an error code but didn't free the msgb. This resulted in an error leak which is now being addressed.
* [gprs] BSSGP: Fix null pointer dereferenceHarald Welte2010-07-231-2/+3
| | | | Zecke has found this using "make CC="clang --analyze"
* [SGSN] BSSGP: Print TLLI as hex value like everwhere elseHarald Welte2010-06-301-1/+1
|
* GPRS: Increase the NS msg size to 2048Holger Hans Peter Freyther2010-06-141-1/+1
| | | | | | | According to the GPRS NS spec the maximum framesize is 1600 octets for FrameRelay, it can be bigger if configured to be so. Make it 2048 octets to have some space available...
* [gprs] bssgp: Fix LLC PDU length encoding in BSSGP.Sylvain Munaut2010-06-101-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* [GPSR] SGSN: Keep traffic counters for each PDP contextHarald Welte2010-06-101-1/+1
|
* [GPRS] BSSGP/SGSN: Implement Gb-Interface PagingHarald Welte2010-06-102-0/+90
| | | | | | | | | | | | | | | | We now have a function that generates BSSGP PS and CS paging request. It is called from the libgtp code when we receive a GTP packet from the GGSN for a MM context that is in SUSPEND state. We then issue a PS paging request to the Cell with the BVCI where the last RA update was being performed. TODO: We still don't enqueue the GTP packet (and transmit it on paging complete), and we don't rate-limit the paging requests, i.e. every GTP packet will trigger another paging request. We probably also need some kind of logic that marks the phone as UNREGISTERED if it doesn't respond to paging requests for some time.
* [GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX stateHarald Welte2010-06-091-4/+16
|
* GPRS: Fix compiler warning that will also lead to a crash at runtime.Holger Hans Peter Freyther2010-06-091-1/+1
|
* [GPRS] BSSGP: Fix formatting of BSSGP TX STATUSHarald Welte2010-06-031-1/+2
|
* [GPRS] Major LLC / TLLI handling fixesHarald Welte2010-06-011-1/+1
| | | | | | | | | | | | | * separate the LLME and LLE state in the LLC layer * introduce gprs_llgmm_assign() function for LLGMM-ASSIGN.req primitive * change QoS profile to match 'real' SGSN * Update the new TLLI when assigning a P-TMSI The result now is that the LLC layer is notified of TLLI changes, which in turn means it doesn't allocate a new LLE structure every TLLI change, which again in turn means that the UI frame sequence number does not reset to zero. As a result, MS should no longer ignore frames based on wrong UI sequence number.
* [GPRS] Include IMSI and DRX params in BSSGP DL-UDHarald Welte2010-05-312-3/+36
| | | | | | | | | When we send a downlink unit-data request via BSSGP, there is a lot of information that needs to be copied from the mm context, such as the IMSI, DRX parametes, MS radio access parameters, ... This is a quite strange layering violation, since we now need to pass a pointer to the MM ctx from GMM through LLC into BSSGP :(
* [GPRS] BSSGP: Fix way too long TLLI debug lineHarald Welte2010-05-311-1/+1
|
* [GPRS] BSSGP: More verbose debug log / error reportingHarald Welte2010-05-311-34/+86
|
* [GPRS] BSSGP: When we receive a BLOCK, we should not respond with UNBLOCK-ACKHarald Welte2010-05-311-2/+1
|
* [GPRS] NS: Fix GRE keepalive response in FR-GRE encapsulationHarald Welte2010-05-311-2/+2
|
* [GPRS] BSSGP: Acknowledge all SUSPEND and RESUME requestsHarald Welte2010-05-301-0/+103
| | | | | | This is of course not the correct way of dealing with it, but for now it should make the Ericsson Mobile Plafrom based phones happy (they insist to do a suspend/resume cycle before pdp ctx act)
* [GPRS] NS: correctly pass the NS payload length to the TLV parserHarald Welte2010-05-301-7/+9
|
* [GPRS] NS: Don't hand Frame Relay LMI packets into the NS codeHarald Welte2010-05-281-5/+15
|
* [GPRS] NS: Respond to GRE keepalive messagesHarald Welte2010-05-281-1/+67
| | | | | | | GRE has the strange notion of keepalive messages being encapsulated IPv4 packets adressed back to the sender. Since we actually really only care about frame relay, this is a bit strange. However, we'll do some sanity checks and send it back through our GRE socket...
* [GPRS] NS: Frame Relay DLCI for PVC from 16-1007Harald Welte2010-05-281-1/+1
| | | | | | | | | 0 Reserved for ANSI Annex D and CCITT Annex A link management 1 - 15 Reserved 16 - 1007 Any PVC 1008 - 1018 Reserved 1019 - 1022 Reserved for LMI multicast 1023 Reserved for LMI link management
* [GPRS] NS: Print error message if TLV parser fails for some reasonHarald Welte2010-05-281-0/+22
|
* [GPRS] NS: Start TEST procedure, not ALIVE procedure, on RESET/RESET_ACKHarald Welte2010-05-281-2/+3
| | | | | | | | | | | | According to the spec, after an incoming RESET or RESET_ACK, we shall start the TEST procedure, not the ALIVE procedure. Also, when we start the TEST procedure, we have to always send a NS_ALIVE packet at the same time (we didn't in the case of incoming RESET). Furthermore, we now only start TIMER_TNS_ALIVE from within the TIMER_TNS_RESET callback code, where we also make sure that the alive_retries counter is reset to zero.
* gprs: Subtract the headroom for what we can receiveHolger Hans Peter Freyther2010-05-281-1/+1
| | | | | The buffer got allocated with headroom and we need to subtract that from the size of the buffer.
* Migrate VTY code to libosmovtyHarald Welte2010-05-252-6/+8
|
* [GPRS] NS: Always generate LOG_INFO message when we block NS-VCHarald Welte2010-05-251-0/+5
|
* gprs_ns_frgre.h: Create the header and include itHolger Hans Peter Freyther2010-05-232-0/+7
|
* gprs_ns.c: Make make_socket known to the compilerHolger Hans Peter Freyther2010-05-231-0/+1
|
* gprs: Fix warnings on funny casts for the return statementHolger Hans Peter Freyther2010-05-232-5/+4
| | | | | | | | Change gprs_nsvc_reset to return void instead of a int as the gb_proxy.c currently ignores the reutnr value anyway. Change the caller inside gprs_ns to return the newly allocated nsvc instead of the return of gprs_nsvc_reset.
* gprs_bssgp.c: Return something from non void methods.Holger Hans Peter Freyther2010-05-231-1/+3
| | | | | In one use the rc variable we are assigning to, in the others return 0 even if we have a FIXME there.
* gprs_bssgp.c: Cast const of TLVP_VAL away.Holger Hans Peter Freyther2010-05-231-2/+2
| | | | | | Fix a compiler warning, we cast the const away at various other parts in the code as well. We should consider removing the const from the TLV struct..
* [GPRS] NS: Better formatting of VTY outputHarald Welte2010-05-191-6/+8
|
* [GPRS] NS: properly parse FR DLCI on RxHarald Welte2010-05-191-10/+4
|
* [GPRS] NS: Never respond to STATUS with STATUS to prevent loops!Harald Welte2010-05-191-0/+6
|
* [GPRS] NS: SOCK_RAW sockets always provide the full IPv4 header on receiveHarald Welte2010-05-191-5/+14
|
* [GPRS] NS/FR/GRE rcvmsg case: msgb_free() in error caseHarald Welte2010-05-191-3/+2
|
* [GPRS] NS: Make sure we allocate NS packet with headroom for FR/GREHarald Welte2010-05-192-7/+11
|
* [GPRS] NS: FR/GRE: Use AF_INET, correctly encode FR DLCI and GRE payload typeHarald Welte2010-05-191-3/+4
|
* [GPRS] NS: VTY: Move all local ip/port bind values into 'ns' nodeHarald Welte2010-05-194-6/+104
| | | | | This removes the requirement for gb_proxy and sgsn to have duplicate vty parsing code
* [GPRS] Add Frame Relay in GRE encapsulation for NSHarald Welte2010-05-194-33/+336
|