aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-08-21libctrl: Remove reference to 'DNAT' in favor of 'DCTRL'Harald Welte1-1/+1
2014-08-21libctr: rename/move control interface to libosmocore naming schemeHarald Welte5-0/+0
2014-08-21ctrl: Allow the value to contain spaces. No need to split the stringHolger Hans Peter Freyther1-1/+1
2014-08-21ctrl: Use CTRL_CMD_DEFINE_STRUCT in CTRL_CMD_DEFINE_RANGEHolger Hans Peter Freyther1-6/+1
Jacob pointed out that I didn't convert CTRL_CMD_DEFINE_RANGE. This patch is doing it now.
2014-08-21ctrl: Reduce code duplication and add a define to create the structHolger Hans Peter Freyther1-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.
2014-08-21ctrl: Remove the param parameter as it was never used/implementedHolger Hans Peter Freyther2-6/+0
2014-08-21ctrl: Introduce a macro for read-only attributes and use itHolger Hans Peter Freyther1-0/+14
Certain attributes are read-only. Add a macro to make it more easy to define those.
2014-08-21ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messagesJacob Erlbeck2-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
2014-08-21ctrl: Move the lookup into a separate file in preparation for GPRSHolger Hans Peter Freyther3-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.
2014-08-21ctrl: Make it possible to re-use the string get and set routineHolger Hans Peter Freyther1-3/+7
This can be used for the description field that requires some special handling for newlines.
2014-08-21ctrl: Make the int range set, get and verify methods availableHolger Hans Peter Freyther1-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.
2014-08-21ctrl: Set a generic reply when it hasn'n been setJacob Erlbeck1-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.
2014-08-21ctrlif: Flush/Clear write_queue when closing the control socketHarald Welte1-0/+1
2014-08-21Makefile.am: Use AM_CPPFLAGSAlexander Huemer1-1/+1
Since automake 1.13 INCLUDES is depricates and causes a warning
2014-08-21ctrl: Provide a reply in case the range check failedHolger Hans Peter Freyther1-0/+1
2014-08-21ctrl: Make the commands static to not pollute the namespaceHolger Hans Peter Freyther1-3/+3
We do not need to access these commands from another compilation unit and can just make it static.
2014-08-21ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther1-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.
2014-08-21ctrl: Fix the signature of the string control commandsHolger Hans Peter Freyther1-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.
2014-08-21libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann2-11/+3
net is now implicit in the root node
2014-08-21ctrl: Use strtol instead of atoi to detect conversion errorsDaniel Willmann1-10/+27
2014-08-21ctrl: Improve error messages in ctrl_cmd_handleDaniel Willmann1-12/+28
2014-08-21ctrl: Change the paths to bts.%i. instead of bts%iDaniel Willmann1-6/+18
2014-08-21ctrl: Improve error handling if controlif setup failsDaniel Willmann1-12/+16
2014-08-21libctrl: Add function ctrl_cmd_send_to_allDaniel Willmann2-0/+18
Sends a command to all ctrl connections except the one it originated from.
2014-08-21libctrl: Add trap helper functionDaniel Willmann2-0/+14
2014-08-21libctrl: Change controlif_setup so it returns the ctrl handleDaniel Willmann3-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
2014-08-21libctrl: Keep track of connections in struct ctrl_handleDaniel Willmann1-1/+11
2014-08-21misc: Use other size modifiers to fix compiler warningsHolger Hans Peter Freyther1-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]
2014-08-21libctrl: only free() msgb if it was alloc()edAlexander Huemer1-1/+1
Before this patch a SIGABRT was caused when doing e.g.: $ ncat 127.0.0.1 4249 ^C
2014-08-21fix some "implicit declaration" warnings in osmo-nitbAlexander Huemer1-0/+13
2014-08-21libctrl: Add a function to create the cmdHolger Hans Peter Freyther2-0/+13
2014-08-21libctrl: Don't overwrite error reply if the verify function sets oneDaniel Willmann1-1/+3
2014-08-21libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann2-14/+14
2014-08-21libctrl: Bind control interface to localhostDaniel Willmann1-1/+1
2014-08-21libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2-28/+28
2014-08-21src: port openBSC over libosmo-abisPablo Neira Ayuso3-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.
2014-08-21libctrl: Use inttypes.h macros to make uint64_t printfs portable.Daniel Willmann1-1/+2
2014-08-21controlif: declare controlif_setup() in control_cmd.hHarald Welte1-0/+3
this avoids us to copy+paste external declarations over all 'main' files.
2014-08-21libctrl: Add ctrl_cmd_cpy() to copy a commandDaniel Willmann2-0/+37
2014-08-21libctrl: Add commands to query counters and rate_cntrDaniel Willmann1-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>.
2014-08-21libctrl: Add macros to help define commandsDaniel Willmann1-0/+69
2014-08-21Add libctrl, an SNMP-like control interfaceDaniel Willmann4-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.
2014-08-21new <osmocom/vty/ports.h> file listing VTY tcp portsHarald Welte2-1/+16
imported from http://openbsc.osmocom.org/trac/wiki/PortNumbers
2014-08-21gsm0808: Fix copy and paste pointed out by clangHolger Hans Peter Freyther1-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 },
2014-08-21macaddr: Add some code for FreeBSD (it should work on the others too)Holger Hans Peter Freyther1-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.
2014-08-21ipa: use %z as format string whne printing sizeof() resultHarald Welte1-1/+1
thanks to Holger for reminding me
2014-08-21ipa: fix compiler warning regarding printf (%d -> %lu)Harald Welte1-1/+1
2014-08-21macaddr: add #include unistd.h for close() functionHarald Welte1-0/+1
this fixes a compile warning
2014-08-20ipa: rename functions for consistencyHarald Welte5-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.
2014-08-20import various generic IPA related functions from libosmo-abisHarald Welte4-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.