Commit Graph

2138 Commits

Author SHA1 Message Date
Neels Hofmeyr 657c5b6cad vty: derive node name from prompt, use as XML ids
The 'show online-help' produces XML output with <node id="..."> ids.  We
reference those from the osmo-gsm-manuals.

Instead of numeric IDs coming from internal code, rather use a human-readable
node ID -- referencing id='config-msc' is much easier than referencing id='23'.

Add a char name[] to struct cmd_node, to hold this name. This may be provided
upon struct definition.

Since callers of the VTY API so far don't have a name yet, we would need to add
names everywhere to get meaningful node IDs. There is a way to get node ID
names without touching dependent code:

My first idea was to find out which command entered the node, i.e. command
'msc' enters the MSC_NODE. But it is impossible to derive which command entered
which node from data structs, it's hidden in the vty command definition.

But in fact all (TM) known API callers indeed provide a prompt string that
contains a logical and human readable string name. Thus, if the name is unset
in the struct, parse the prompt string and strip all "weird" characters to
obtain a node name from that. We can still set names later on, but for now will
have meaningful node IDs (e.g. 'config-msc' from '%s(config-msc)# ') without
touching any dependent code.

When VTY nodes get identical node names, which is quite possible, the XML
export de-dups these by appending _2, _3,... suffixes. The first occurence is
called e.g. 'name', the second 'name_2', then 'name_3', and so forth.

If a node has no name (even after parsing the prompt), it will be named merely
by the suffix. The first empty node will become id='_1', then '_2', '_3', and
so forth. This happens for nodes like VIEW_NODE or AUTH_NODE.

If this is merged, we need to adjust the references in osmo-gsm-manuals.git.
This can happen in our own time though, because we manually create the vty
reference xml and copy it to the osmo-gsm-manuals.git and then update the
references from the vty_additions.xml. This anyway has to happen because
currently the references tend to be hopelessly out of sync anyway, placing
comments at wildly unrelated VTY commands.

Change-Id: I8fa555570268b231c5e01727c661da92fad265de
2017-09-23 12:24:58 +00:00
Neels Hofmeyr 0b723f6a6c vty: use internal node id for xml ids
The 'show online-help' produces XML output with <node id="..."> ids.  We
reference those from the osmo-gsm-manuals, but until now, these ids fall out of
sync when the amount of VTY nodes changes.

Change these ids to use the internal node ID constant (as in enum bsc_vty_node)
instead of a simple counter.

If this is merged, we need to adjust the references in osmo-gsm-manuals.git.

Change-Id: Ib07fb9d9106e19f5be6539493e82b5d5991f8bc2
2017-09-23 12:24:56 +00:00
Neels Hofmeyr b022c867e8 vty_test: add artificial node levels for better testing
In vty_test, add three levels of parent nodes (level1, level2, level3) with
each having a leaf child (child1, child2, child3).

Use these to enhance the vty_test cfg files and test more diverse situations.

The current VTY code expects a go_parent_cb() to be present, otherwise it will
bump right back to the CONFIG_NODE, which will not work with more than one node
level below the CONFIG_NODE. Hence provide a minimal go_parent_cb().

Change-Id: Ib9bcf58b655fbd85e196f363fb7d8305d7dfc997
2017-09-20 03:32:24 +02:00
Neels Hofmeyr 00b5ed3d92 comment: describe indent_cmp()
Change-Id: Ia58c16d995f6751bdd69defe8a46665aee163f3d
2017-09-20 00:57:33 +02:00
Neels Hofmeyr 430636328c fix vty regression: empty parent node
The recent exit-by-indent patch breaks a VTY case where a node is entered but
directly followed by a sibling or ancestor without listing any child nodes.
Regression introduced by I24cbb3f6de111f2d31110c3c484c066f1153aac9.

An example is a common usage in osmo-bts, where 'phy N' / 'instance N' is a
parent node that is commonly left empty:

	phy 0
	 instance 0
	bts 0
	 band 1800

