summaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs
Commit message (Collapse)AuthorAgeFilesLines
* [GPRS] BSSG: Fix Vty printing of BVCHarald Welte2010-05-181-1/+1
|
* [GPRS] BSSGP: Use correct values for SIGNALLING and PTM BVCIHarald Welte2010-05-181-5/+5
|
* [GPRS] BSSGP: Add VTY for configuration and inpectionHarald Welte2010-05-172-0/+181
| | | | This also includes log filtering based on NSEI/BVCI tuple
* [GPRS] BSSGP: Introduce packet/byte countersHarald Welte2010-05-171-0/+17
|
* [GPRS] BSSGP: expose more internal structures / APIHarald Welte2010-05-171-27/+4
|
* [GPRS] BSSGP: Rename bssgp_bts_ctx to bssgp_bvc_ctxHarald Welte2010-05-171-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 eventHarald Welte2010-05-161-2/+2
|
* VTY: Context-sensitive help for logging related commandsHarald Welte2010-05-161-1/+1
|
* [GPRS] NS: Allow filtering of log messages by NSVC / NSEIHarald Welte2010-05-152-1/+56
|
* [GPRS] NS: VTY: Don't nsvc_delete() on 'no nse...'Harald Welte2010-05-151-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 NSEHarald Welte2010-05-151-12/+47
|
* [GPRS] NS: Always start NS-ALIVE procedure after RESETHarald Welte2010-05-151-9/+6
| | | | | | | | | So far, we only started the ALIVE procedure on RESET-ACK if the remote end was the SGSN. This resulted in the BSS->Proxy connections only being tested for alive-status from the BSS side, but not from our side. Also: export nsvc_by_nsvci() function as a public API function.
* [GPRS] NS: Add 'nsvc nsei ... (block|unblock|reset)' command to VTYHarald Welte2010-05-141-0/+33
|
* [VTY] Introduce "end" command that works from any level in configHarald Welte2010-05-141-0/+1
| | | | | | Using "end" you can always return to the "enable" level, and from there the "show" commands are available. So no more need for exit/exit/exit/exit/disable.
* [VTY] Remove OpenBSC specific node-exit handling from src/vtyHarald Welte2010-05-141-0/+2
| | | | | The idea is to move the VTY code into libosmocore at some point, and for that we need to eliminate OpenBSC specifics from it
* [GPRS] gb_proxy: Initiate RESET procedure on persistent NS-VC at startupHarald Welte2010-05-141-15/+18
| | | | | | Some BSS that connect to the proxy do not continue to perform the RESET procedure after a timeout. In order to resurrect them, we simply start a RESET procedure.
* [GPRS] BSSGP: Refuse blocking of signalling BVC; Ignore traffic on blocked BVCHarald Welte2010-05-131-0/+22
|
* [GPRS] BSSGP: Make implementation more robustHarald Welte2010-05-131-97/+216
| | | | | | | | We now actually are much more in line with what the specification says. We track the blocked/unblocked state, we don't accept signalling messages on PTP functional entities (and vice versa), and we don't simply create a BVC context with messages other than BVC-RESET.
* [GPRS] BSSGP: Elaborate more on FIXMEsHarald Welte2010-05-131-8/+10
| | | | And fix mistake regarding FLUSH-LL / FLUSH-LL-ACK direction
* [GPRS] NS: Remove 'unknown_nsvc' from list of NS-VCsHarald Welte2010-05-131-0/+3
|
* [GPRS] NS: Fix segfault when receiving message from unknown NS-VCHarald Welte2010-05-132-8/+19
| | | | | | | | | | | | In the previous code we used a static fake_nsvc structure in case we needed to send a message to an unknown NSVC for which we don't have a real 'struct nsvc'. However, since we now have a rate_ctr_group hanging off the nsvc, the fake structure didn't have that. So now we keep a nsi->unknown_nsvc around to be used whenever we need a nsvc but don't have a real one. The gprs_ns_vty.c code explicitly does not list that NSVC in 'show ns'
* [GPRS] NS: remove debug statement about l2lenHarald Welte2010-05-131-1/+0
|
* [GPRS] NS: more rate counters for BLOCK / DEAD countHarald Welte2010-05-131-8/+25
|
* [GPRS] NS: Show statistics on VTY only if requestedHarald Welte2010-05-131-4/+19
|
* [GPRS] NS: properly assign msgb->l2h to count outgoing bytes correctlyHarald Welte2010-05-131-1/+2
|
* [GPRS] NS: Fix wrong counter use and remove debug statementHarald Welte2010-05-131-4/+2
|
* [GPRS] NS: Start to use rate_ctr_group code from libosmocoreHarald Welte2010-05-132-243/+314
| | | | | | | | | Every NS-VC now has a set of counters for incoming and outgoing number of packets and bytes. We also split the VTY part of the gprs_ns.c implementation into gprs_ns_vty.c to make sure the protocol can actually be used without the VTY code being present.
* GPRS: We have to do the msgb_free() in NS not Gb ProxyHarald Welte2010-05-121-1/+5
| | | | | | | As only NS-UNITDATA messages are ever passed into the Gb Proxy, we need to do the msgb_free() at a much higher point in the calling stack, i.e. inside the NS protocol layer. This means it is now the same logic as in OpenBSC itself.
* NS: Make all timers configurable from VTYHarald Welte2010-05-121-12/+58
|
* use new install_element_ve()Harald Welte2010-05-121-2/+1
|
* Make sure all commands of SHOW_NODE to ENABLE_NODEHarald Welte2010-05-121-0/+1
|
* NS: Add support for persistent NS-VC configurationHarald Welte2010-05-121-9/+216
| | | | | | | | | With persistent NS-VC configuration (configured through VTY), we can respond properly to BSS with a somewhat strange NS implementation Such as the BSplus. It enables us to respond with a proper NS-RESET (including NSVCI/NSEI) when receiving a NS-ALIVE or other PDU for a BLOCKED/DEAD NS-VC after our end of the connection is rebooted.
* NS: Send UNBLOCK signal when we get UNBLOCK_ACK from peerHarald Welte2010-05-121-0/+1
|
* Display NSEI instead of NSVCI for all debug msgsHarald Welte2010-05-121-4/+4
|
* NS: Send STATUS or RESET when receiving NS_ALIVE on unknown NSVCHarald Welte2010-05-121-5/+15
|
* NS / GB Proxy: Add Signal in case Tns-Alive expires too oftenHarald Welte2010-05-121-0/+1
| | | | The Gb Proxy can then restart the RESET procedure.
* NS: Debug NS timer expiryHarald Welte2010-05-121-2/+16
|
* NS: Add more LOG_DEBGU messages and retransmit NS-ALIVEHarald Welte2010-05-121-4/+23
|
* NS: More INFO messages about what we actually transmitHarald Welte2010-05-121-0/+13
|
* NS: don't memcmp sockaddr_in but compare ip and port individuallyHarald Welte2010-05-121-4/+5
| | | | this seems to work more portably (ppc/32bit big endian)
* [gprs] NS: more state transitions, error reporting via Tx STATUS PDUHarald Welte2010-05-121-16/+64
|
* [gprs] NS: elevate events from LOGL_DEBUG to LOGL_INFOHarald Welte2010-05-121-13/+14
|
* [gprs] NS: update the remote peer IP addr/port on NS RESETHarald Welte2010-05-111-1/+2
|
* [gprs] NS: include port number in log statementHarald Welte2010-05-111-2/+3
|
* [gprs] gb-proxy: We might receive a NS-RESET for a NS-VC that we already knowHarald Welte2010-05-111-4/+21
| | | | | In this case, don't blindly allocate a new NS-VC but rather use the NSEI to lookup the 'struct gprs_nsvc' for it.
* [gprs] NS: Make sure we include "Rx" in the log statement for NS RESETHarald Welte2010-05-111-1/+5
|
* [gprs] NS: cleanup / fix compiler warningsHarald Welte2010-05-111-3/+5
|
* [gprs] BSSGP: cosmetic cleanupHarald Welte2010-05-111-9/+2
|
* [gprs] gb_proxy: Send proper BSSGP STATUS msg in error caseHarald Welte2010-05-112-82/+119
| | | | | | | | | | | In order to reuse the existing bssgp_tx_* functions without pulling in the dependencies of gprs_bssgp.c, we have to move those functions to gprs_bssgp_util.c Furthermore, we can remove gbprox_nsi and replace it with bssgp_nsi, and we can do proper processing of BVC-RESET messages coming from the SGSN on the signalling BVC. In that case we need to send RESET messages to all the BSS.
* [gprs] NS: Add signals in the event of BLOCK/UNBLOCK/RESETHarald Welte2010-05-111-4/+73
| | | | | | The signals will be sent upon reception of NS-BLOCK/UNBLOCK/RESET PDUs We also export functions to generate/send BLOCK/UNBLOCK and RESET.