Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [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 |
| | |||||
* | 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 |
| | |||||
* | [GPRS] NS: Always start NS-ALIVE procedure after RESET | Harald Welte | 2010-05-15 | 1 | -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 VTY | Harald Welte | 2010-05-14 | 1 | -0/+33 |
| | |||||
* | [VTY] Introduce "end" command that works from any level in config | Harald Welte | 2010-05-14 | 1 | -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/vty | Harald Welte | 2010-05-14 | 1 | -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 startup | Harald Welte | 2010-05-14 | 1 | -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 BVC | Harald Welte | 2010-05-13 | 1 | -0/+22 |
| | |||||
* | [GPRS] BSSGP: Make implementation more robust | Harald Welte | 2010-05-13 | 1 | -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 FIXMEs | Harald Welte | 2010-05-13 | 1 | -8/+10 |
| | | | | And fix mistake regarding FLUSH-LL / FLUSH-LL-ACK direction | ||||
* | [GPRS] NS: Remove 'unknown_nsvc' from list of NS-VCs | Harald Welte | 2010-05-13 | 1 | -0/+3 |
| | |||||
* | [GPRS] NS: Fix segfault when receiving message from unknown NS-VC | Harald Welte | 2010-05-13 | 2 | -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 l2len | Harald Welte | 2010-05-13 | 1 | -1/+0 |
| | |||||
* | [GPRS] NS: more rate counters for BLOCK / DEAD count | Harald Welte | 2010-05-13 | 1 | -8/+25 |
| | |||||
* | [GPRS] NS: Show statistics on VTY only if requested | Harald Welte | 2010-05-13 | 1 | -4/+19 |
| | |||||
* | [GPRS] NS: properly assign msgb->l2h to count outgoing bytes correctly | Harald Welte | 2010-05-13 | 1 | -1/+2 |
| | |||||
* | [GPRS] NS: Fix wrong counter use and remove debug statement | Harald Welte | 2010-05-13 | 1 | -4/+2 |
| | |||||
* | [GPRS] NS: Start to use rate_ctr_group code from libosmocore | Harald Welte | 2010-05-13 | 2 | -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 Proxy | Harald Welte | 2010-05-12 | 1 | -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 VTY | Harald Welte | 2010-05-12 | 1 | -12/+58 |
| | |||||
* | use new install_element_ve() | Harald Welte | 2010-05-12 | 1 | -2/+1 |
| | |||||
* | Make sure all commands of SHOW_NODE to ENABLE_NODE | Harald Welte | 2010-05-12 | 1 | -0/+1 |
| | |||||
* | NS: Add support for persistent NS-VC configuration | Harald Welte | 2010-05-12 | 1 | -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 peer | Harald Welte | 2010-05-12 | 1 | -0/+1 |
| | |||||
* | Display NSEI instead of NSVCI for all debug msgs | Harald Welte | 2010-05-12 | 1 | -4/+4 |
| | |||||
* | NS: Send STATUS or RESET when receiving NS_ALIVE on unknown NSVC | Harald Welte | 2010-05-12 | 1 | -5/+15 |
| | |||||
* | NS / GB Proxy: Add Signal in case Tns-Alive expires too often | Harald Welte | 2010-05-12 | 1 | -0/+1 |
| | | | | The Gb Proxy can then restart the RESET procedure. | ||||
* | NS: Debug NS timer expiry | Harald Welte | 2010-05-12 | 1 | -2/+16 |
| | |||||
* | NS: Add more LOG_DEBGU messages and retransmit NS-ALIVE | Harald Welte | 2010-05-12 | 1 | -4/+23 |
| | |||||
* | NS: More INFO messages about what we actually transmit | Harald Welte | 2010-05-12 | 1 | -0/+13 |
| | |||||
* | NS: don't memcmp sockaddr_in but compare ip and port individually | Harald Welte | 2010-05-12 | 1 | -4/+5 |
| | | | | this seems to work more portably (ppc/32bit big endian) | ||||
* | [gprs] NS: more state transitions, error reporting via Tx STATUS PDU | Harald Welte | 2010-05-12 | 1 | -16/+64 |
| | |||||
* | [gprs] NS: elevate events from LOGL_DEBUG to LOGL_INFO | Harald Welte | 2010-05-12 | 1 | -13/+14 |
| | |||||
* | [gprs] NS: update the remote peer IP addr/port on NS RESET | Harald Welte | 2010-05-11 | 1 | -1/+2 |
| | |||||
* | [gprs] NS: include port number in log statement | Harald Welte | 2010-05-11 | 1 | -2/+3 |
| | |||||
* | [gprs] gb-proxy: We might receive a NS-RESET for a NS-VC that we already know | Harald Welte | 2010-05-11 | 1 | -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 RESET | Harald Welte | 2010-05-11 | 1 | -1/+5 |
| | |||||
* | [gprs] NS: cleanup / fix compiler warnings | Harald Welte | 2010-05-11 | 1 | -3/+5 |
| | |||||
* | [gprs] BSSGP: cosmetic cleanup | Harald Welte | 2010-05-11 | 1 | -9/+2 |
| | |||||
* | [gprs] gb_proxy: Send proper BSSGP STATUS msg in error case | Harald Welte | 2010-05-11 | 2 | -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/RESET | Harald Welte | 2010-05-11 | 1 | -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. | ||||
* | [gprs] Add new 'NS' and 'BSSGP' logging categories | Harald Welte | 2010-05-11 | 2 | -44/+44 |
| | |||||
* | [gprs] Move all GPRS related code to src/gprs subdirectory | Harald Welte | 2010-05-04 | 2 | -0/+0 |
| | |||||
* | [gprs] NS: If we are the BSS side, UNBLOCK the connection after it is ALIVE | Harald Welte | 2010-05-04 | 1 | -0/+9 |
| | | | | | After RESET / RESET-ACK and ALIVE / ALIVE-ACK, the connection needs to be unblocked from the BSS side to the SGSN. |