Before this patch, this case produces the error:

	There is no such command.
	Error occurred during reading the below line:
	bts 0

Fix indentation parsing logic in command.c to accomodate this case.

Add a unit test for empty parent node.

Change-Id: Ia0880a17ae55accb092ae8585cc3a1bec9986891
2017-09-20 00:57:33 +02:00
Neels Hofmeyr 4a31ffa2f0 VTY: implicit node exit by de-indenting, not parent lookup
Note: This will break users' config files if they do not use consistent
indenting. (see below for a definition of "consistent".)

When reading VTY commands from a file, use indenting as means to implicitly
exit child nodes. Do not look for commands in the parent node implicitly.

The VTY so far implies 'exit' commands if a VTY line cannot be parsed on the
current node, but succeeds on the parent node. That is the mechanism by which
our VTY config files do not need 'exit' at the end of each child node.

We've hit problems with this in the following scenarios, which will show
improved user experience after this patch:

*) When both a parent and its child node have commands with identical names:

  cs7 instace 0
   point-code 1.2.3
   sccp-address osmo-msc
    point-code 0.0.1

If I put the parent's command below the child, it is still interpreted in the
context of the child node:

  cs7 instace 0
   sccp-address osmo-msc
    point-code 0.0.1
   point-code 1.2.3

Though the indenting lets me assume I am setting the cs7 instance's global PC
to 1.2.3, I'm actually overwriting osmo-msc's PC with 1.2.3 and discarding the
0.0.1.

*) When a software change moves a VTY command from a child to a parent. Say
'timezone' moved from 'bts' to 'network' level:

  network
   timezone 1 2

Say a user still has an old config file with 'timezone' on the child level:

  network
   bts 0
    timezone 1 2
    trx 0

The user would expect an error message that 'timezone' is invalid on the 'bts'
level. Instead, the VTY finds the parent node's 'timezone', steps out of 'bts'
to the 'network' level, and instead says that the 'trx' command does not exist.

Format:

Consistent means that two adjacent indenting lines have the exact
same indenting characters for the common length:

Weird mix if you ask me, but correct and consistent:

  ROOT
  <space>PARENT
  <space><tab><space>CHILD
  <space><tab><space><tab><tab>GRANDCHILD
  <space><tab><space><tab><tab>GRANDCHILD2
  <space>SIBLING

Inconsistent:

  ROOT
  <space>PARENT
  <tab><space>CHILD
  <space><space><tab>GRANDCHILD
  <space><tab><tab>GRANDCHILD2
  <tab>SIBLING

Also, when going back to a parent level, the exact same indenting must be used
as before in that node:

Incorrect:

  ROOT
  <tab>PARENT
  <tab><tab><tab>CHILD
  <tab><tab>SIBLING

As not really intended side effect, it is also permitted to indent the entire
file starting from the root level. We could guard against it but there's no
harm:

Correct and consistent:

  <tab>ROOT
  <tab><tab>PARENT
  <tab><tab><tab><tab>CHILD
  <tab><tab>SIBLING

Implementation:

Track parent nodes state: whenever a command enters a child node, push a parent
node onto an llist to remember the exact indentation characters used for that
level.

As soon as the first line on a child node is parsed, remember this new
indentation (which must have a longer strlen() than its parent level) to apply
to all remaining child siblings and grandchildren.

If the amount of spaces that indent a following VTY command are less than this
expected indentation, call vty_go_parent() until it matches up.

At any level, if the common length of indentation characters mismatch, abort
parsing in error.

Transitions to child node are spread across VTY implementations and are hard to
change. But transitions to the parent node are all handled by vty_go_parent().
By popping a parent from the list of parents in vty_go_parent(), we can also
detect that a command has changed the node without changing the parent, hence
it must have stepped into a child node, and we can push a parent frame.

The behavior on the interactive telnet VTY remains unchanged.

