summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libctr: rename/move control interface to libosmocore naming schemeHarald Welte2014-08-215-0/+0
|
* ctrl: Allow the value to contain spaces. No need to split the stringHolger Hans Peter Freyther2014-08-211-1/+1
|
* ctrl: Use CTRL_CMD_DEFINE_STRUCT in CTRL_CMD_DEFINE_RANGEHolger Hans Peter Freyther2014-08-211-6/+1
| | | | | Jacob pointed out that I didn't convert CTRL_CMD_DEFINE_RANGE. This patch is doing it now.
* ctrl: Reduce code duplication and add a define to create the structHolger Hans Peter Freyther2014-08-211-13/+10
| | | | | | This has been pointed out by Jacob and removes two more duplicates of the struct. For the unused CTRL_CMD_DEFINE_STRING macro there will be no verify command.
* ctrl: Remove the param parameter as it was never used/implementedHolger Hans Peter Freyther2014-08-212-6/+0
|
* ctrl: Introduce a macro for read-only attributes and use itHolger Hans Peter Freyther2014-08-211-0/+14
| | | | | Certain attributes are read-only. Add a macro to make it more easy to define those.
* ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messagesJacob Erlbeck2014-08-212-1/+7
| | | | | | | | | | | | | | The old ipa_msg_recv() implementation didn't support partial receive, so IPA connections got disconnected when this happened. This patch adds the handling of the temporary message buffers and uses ipa_msg_recv_buffered(). It has been successfully tested by jerlbeck with osmo-nitb and osmo-bsc. Ticket: OW#768 Sponsored-by: On-Waves ehf
* ctrl: Move the lookup into a separate file in preparation for GPRSHolger Hans Peter Freyther2014-08-213-152/+14
| | | | | | For GPRS the look-up via bts/trx does not make any sense and would introduce bad depdencies for the SGSN. Move the look-up code to a new file and introduce new setup methods.
* ctrl: Make it possible to re-use the string get and set routineHolger Hans Peter Freyther2014-08-211-3/+7
| | | | | This can be used for the description field that requires some special handling for newlines.
* ctrl: Make the int range set, get and verify methods availableHolger Hans Peter Freyther2014-08-211-4/+12
| | | | | | For the max power reduction we will need to have a different range method. It will need to check if the value is even. Make the set, get and verify methods available through a macro.
* ctrl: Set a generic reply when it hasn'n been setJacob Erlbeck2014-08-211-1/+9
| | | | | | | | | | | When verification failed and the reply string was not updated, the message "Someone forgot to fill in the reply." was shown instead of the default "Value failed verification." message. This patch changes the default reply handling in ctrl_cmd_handle() by setting the reply to NULL initially and then checking it at the end. If it hasn't been set, a generic message is assigned and an error is logged.
* ctrlif: Flush/Clear write_queue when closing the control socketHarald Welte2014-08-211-0/+1
|
* Makefile.am: Use AM_CPPFLAGSAlexander Huemer2014-08-211-1/+1
| | | | Since automake 1.13 INCLUDES is depricates and causes a warning
* ctrl: Provide a reply in case the range check failedHolger Hans Peter Freyther2014-08-211-0/+1
|
* ctrl: Make the commands static to not pollute the namespaceHolger Hans Peter Freyther2014-08-211-3/+3
| | | | | We do not need to access these commands from another compilation unit and can just make it static.
* ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther2014-08-211-9/+9
| | | | | | Make the macros use the cmd->node instead of the data pointer. The naming of the variable inside the macro already indicates that it should use the nodes data structure.
* ctrl: Fix the signature of the string control commandsHolger Hans Peter Freyther2014-08-211-2/+7
| | | | | | | | Like with all type unsafe callbacks we will need to cast from void to the dtype. This addresses some compiler warnings. Make it possible to only include the control_cmd.h to use the macros defined in this file.
* libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann2014-08-212-11/+3
| | | | net is now implicit in the root node
* ctrl: Use strtol instead of atoi to detect conversion errorsDaniel Willmann2014-08-211-10/+27
|
* ctrl: Improve error messages in ctrl_cmd_handleDaniel Willmann2014-08-211-12/+28
|
* ctrl: Change the paths to bts.%i. instead of bts%iDaniel Willmann2014-08-211-6/+18
|
* ctrl: Improve error handling if controlif setup failsDaniel Willmann2014-08-211-12/+16
|
* libctrl: Add function ctrl_cmd_send_to_allDaniel Willmann2014-08-212-0/+18
| | | | | Sends a command to all ctrl connections except the one it originated from.
* libctrl: Add trap helper functionDaniel Willmann2014-08-212-0/+14
|
* libctrl: Change controlif_setup so it returns the ctrl handleDaniel Willmann2014-08-213-16/+20
| | | | | | | nat: Catch up with controlif_setup API change We now save a control handle reference in the nat osmo-bsc: Catch up with controlif_setup API change We now save a control handle reference in the gsm network
* libctrl: Keep track of connections in struct ctrl_handleDaniel Willmann2014-08-211-1/+11
|
* misc: Use other size modifiers to fix compiler warningsHolger Hans Peter Freyther2014-08-211-1/+1
| | | | | | control_if.c:521:2: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ [-Wformat] osmo_bsc_bssap.c:473:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat] mgcp_main.c:162:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformatt]
* libctrl: only free() msgb if it was alloc()edAlexander Huemer2014-08-211-1/+1
| | | | | | Before this patch a SIGABRT was caused when doing e.g.: $ ncat 127.0.0.1 4249 ^C
* fix some "implicit declaration" warnings in osmo-nitbAlexander Huemer2014-08-211-0/+13
|
* libctrl: Add a function to create the cmdHolger Hans Peter Freyther2014-08-212-0/+13
|
* libctrl: Don't overwrite error reply if the verify function sets oneDaniel Willmann2014-08-211-1/+3
|
* libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann2014-08-212-14/+14
|
* libctrl: Bind control interface to localhostDaniel Willmann2014-08-211-1/+1
|
* libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2014-08-212-28/+28
|
* src: port openBSC over libosmo-abisPablo Neira Ayuso2014-08-213-37/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
* libctrl: Use inttypes.h macros to make uint64_t printfs portable.Daniel Willmann2014-08-211-1/+2
|
* controlif: declare controlif_setup() in control_cmd.hHarald Welte2014-08-211-0/+3
| | | | | this avoids us to copy+paste external declarations over all 'main' files.
* libctrl: Add ctrl_cmd_cpy() to copy a commandDaniel Willmann2014-08-212-0/+37
|
* libctrl: Add commands to query counters and rate_cntrDaniel Willmann2014-08-211-0/+258
| | | | | | | | | | | | These commands are installed in controlif_setup. Query them like this: "rate_ctr.<interval>.<counter group>.<index>.<counter name>" for rate counters and "counter.<counter name>" for regular counters. <interval> may be either "abs" for absolute values or one or "per_{sec,min,hour,day}". It is possible to query all rate counters in a group (regardless of index) or all counters in a group and with a certain index if you omit <counter name> and <index> or just <counter name>.
* libctrl: Add macros to help define commandsDaniel Willmann2014-08-211-0/+69
|
* Add libctrl, an SNMP-like control interfaceDaniel Willmann2014-08-214-0/+900
| | | | | | In contrast to the VTY interface the control interface is meant to be used by programs. This patch adds basic support, no commands are defined.
* new <osmocom/vty/ports.h> file listing VTY tcp portsHarald Welte2014-08-212-1/+16
| | | | imported from http://openbsc.osmocom.org/trac/wiki/PortNumbers
* gsm0808: Fix copy and paste pointed out by clangHolger Hans Peter Freyther2014-08-211-1/+1
| | | | | | | | | | | | | | | The element following the identifier list was the GSM0808_IE_LSA_INFORMATION. It is a TLV type as well and the issue got introduced in 92107dfd3b99ab0dbb0f4770286454ad94a36de2. Fixes: gsm0808.c:316:40: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV }, ^~~~~~~~~~~~ gsm0808.c:315:40: note: previous initialization is here [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV },
* macaddr: Add some code for FreeBSD (it should work on the others too)Holger Hans Peter Freyther2014-08-211-0/+41
| | | | | | | | There doesn't seem to be a way to share this code with Linux as it doesn't have the sockaddr_dl concept inside the getifaddrs. I manually verified this on a FreeBSD10 box and hex decoding gave me the correct mac address and rc was 0.
* ipa: use %z as format string whne printing sizeof() resultHarald Welte2014-08-211-1/+1
| | | | thanks to Holger for reminding me
* ipa: fix compiler warning regarding printf (%d -> %lu)Harald Welte2014-08-211-1/+1
|
* macaddr: add #include unistd.h for close() functionHarald Welte2014-08-211-0/+1
| | | | this fixes a compile warning
* ipa: rename functions for consistencyHarald Welte2014-08-205-37/+52
| | | | | | | | As we are breaking builds by moving functions from libosmo-abis to libosmocore anyway, we might as well give functions more appropriate names. ipaccess is a company, while IPA is the multiplex protocol, and CCM is the protocol used for establishing identities on the IPA multiplex.
* import various generic IPA related functions from libosmo-abisHarald Welte2014-08-204-1/+511
| | | | | | | | | libosmo-abis is about forming A-bis interfaces/lines by means of E1 or the IPA multiplex (or possibly other link layers). The IPA multiplex is used in other contexts, such as the Control interface, or the A interface. In that context, it makes sense to have generic IPA related functions in libosmocore.
* Add osmo_get_macaddr() function to obtain etherent mac addressHarald Welte2014-08-182-0/+27
| | | | | This used to be private in osmo-bts/common/abis.c, where it really didn't belong.