aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gb_proxy.c
AgeCommit message (Collapse)AuthorFilesLines
2012-06-17libgb: prefix all NS related functions with gprs_Harald Welte1-2/+2
2012-06-17libgb: don't call directly into GMM / LLC layerHarald Welte1-0/+5
Instead of direct function calls to individual functions, we now generate primitives (osmo_prim) and send them to one application-provided function "bssgp_prim_cb()"
2012-06-16libgb: Use library SS_L_NS instead lf local SS_NSHarald Welte1-1/+1
which removes some further dependencies of libgb to openbsc internal code and data.
2012-06-16libgb: move GPRS specific msgb CB definitions to separate headerHarald Welte1-3/+3
2012-06-16split libgb into a separate library for outside useHarald Welte1-2/+3
This also removes the dependency to osmo_sock() inside libcommon and replaces it with osmo_sock_* from libosmocore
2011-04-18misc: Remove sys/types.h includes from the filesHolger Hans Peter Freyther1-1/+0
These are not needed any more. We used them for u_int types but we now use uint which comes from stdint.h
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-2/+2
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>
2011-02-06[gb_proxy] vty: display the BVC BLOCKED status in 'show gbproxy'Harald Welte1-4/+6
2011-02-06[gb_proxy] make sure bssgp cell id is copied correctlyHarald Welte1-1/+3
When we copy a msgb, we need to make sure the msgb_cb->bssgp_cell_id pointer points to data in the new message, not in the old message. Thanks to Dieter Spaar for spotting this.
2011-02-06[gb proxy] treat BVCI=1 consistently like signallingHarald Welte1-2/+2
1 is reserved for point-to-multipoint data, i.e. not a point-to-point BVCI.
2011-02-06[gb_proxy] Convert a NS-BLOCK from BSS into BVC-RESET to SGSNHarald Welte1-12/+31
As we only have one NS-VC between gb_proxy and SGSN, we cannot forward a NS-BLOCK from the BSS to the SGSN, as it would affect all other BSS's, too. Thus, we check if we have an unblocked PTP-BVC in the NSVC to the BSS, and then issue a BVC-BLOCK towards the SGSN. This should prevent any further PDU's from the SGSN to be sent to this BSS.
2011-02-06[gb_proxy] Track the state of blocked/unblocked BVC in the proxyHarald Welte1-13/+59
This allows us to reject any additional messages sent by the SGSN after the BVC was blocked (+ acknowledged to be blocked)
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte1-6/+5
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.
2010-10-06misc: Once again go from "On Waves" to "On-Waves"..Holger Hans Peter Freyther1-1/+1
Try to get the company name of our sponsor right...
2010-06-09GPRS: Copy the content of the msgb instead of creating one that points to ↵Holger Hans Peter Freyther1-4/+26
the other Right now the memcpy with the data will copy data to itself as the new_msg->data and msg->data are the same due the previous copying of the header which included copying the list entry.. We allocate a message as big as the current one, then we have to set all pointers by looking of how far they are away from the msg->_data and add that to the new pointers. Also copy the OpenBSC/GPRS specific CB data, also do the same for calculating the offset to the data... At the end we should end up with a copy...
2010-06-09GPRS: Fix crash when the peer can not be found...Holger Hans Peter Freyther1-2/+2
Use UINT_MAX (or -1) if the peer can not be found.
2010-05-25Migrate VTY code to libosmovtyHarald Welte1-1/+1
2010-05-19[GPRS] Gb proxy VTY: Make sure all lines are aligned properlyHarald Welte1-1/+1
2010-05-19[GPRS] Gb Proxy: print only one line for every BVCIHarald Welte1-4/+6
2010-05-19[GPRS] NS: Make sure we allocate NS packet with headroom for FR/GREHarald Welte1-1/+1
2010-05-19[GPRS] Add Frame Relay in GRE encapsulation for NSHarald Welte1-1/+1
2010-05-14[GPRS] gb_proxy: Initiate RESET procedure on persistent NS-VC at startupHarald Welte1-0/+12
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.
2010-05-13[GPRS] Gb Proxy: More verbose loggingHarald Welte1-15/+27
2010-05-13[GPRS] Gb Proxy: Cosmetic fix of log messageHarald Welte1-1/+2
2010-05-12GPRS: We have to do the msgb_free() in NS not Gb ProxyHarald Welte1-4/+0
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.
2010-05-12Gb Proxy: Proper msgb memory managementHarald Welte1-2/+31
The old idea was to take a msgb from gbprox_rcvmsg() and then modify it and finally send it all the way down to nsip_sendmsg() to the remote peer. However, this introduces memory management difficulties, as we then have to distinguish three cases: * msgb was sent to a remote peer * we sent some error message and need to free the msgb * we need to make n-1 copies in case of a BSSVC-RESET from the SGSN So instead we now simply always copy the message if we pass it on. All messages received by gbprox_rcvmsg() are msgb_free()d in the very same routine All messages allocated by tx2peer() or tx2sgsn() are freed after nsip_sendmsg()
2010-05-12NS / GB Proxy: Add Signal in case Tns-Alive expires too oftenHarald Welte1-0/+7
The Gb Proxy can then restart the RESET procedure.
2010-05-12[gprs] Gb proxy: log level consolidationHarald Welte1-7/+9
2010-05-12[gprs] gb_proxy: Snoop Cell ID from BSSGP RESETHarald Welte1-5/+22
If a PTP BVC is BVC-RESET by the BSS, the PDU contains the Cell Identifier. We can snoop this into our gbprox_peer structure for better visualization of each peer in they vty.
2010-05-11[gprs] gb_proxy: more verbose debuggingHarald Welte1-4/+7
2010-05-11[gprs] gb_proxy: Fix detecting the SGSN-facing ns-vc by its NSEIHarald Welte1-0/+8
make sure we mark the NS connection as 'SGSN-facing' if the NSEI matches
2010-05-11[gprs] Gb proxy: cosmetic cleanupHarald Welte1-3/+5
2010-05-11[gprs] gb_proxy: Send proper BSSGP STATUS msg in error caseHarald Welte1-40/+70
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.
2010-05-11[gprs] gb_proxy: Forward NS-RESET/NS-BLOCK/NS-UNBLOCK from SGSN to BTSsHarald Welte1-0/+32
2010-05-11[gprs] gb_proxy: More VTY 'show' informationHarald Welte1-0/+25
The 'show gbproxy' now actually shows information about the Gb proxy BTS peers, whereas 'show ns' shows information about existing NS links.
2010-05-04[gprs] Move all GPRS related code to src/gprs subdirectoryHarald Welte1-0/+416