Change-Id: I24cbb3f6de111f2d31110c3c484c066f1153aac9
2017-09-19 01:35:30 +00:00
Max a52d839343 Expand bit pretty-printer
Add OSMO_BIT_PRINT_EX() which is like OSMO_BIT_PRINT() but allows to
specify character to be printed for set bits. It's useful to print bytes
used as mask where set bit has particular semantics - for example TS
mask in OsmoPCU.

Change-Id: I72528bc1e376134c5a7b6e7a50c48e38c3f48b0a
Related: OS#2282
2017-09-18 09:14:28 +00:00
Max 98f6482ec7 Make release helper more robust
* check for bumpversion and error out if missing
* drop bumpversion dependency from .deb

Change-Id: Ide04d4c1ba20426bdf9531e25b462eda9418858a
Related: OS#1861
2017-09-15 15:04:20 +00:00
Neels Hofmeyr b2e41cc174 osmo-auc-gen.c: squelch compiler warnings, move local var
The compiler thinks that ind or ind_mask may be used uninitialized, because it
doesn't analyze the conditionality of command line arguments and other
variables set accordingly. Make the compiler happy by zero initializing.

Change-Id: I9ddcb0525159da520aceaeb6e908a735a003bb5a
2017-09-12 04:35:24 +02:00
Neels Hofmeyr d64b6aed23 VTY: interactive: never look for matching commands on parent node
For interactive telnet VTY, remove the implicit move up to the parent node when
a command did not succeed on the current node level.

When reading config files, this behavior was useful to allow skipping explicit
'exit' commands. (A different patch deals with that.)

In the telnet VTY, this behavior was never necessary. Explicit 'exit' commands
can move to the parent node, and typically uninformed users expect to require
that.

On a telnet VTY, counting indents like for reading config files is not an
option: a user will always type from the first column or may paste some leading
spaces without intended meaning.

After this patch, it is thus no longer possible to paste a complete config
across several node levels directly to a telnet session, unless it contains
'exit' commands.

Change-Id: Id73cba2dd34676bad8a130e9c45e67a272f19588
2017-09-08 23:45:52 +00:00
Neels Hofmeyr 889ab16437 ipa: place comment "IPA Multiplex" on ipa allocated msgbs
libosmocore offers the ipa API as general IPA Multiplex, which is e.g. used for
GSUP in osmo-msc. Looking at talloc reports, it is confusing to see "Abis/IP"
as msgb comment, because osmo-msc does not have an Abis interface.

Rename to "IPA Multiplex" as a more general description.

Change-Id: I3714dd21707bec0c4bcd0871e6ee8ff32d56b125
2017-09-07 20:41:12 +02:00
Keith Whyte 03516d6dd2 cosmetic: clarify language in vty read error
This is very minor but it annoys every time I see it.
The text: "Error occurred during reading below line:"
is not a complete sentence. The default understanding
in english having left out the article implies
that the error occured reading below [the] specified line, not
that the error occured reading [the] specified line.

That is to say, The message implied that the printed line
was the last successfully parsed line.

