Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GPRS: Increase the NS msg size to 2048 | Holger Hans Peter Freyther | 2010-06-14 | 1 | -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 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 | 2 | -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 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 | 2 | -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 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 | 2 | -0/+7 |
| | |||||
* | 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 | 2 | -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 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 | 2 | -7/+11 |
| | |||||
* | [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 | 4 | -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 NS | Harald Welte | 2010-05-19 | 4 | -33/+336 |
| | |||||
* | [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 | 2 | -5/+9 |
| | |||||
* | [GPRS] SGSN: Activate BSSGP VTY functions | Harald Welte | 2010-05-18 | 1 | -0/+3 |
| | |||||
* | [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 | 2 | -27/+33 |
| | |||||
* | [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 |
| | |||||
* | VTY: Context-sensitive help for logging related commands | Harald Welte | 2010-05-16 | 1 | -1/+1 |
| | |||||
* | [GPRS] NS: Allow filtering of log messages by NSVC / NSEI | Harald Welte | 2010-05-15 | 2 | -1/+56 |
| | |||||
* | [GPRS] NS: VTY: Don't nsvc_delete() on 'no nse...' | Harald Welte | 2010-05-15 | 1 | -3/+9 |
| | | | | | | | Rather than deleting the NSE from memory, we simply mark it as non-persistent. This makes sure that there are no invalid references (e.g. from gbprox_peer) to the gprs_nsvc structure, but at the same time ensures it will no longer be stored as part of writing the config file. | ||||
* | [GPRS] NS: Introduce command to display a single NSE | Harald Welte | 2010-05-15 | 1 | -12/+47 |
| |