Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | LOGGING: make sure to make the 'logging filter' compatible with vty log cfg | Harald Welte | 2011-02-18 | 2 | -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 Welte | 2011-01-01 | 6 | -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-NACK | Dieter Spaar | 2010-12-12 | 1 | -1/+5 |
| | |||||
* | [GPRS NS] Fix memory leak in gprs_ns_sendmsg() error path | Harald Welte | 2010-08-09 | 1 | -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 dereference | Harald Welte | 2010-07-23 | 1 | -2/+3 |
| | | | | Zecke has found this using "make CC="clang --analyze" | ||||
* | [SGSN] BSSGP: Print TLLI as hex value like everwhere else | Harald Welte | 2010-06-30 | 1 | -1/+1 |
| | |||||
* | [gprs] bssgp: Fix LLC PDU length encoding in BSSGP. | Sylvain Munaut | 2010-06-10 | 1 | -1/+1 |
| | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | [GPSR] SGSN: Keep traffic counters for each PDP context | Harald Welte | 2010-06-10 | 1 | -1/+1 |
| | |||||
* | [GPRS] BSSGP/SGSN: Implement Gb-Interface Paging | Harald Welte | 2010-06-10 | 1 | -0/+63 |
| | | | | | | | | | | | | | | | | 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 state | Harald Welte | 2010-06-09 | 1 | -4/+16 |
| | |||||
* | GPRS: Fix compiler warning that will also lead to a crash at runtime. | Holger Hans Peter Freyther | 2010-06-09 | 1 | -1/+1 |
| | |||||
* | [GPRS] BSSGP: Fix formatting of BSSGP TX STATUS | Harald Welte | 2010-06-03 | 1 | -1/+2 |
| | |||||
* | [GPRS] Major LLC / TLLI handling fixes | Harald Welte | 2010-06-01 | 1 | -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-UD | Harald Welte | 2010-05-31 | 1 | -2/+34 |
| | | | | | | | | | 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 line | Harald Welte | 2010-05-31 | 1 | -1/+1 |
| | |||||
* | [GPRS] BSSGP: More verbose debug log / error reporting | Harald Welte | 2010-05-31 | 1 | -34/+86 |
| | |||||
* | [GPRS] BSSGP: When we receive a BLOCK, we should not respond with UNBLOCK-ACK | Harald Welte | 2010-05-31 | 1 | -2/+1 |
| | |||||
* | [GPRS] NS: Fix GRE keepalive response in FR-GRE encapsulation | Harald Welte | 2010-05-31 | 1 | -2/+2 |
| | |||||
* | [GPRS] BSSGP: Acknowledge all SUSPEND and RESUME requests | Harald Welte | 2010-05-30 | 1 | -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 parser | Harald Welte | 2010-05-30 | 1 | -7/+9 |
| | |||||
* | [GPRS] NS: Don't hand Frame Relay LMI packets into the NS code | Harald Welte | 2010-05-28 | 1 | -5/+15 |
| | |||||
* | [GPRS] NS: Respond to GRE keepalive messages | Harald Welte | 2010-05-28 | 1 | -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-1007 | Harald Welte | 2010-05-28 | 1 | -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 reason | Harald Welte | 2010-05-28 | 1 | -0/+22 |
| | |||||
* | [GPRS] NS: Start TEST procedure, not ALIVE procedure, on RESET/RESET_ACK | Harald Welte | 2010-05-28 | 1 | -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 receive | Holger Hans Peter Freyther | 2010-05-28 | 1 | -1/+1 |
| | | | | | The buffer got allocated with headroom and we need to subtract that from the size of the buffer. | ||||
* | Migrate VTY code to libosmovty | Harald Welte | 2010-05-25 | 2 | -6/+8 |
| | |||||
* | [GPRS] NS: Always generate LOG_INFO message when we block NS-VC | Harald Welte | 2010-05-25 | 1 | -0/+5 |
| | |||||
* | gprs_ns_frgre.h: Create the header and include it | Holger Hans Peter Freyther | 2010-05-23 | 1 | -0/+1 |
| | |||||
* | gprs_ns.c: Make make_socket known to the compiler | Holger Hans Peter Freyther | 2010-05-23 | 1 | -0/+1 |
| | |||||
* | gprs: Fix warnings on funny casts for the return statement | Holger Hans Peter Freyther | 2010-05-23 | 1 | -4/+3 |
| | | | | | | | | 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 Freyther | 2010-05-23 | 1 | -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 Freyther | 2010-05-23 | 1 | -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 output | Harald Welte | 2010-05-19 | 1 | -6/+8 |
| | |||||
* | [GPRS] NS: properly parse FR DLCI on Rx | Harald Welte | 2010-05-19 | 1 | -10/+4 |
| | |||||
* | [GPRS] NS: Never respond to STATUS with STATUS to prevent loops! | Harald Welte | 2010-05-19 | 1 | -0/+6 |
| | |||||
* | [GPRS] NS: SOCK_RAW sockets always provide the full IPv4 header on receive | Harald Welte | 2010-05-19 | 1 | -5/+14 |
| | |||||
* | [GPRS] NS/FR/GRE rcvmsg case: msgb_free() in error case | Harald Welte | 2010-05-19 | 1 | -3/+2 |
| | |||||
* | [GPRS] NS: Make sure we allocate NS packet with headroom for FR/GRE | Harald Welte | 2010-05-19 | 1 | -6/+6 |
| | |||||
* | [GPRS] NS: FR/GRE: Use AF_INET, correctly encode FR DLCI and GRE payload type | Harald Welte | 2010-05-19 | 1 | -3/+4 |
| | |||||
* | [GPRS] NS: VTY: Move all local ip/port bind values into 'ns' node | Harald Welte | 2010-05-19 | 3 | -4/+98 |
| | | | | | This removes the requirement for gb_proxy and sgsn to have duplicate vty parsing code | ||||
* | [GPRS] Add Frame Relay in GRE encapsulation for NS | Harald Welte | 2010-05-19 | 3 | -16/+314 |
| | |||||
* | [GPRS] SGSN: properly delete a PDP context after receiving PDP CTX DEACT REQ | Harald Welte | 2010-05-18 | 1 | -0/+4 |
| | |||||
* | [GPRS] BSSG: Fix Vty printing of BVC | Harald Welte | 2010-05-18 | 1 | -1/+1 |
| | |||||
* | [GPRS] BSSGP: Use correct values for SIGNALLING and PTM BVCI | Harald Welte | 2010-05-18 | 1 | -5/+5 |
| | |||||
* | [GPRS] BSSGP: Add VTY for configuration and inpection | Harald Welte | 2010-05-17 | 2 | -0/+181 |
| | | | | This also includes log filtering based on NSEI/BVCI tuple | ||||
* | [GPRS] BSSGP: Introduce packet/byte counters | Harald Welte | 2010-05-17 | 1 | -0/+17 |
| | |||||
* | [GPRS] BSSGP: expose more internal structures / API | Harald Welte | 2010-05-17 | 1 | -27/+4 |
| | |||||
* | [GPRS] BSSGP: Rename bssgp_bts_ctx to bssgp_bvc_ctx | Harald Welte | 2010-05-17 | 1 | -19/+19 |
| | | | | | | The Context really is about a BVC (BSSGP Virtual Connection). In the case we operate BSSGP on the SGSN side, this corresponds to a link to a BTS. | ||||
* | [GPRS] NS: Receiving a STATUS message is a NOTICEable event | Harald Welte | 2010-05-16 | 1 | -2/+2 |
| |