Change-Id: Ib4dd135feb9609b14983db5dac321a70267d8f30
2017-09-05 10:44:22 +00:00
Ivan Kluchnikov b9759dba9e lapd_core: Fix crash in lapd_est_req() function
lapd_est_req() function could be called on uninitialized lapd link
(before lapd_dl_init() and after lapd_dl_exit() functions) due to
invalid usage on higher levels.
In order to prevent using uninitialized lapd link, we should set
LAPD_STATE_NULL state for lapd_datalink in lapd_dl_exit() function.
So all messages for lapd_datalink in null state will be unhandled by
lapd_recv_dlsap() function and lapd_est_req() function will not be
called before lapd_dl_init() function where lapd link state is changed
to idle.

 #0  0x00007f46ecd99aa5 in lapd_est_req (dp=<optimized out>, lctx=0x7f46ed80b8b8) at
     lapd_core.c:1769
 #1  0x00007f46ecd9dda8 in rslms_rx_rll_est_req (msg=msg@entry=0x7f46eeab4940,
     dl=dl@entry=0x7f46ed80b888) at lapdm.c:845
 #2  0x00007f46ecd9fc03 in rslms_rx_rll (lc=0x7f46ed80b398, msg=0x7f46eeab4940) at
     lapdm.c:1157
 #3  lapdm_rslms_recvmsg (msg=0x7f46eeab4940, lc=0x7f46ed80b398) at lapdm.c:1223
 #4  0x00007f46ed63773d in rsl_rx_rll (msg=<optimized out>, trx=<optimized out>) at
     rsl.c:2178
 #5  down_rsl (trx=<optimized out>, msg=<optimized out>) at rsl.c:2541
 #6  0x00007f46ed641529 in sign_link_cb (msg=<optimized out>) at abis.c:169
 #7  0x00007f46ec54b111 in ipaccess_bts_read_cb (link=0x7f46eeab4940, msg=0x0) at
     input/ipaccess.c:807
 #8  0x00007f46ec548a8e in ipa_client_read (link=0x7f46ee26ae30) at input/ipa.c:74
 #9  ipa_client_fd_cb (ofd=<optimized out>, what=1) at input/ipa.c:137
 #10 0x00007f46ecfc726f in osmo_fd_disp_fds (_eset=0x7ffe7a9fcd20, _wset=0x7ffe7a9fcca0,
     _rset=0x7ffe7a9fcc20) at select.c:167
 #11 osmo_select_main (polling=polling@entry=0) at select.c:207
 #12 0x00007f46ed63fc25 in bts_main (argc=5, argv=<optimized out>) at main.c:359
 #13 0x00007f46ebd76f45 in __libc_start_main (main=0x7f46ed61b120 <main>, argc=5,
     argv=0x7ffe7a9fcf18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
 #14 0x00007f46ed61b14e in _start ()

Related: OS#1982
Change-Id: I306dad9b78e3becaef14c5305ec25c312feefe3c
2017-09-01 16:49:26 +03:00
Max 99377c2daa libosmogsm: add Routing Area Identifier test
Ensure that gsm48_parse_ra() and gsm48_construct_ra() behave properly.

Change-Id: I27117fe728407dd10886459e89ba4ff9d5e53e6b
2017-09-01 07:57:40 +00:00
Vadim Yanitskiy 272bd4fa66 Makefile.am: fix missing LTLDFLAGS for libosmocoding
Despite the libosmocoding.map is preset since the library release,
one was not used in a proper way. The LTLDFLAGS were missing, so
let's add them.

Change-Id: Idf677825ff642d50bea43c7f970810783e864fdd
2017-08-31 17:53:04 +07:00
Max 483cdffeb8 Add define for supported a5 key length limit
Change-Id: I8ed0f1dbc31aaff22a685ceb3bd2f8db4d2f34fd
2017-08-30 09:09:39 +00:00
Neels Hofmeyr 2066a42d5a umts aka: add sqn_ms out-param, print SQN.MS in osmo-auc-gen
When doing UMTS AKA with AUTS, it can be interesting to know the SQN.MS that
was encoded in the AUTS. The only way to know this is to provide it as a
separate out-parameter from milenage_gen_vec_auts(), because the SQN.MS from
AUTS stored in umts.sqn is immediately modified non-trivially by
milenage_gen_vec(). Add sqn_ms to struct osmo_sub_auth_data to retain SQN.MS
even after a vector was generated.

Use this to print out SQN.MS for 'osmo-auc-gen -3 -A'.

Adjust test suite expectations.

Related: OS#2464
Change-Id: I9fc05bbf169d06716f40b995154fd42a3f91bef3
2017-08-29 12:46:46 +00:00
Neels Hofmeyr 95500c88b4 cosmetic: umts aka: tweak comments for sqn and ind
Clearly indicate that 'sqn' is an in *and* out-parameter.

Clarify the effect of 'ind'.

Change-Id: Ia40cd4ddf35f4fbe895b45b8ea59378f5ce9eb1f
2017-08-29 12:46:46 +00:00
Neels Hofmeyr e6e6446edf osmo-auc-gen: umts: print out the IND of the SQN used
Make ind_mask available in the main(){} scope, in order to print out
IND = SQN & ind_mask.

Adjust test suite expectations.

Related: OS#2465
Change-Id: I91eac53c4af66a58b9372d9baf5781fc9f29b1fc
2017-08-29 12:46:46 +00:00
Neels Hofmeyr b1af6ef164 osmo-auc-gen: umts: add --ind-len arg
osmo-auc-gen so far does not allow indicating the IND bit length of SQN. A
default of 5 serves most practical cases, nevertheless we should allow passing
arbitrary IND lengths.

Enhance the test suite to test --ind-len.

Related: OS#2465
Change-Id: Ia1d8b6a823ffc92290b3e39e4e4665aeff80ccc0
2017-08-29 12:46:45 +00:00
Neels Hofmeyr 3cb08277f1 osmo-auc-gen: umts: add --ind arg
During UMTS AKA, the caller typically indicates which IND slot the next used
SQN should belong to. Without this option, osmo-auc-gen will always produce SQN
from IND-slot 0. Add --ind option.

Enhance the osmo-auc-gen_test.sh to expect errors with useful printouts on
stderr, and add tests that verify valid --ind ranges.

Related: OS#2465
Change-Id: Ib60eec80d58ca9a0a01e7fbd2bcbbd4339b1a6d8
2017-08-29 12:46:45 +00:00
Neels Hofmeyr 4315e01f5a osmo-auc-gen: umts: use default of ind_bitlen = 5 instead of 0
Most USIM out there seem to use IND-length = 5 bits, so do sysmousim-sjs1.
Currently from initialization we are using an IND length of zero in
osmo-auc-gen, which produces confusing SQN results after AUTS:

Where want SQN to be incremented to the next IND array, usually +32, an IND-len
of 0 makes for only +1.

As result, the osmo-auc-gen_test.sh produces SQN 32 instead of 24 after
receiving SQN.MS = 23 from AUTS: adjust test expectations.

Related: OS#2465
Change-Id: I9fcc11fa2b5816302dcc6b72249b1ee40d5a61f5
2017-08-29 12:46:45 +00:00
Neels Hofmeyr d157bbb46f osmo-auc-gen: umts: properly request --sqn
The user supplied an --sqn to generate a vector for, but milenage_gen_vec()
performs a nontrivial SQN increment before generating the vector. To end up
with the user supplied SQN, we need to reverse this increment beforehand.

Do this after all cmdline args have been parsed, in case one of them modifies
the IND-bitlen parameter, which affects the SQN calculations.

Related: OS#2464 OS#2465
Change-Id: Ic51a8f6333fee9c02b4073ca360991d0aa69c74f
2017-08-29 12:46:44 +00:00
Neels Hofmeyr 516910754e osmo-auc-gen: umts: remove erratic SQN.MS printout
osmo-auc-gen tries to be helpful by deriving the SQN.MS from the SQN that
resulted from AUTS + milenage_gen_vec(), but there is actually no way to derive
the actual AUTS SQN.MS from the resulting SQN.

Completely drop the printout to prevent confusion.

Adjust test suite expectations.

Related: OS#2464
Change-Id: Ie2432c6d6a23818f7b3a29b1295dcbb505e2be53
2017-08-29 12:46:44 +00:00
Neels Hofmeyr 9ca7d3e400 cosmetic: test for osmo-auc-gen: print error for missing binary
Change-Id: I98c23ae6378a16cf3b76c90d4ea0dfcf61ff3033
2017-08-29 12:46:44 +00:00
Neels Hofmeyr 22bc45b8bf vty: 'ctrl' node: add missing default commands like list,exit,end
Change-Id: I72569ed767b6a4d792b2867d02caa65520e27cd3
2017-08-28 19:10:41 +02:00
Max 031ac91807 Update release helper
* add reference to semver spec
* use 'patch' release by default
* unify debian/changelog distro update for library and non-library
  projects
* abort library release for non-empty TODO-RELEASE if libversion is not
  modified

Change-Id: I413f99cbfa6e6dcc753e3be9fc3c8d682e6a41f3
Related: OS#1861
2017-08-26 18:35:06 +00:00
Max 6081bd0e6f Use value string check from osmo-ci
Change-Id: I513835be2d931d0a931cdfc996f361a451bc1a15
2017-08-25 17:56:19 +02:00
Max d5962a8ac7 Relax branch restriction while making release
Previously making release of non-library project from non-master branch
would fail. Relax this check to facilitate submission to gerrit via
topic branches.

Change-Id: Ie89b79a45033bee422e4ff898069ea6ac2c2f524
Related: OS#1861
2017-08-24 13:24:04 +02:00
Keith Whyte 733810c656 gsm0411_utils: GSM03.40 9.2.3.11 SCTS should be local
From GSM 03.40: "The Service-Centre-Time-Stamp, and any other times
coded in this format that are defined in this specification,
represent the time local to the sending entity."

Change-Id: I4efdb1eaae43aced33961b64d4f14b0040321c10
2017-08-17 21:43:37 +02:00
Harald Welte bd3bb135a4 ports.h: Add VTY port for GGSN
Change-Id: I5bd49fbc19e88db96b4adbd56c82e7936059551c
2017-08-16 23:41:30 +02:00
Harald Welte 113392a2dd auth_milenage: Fix non-AUTS case with OP
We only implemented OPC generation from OP in the AUTS case, but not
in the case of normal authentication vector generation.  This never
really was visible so far due to the fact that we use OPC at sysmocom,
and never the shared OP value.

Change-Id: Id3fa038dfc2ff1ba63616fa5e8eab0520481ff26
2017-08-16 23:37:25 +02:00
Harald Welte 6c0a0e645d add osmo_fd_setup() convenience function to fill-in osmo_fd
This basically follows the concept of osmo_timer_setup() and allows
the caller to fill-in all configurable fields of osmo_fd in one
line of code, rather than open-coding it in 5 lines everywhere.

Change-Id: I6dbf19ea22fd65302bfc5424c10418d1b7939094
2017-08-12 11:43:14 +02:00
Harald Welte 4a29f34813 tlv: add [msgb_]t16lv_put() for 16bit tag + 8 bit len TLVs
In the Protocol Configuration Options IE (see 3GPP TS 24.008 10.5.6.3)
there is yet another new TLV format (derived from PPP IPCP/LCP/...)
which uses 16bit tag and 8bit length.  Let's add functions so we can
generate related TLVs.  Parsing is unfortunately not possible in our
existing structure as our tlv_parsed array only has 256 entries and
thus cannot cope with 16bit tags.

Change-Id: I9799130e2eba8fae8c4480fbb8a900c30232b694
2017-08-09 19:02:12 +02:00
Harald Welte 35b263240f Add osmo_gprs_{ul,dl}_block_size_{bits,bytes} functions
Those functions can be used to look up the size of (E)GPRS blocks.

Change-Id: I05ff75ef7dfae639886bbd09fe35f03a8af9d988
2017-08-09 19:02:12 +02:00
Max ff932bbc38 Add release target to Makefile
Add simple helper target to automate basic release steps:
* version bump
* prepare release commit
* git commit, tag and sign

For library projects:
* update debian/changelog from TODO-RELEASE
* cleanup TODO-RELEASE

For non-library projects:
* update debian/changelog from git log

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
2017-08-08 11:55:03 +00:00
Harald Welte a8a8d3977d RSL: Add support for RSL_CHAN_OSMO_PDCH to rsl_dec_chan_nr()
Change-Id: Icc772285636c06e1075a89809f0ac379d7a0002c
2017-07-30 15:16:18 +02:00
Harald Welte 977231cc3e Rename GSMTAP_CHANNEL_PDCH to GSMTAP_CHANNEL_PDTCH
PDCH is the physical channel, while actually we want to talk about
PDTCH the logical channel.  Introduce backwards compatibility define.

Change-Id: Id6782d2247846e2db29fc58d98684970a66db948
2017-07-29 13:35:37 +02:00
Harald Welte 3b7cd0b5cb chantype_rsl2gsmtap/gsmtap2rsl: Fix PDCH channel type conversion
Change-Id: I88a06e8ba894f16006a8efa259fc536cf300de32
2017-07-28 21:26:10 +00:00
Max 8b8938f6ae BSSGP: add function to reset all PTP BVC
Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913
Related: OS#1638
2017-07-28 14:54:35 +00:00
Neels Hofmeyr b970e1023d GSUP: define default GSUP port as 4222
See also:

https://osmocom.org/projects/cellular-infrastructure/wiki/Port_Numbers

https://gerrit.osmocom.org/#/c/3195/2/include/openbsc/osmo_msc.h@13
(change-id I639544a6cdda77a3aafc4e3446a55393f60e4050)

Change-Id: I4222e21686c823985be8ff1f16b1182be8ad6175
2017-07-22 11:31:06 +00:00
Harald Welte 5cfa6dc993 osmo_sock_init2(): Fix creation of non-bound sockets
If osmo_sock_init2() was used with CONNECT flag but without BIND
flag, an invalid check for "did we create a socket yet" caused
the socket to never be created, and subsequently the entire function
to return an error.

Change-Id: I0206dbb9c5b8f74d7fb088576941b092acd2ca22
2017-07-21 16:53:46 +02:00
Neels Hofmeyr a7ccf6158c add DLMGCP logging category for libosmo-mgcp
In the course of splitting up the openbsc.git repository, we will create
libosmo-mgcp and need a library logging category for that purpose.

Change-Id: I09c587e2d59472cbde852d467d457254746d9e67
2017-07-18 10:47:56 +00:00
Harald Welte 5ade8f4b72 extend osmo_sysinfo_type with missing SYSINFO_TYPE
The list should now be complete up to Releae 14

Change-Id: I693cabe1a3b00a8c4198f7a4a1c647c5d7dc6c41
2017-07-15 22:49:19 +02:00
Minh-Quang Nguyen aab6b26d8d LC15: add NM measurement type to standard attribute list
Change-Id: I320b379429aaf0f7351aed5e4f72a481cc268c05
2017-07-14 16:04:59 +02:00
Minh-Quang Nguyen adc28dc7da LC15: Add IPAC Directed Retry Enquiry data structure
Change-Id: I8d2746eefe1f22dba5b19636ebc9444e458fc802
2017-07-14 16:04:59 +02:00
Minh-Quang Nguyen 2ff597e339 LC15: Enable string for IPAC RSL direct retry
Change-Id: I3e69fba0e21e181d28baee90e95f57216f2617af
2017-07-14 16:04:59 +02:00
Minh-Quang Nguyen 17a8748324 IPAC manufacture-defined measurement pre-processing definitions
Change-Id: Ie1853697f4cff5ff98654fa1cae6c68e28a0076b
2017-07-14 15:54:50 +02:00
Harald Welte 37d204a120 socket: Add new OSMO_SOCK_F_NO_MCAST_ALL option
Using this option at socket creation, the caller can request disabling
the IP_MULTICAST_ALL socket option.

Change-Id: I5ab5de45c0b64ceb3636ea98245a23defa24ffd4
2017-07-13 16:54:23 +02:00
Harald Welte bc43a62f41 socket: Allow disabling multicast loop on socket creation
This introduces a new flag OSMO_SOCK_F_NO_MCAST_LOOP, which can be used
to disable the looping back of multicast packets transmitted throug this
socket to other local sockets on the machine.

As this looping-back is active by default, a single option to deviate
from the default is deemed sufficient.

Change-Id: I24a5b1ebc3f84d2d5d4734e54df50efaea26490b
2017-07-13 16:53:41 +02:00