Commit Graph

40 Commits

Author SHA1 Message Date
Pau Espin fd2eaea824 Bump version: 1.3.0.56-745c-dirty → 1.4.0
Change-Id: I2f0d6617c89cff83b1937996006ffe7106db2557
2023-09-12 13:50:26 +02:00
Pau Espin 7fe21f67f6 stream: Split cli/srv specific code out of stream.c
The dev/user in general is only interested about one side of the stream
when looking at the code. Since the stream.c file is tarting to be quite
large/bloated, this patch splits its content into stream_cli.c and
stream_srv.c to make it easier to improve/extend and review.
Keep common code between cli and srv in stream.c, and add a private header
to contain references to it.

Change-Id: I22af01bba2040eb320ba48fd1b46c090c98be159
2023-08-04 13:28:50 +02:00
Vadim Yanitskiy 9e6542641a src/Makefile.am: do not overwrite AM_LDFLAGS
Change-Id: I7b656c167cceb0657c0362b1237f846b7f3e9770
2023-03-13 04:46:02 +07:00
Pau Espin e63329eb1f Bump version: 1.2.0.114-3804-dirty → 1.3.0
Change-Id: Id67541378193f22f924409f02301f0063aab639e
2023-02-07 13:28:19 +01:00
Pau Espin 5fd33980b8 osmux: Split input and output code into separate files
The output and input paths are totally independent, they share no code
or structures holding state. They can be operated totally independently.
Hence, let's split the code into separate file since when someone looks
at the osmux code one is really looking specifically at Tx or Rx side,
but not at both sides.
Moreover, the "input" and "output" concepts have always been a bit
difficult to understand (would have been better calling them "src" and
"sink" instead), which adds more confusion when trying to find the
relevant part of code.

Change-Id: Ia72995092a36ca50147611e617cb88c4dcf231d5
2022-10-03 11:29:58 +02:00
Pau Espin bea94d8edf Bump version: 1.1.0.14-d1ab-dirty → 1.2.0
Change-Id: I5809e5c85af66db6174a182a936891fa6e1104c1
2022-06-28 18:09:49 +02:00
Pau Espin 4b6ce34083 Introduce osmo_prim_srv APIs
This new module allows easy exchange of osmo_prim based data types over
IPC communication (UD socket supported only so far), by replacing the
osmo_prim_hdr struct with a serialized header when submitting/receiving
it from the IPC socket.

This patch introduces the server side of the UD socket, but the client
side can easily be introduced in the same file whenever needed.

Related: SYS#5516
Change-Id: I7cab15ac092e45a256c4f0bab11b3962df861044
2021-12-09 16:59:29 +01:00
Pau Espin d4a1107586 Introduce sctp.h to provide SCTP related functionalities
These value_strings are taken from existing private ones in
libosmo-sccp.git osmo_ss7.c, and are moved here in order to be
reused by other projects, such as osmo-hnodeb.

Change-Id: Ica6f01851fb94e31f4ef097494bb1b8a95597ba6
2021-11-23 14:18:40 +01:00
Pau Espin 5967fa0058 Bump version: 1.0.0.14-3e65-dirty → 1.1.0
Change-Id: I8e3be883113444251f5008c407e9f722d0dcd422
2021-02-23 16:47:37 +01:00
Pau Espin b8121e79ef Bump version: 0.6.0.16-6413a-dirty → 0.7.0
Change-Id: Iabfa9a706c6456bf554ba59badbc3cbfc9210423
2020-01-02 21:01:22 +01:00
Pau Espin 592057bb33 Bump version: 0.5.0.2-6563-dirty → 0.6.0
Change-Id: I3af3b7aaff5c6dc3ac94e942191e27af4bf5392a
2019-08-07 20:59:51 +02:00
Harald Welte fd339712c4 Bump version: 0.4.0.1-738f → 0.5.0
Change-Id: Iea2da939e259d0a9e7c5dad14d7a961434c276ef
2019-05-10 12:40:04 +02:00
Harald Welte c775ffe1cc Bump version: 0.3.0.6-a555 → 0.4.0
Change-Id: I99a3244f922382468251df675287520ca40d9d0d
2019-01-20 10:12:46 +01:00
Harald Welte 635984c5e1 link libosmo-netif against libosmogsm
The recently-introduced dependency to libosmogsm symbols needed
some explicit addition of linker flags to avoid user applications
to fail linking with
/usr/bin/ld: /usr/local/lib/libosmonetif.so: undefined reference to `ipa_ccm_id_resp_parse'

Change-Id: I07a28f8970b90f82736e2de783bafc9d2c5ea0e5
2018-08-01 18:02:04 +02:00
Pau Espin 322dbbeaa2 Bump version: 0.2.0.6-ac33-dirty → 0.3.0
Change-Id: Ic9bbe8427c44ef2a9ee02537f17821048f177cdd
2018-07-27 18:31:43 +02:00
Harald Welte e2fbd3dee4 remove "channel" layer
The "channel" layer on top of IPA client + server was introduced in
2011 but never used in any osmocom program/project so far.  Contrary
to the several other IPA multiplex related implementations in libosmo*,
it did not deal properly with segmented IPA messages, i.e. where a
single TCP segment (and hence recv/read call) does not contain a full
IPA message.

So rather than fixing it up and having yet another IPA related API in
our libraries, let's remove it.

Change-Id: I97c378750acb1637ee032fa88a968edf68d8979f
2018-06-29 10:57:24 +02:00
Pau Espin e38ee9b808 Bump version: 0.1.1.38-ef190-dirty → 0.2.0
Change-Id: Ic8a9e44b2f930fed024040777eab58699fdcaadc
2018-05-03 16:55:21 +02:00
Pau Espin ce820763c1 jibuf: Add initial implementation of Jitter Buffer
Change-Id: I9688ba9c4d5b733b9f29d0f15f73750f9271ef55
2018-04-13 15:51:43 +02:00
Harald Welte bdfe9682fe Don't link library against libosmogsm, we don't use any symbols of it
This fixes a related dpkg-shlibdeps warning

Change-Id: I0325e7a6dea5195f1634230930570bf4dfe3810c
2017-10-28 10:18:44 +00:00
Harald Welte c2c8b5c557 Tag/Release Version 0.1.0
Short changelog:
* Add Doxygen documentation
* SCTP support in stream.c
* new udp-test-client and udp-test-server programs
* better / more verbose error handling in examples
* new osmo_dgram_tx_set_local_{addr,port}() functions
* use IPA definitions from libosmogsm, rather than repeating them
* encode RTP header M field of RFC3550/4867 in OSMUX header
* new osmo_stream_srv_link_set_nodelay()
* new osmo_stream_srv_link_set_proto()
* new osmo_stream_cli_set_nodelay()
* new osmo_stream_cli_set_proto()
* new osmo_stream_cli_set_local_addr()
* new osmo_stream_cli_set_local_port()
* new osmo_stream_cli_reconnect()
* new osmo_stream_cli_open2() with reconnect argument
* more vrebose osmux_snprintf()
* remove mistaken reference to AGPL in rs232.c
* fix memory leak in osmo_stream_srv_link_set_addr()
* add osmo-pcap-test for SLL and Ethernet
* extend osmux-test

Change-Id: Ibf75fcd6643351ce3946faa155ae1db8c33a5e35
2017-10-27 20:21:20 +02:00
Harald Welte fb3e20b4b2 SCTP support for osmo_stream_{cli,srv} code
Wih this change, osmo_stream_ client and server API can be used not only
for TCP but also for SCTP.  The latter is needed in SIGTRAN ad Iuh
applications, for example.
2015-12-21 20:54:19 +01:00
Holger Hans Peter Freyther faf5faeb7a libosmovty: Drop dependency as no VTY code is written here
Do not link to libosmovty as we don't need it.
2015-11-03 09:35:44 +01:00
Pablo Neira Ayuso 0d90dd1563 build: bump library release number
I have added two new interfaces to add and to delete circuits from osmux input
handles. The client application needs to be adapted to use them otherwise it
will break. That's why I'm making this library release incompatible with the
previous generation.
2015-07-21 17:10:14 +02:00
Andreas Rottmann c55d867508 build: fix regarding missing CFLAGS constituents
When libosmo-abis is installed in a distinct prefix, the build failed
with non-found headers, for example:

../../src/rs232.c:38:35: fatal error: osmocom/abis/e1_input.h: No such file or directory
 #include <osmocom/abis/e1_input.h>
2015-06-19 21:01:51 +02:00
Jan Engelhardt 226e994832 build: remove all_includes
This variable is never set and could therefore be removed.
2014-10-02 23:22:55 +02:00
Jan Engelhardt de816861cb build: put dependency libraries in the right place in Makefiles
Libs must be in _LDADD/_LIBADD and not in _LDFLAGS.
2014-10-02 23:22:43 +02:00
Martin Hauke 603f6c40d5 build: rename INCLUDES to AM_CPPFLAGS in Makefile.am to avoid warnings 2014-09-11 18:22:02 +02:00
Holger Hans Peter Freyther dd337a3c87 Prepare new upstream release 2014-09-08 07:52:08 +02:00
Holger Hans Peter Freyther 85edfd12de debian: Attempt to build a package with just the DSO
Follow the debian rule to package the DSOs separately.
2014-04-28 21:35:04 +02:00
Holger Hans Peter Freyther 0a9213464b debian: Prepare a new debian release and bump SO version 2014-04-28 20:51:19 +02:00
Pablo Neira Ayuso 060e46ea6d channel: add abis directory under channel
And move all existing A-bis channel implementation to channel/abis/
directory.

This is just a cleanup to reorganize the source code tree.
2012-08-19 01:06:57 +02:00
Pablo Neira Ayuso b2f62cea7d add ipa_unit
This adds the generic ipa_unit object that is allocated and set
by the BTS while initializing the channels.
2012-08-15 23:34:38 +02:00
Pablo Neira Ayuso 42915068af src: add function to obtain bytes depending on AMR frame code 2012-07-13 21:12:32 +02:00
Pablo Neira Ayuso 00b6026f64 add osmux support 2012-07-12 13:03:07 +02:00
Pablo Neira Ayuso 729a0917ac add rs232 support
This include an example to open /dev/ttyACM0 to receive data from
u-blox GPS and one to configure it in TIMEPULSE2 mode.
2012-04-04 19:08:27 +02:00
Pablo Neira Ayuso 72cd95b352 add RTP support
This patch adds the initial RTP support for libosmo-netif, it's based
on Harald's RTP support available in openBSC.

I have also added a couple of example to show how our new channel
infrastructure interacts with the RTP layer.

Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2012-02-23 13:44:26 +01:00
Pablo Neira Ayuso 2b5d3ce7c6 src: add generic channel infrastructure and A-bis IPA server support
This patch adds the generic channel infrastructure that allows to
create channel of different types. Each channel has their own
configuration functions.

  struct osmo_chan *chan;
  chan = osmo_chan_create(tall_example, CHAN_ABIS_IPA_SERVER);
  ...

  /* specific configuration functions per supported channel. */
  osmo_chan_abis_ipa_server_set_cb_signalmsg(chan, signal_msg_cb);
  osmo_chan_abis_ipa_unit_add(chan, 1801, 0);

  /* open channel. */
  osmo_chan_open(chan);

The input path requires a callback to be registered. The output path
is handled through:

  int osmo_chan_enqueue(struct osmo_chan *c, struct msgb *msg);

The msg->dst must be set (it can be taken from the original message
to route one reply).

This patch also adds A-bis IPA server support. It has been tested with
e1inp_ipa_bsc_test available in libosmo-abis.
2011-11-08 11:17:44 +01:00
Pablo Neira Ayuso 20c660caec ipa: initial addition of helper functions and examples
This patch adds IPA helper function that can be use on top of stream
sockets.

The current API is just a copy and paste from libosmo-abis, it will
change in follow up patches to improve it.
2011-10-17 22:12:42 +02:00
Pablo Neira Ayuso ddb9bf65f4 add generic datagram socket infrastructure and examples
This patch adds new datagram socket infrastructure and it reworks
the previous examples (now it's LAPD over datagram).
2011-10-05 13:43:10 +02:00
Pablo Neira Ayuso 8bf16493f6 initial commit 2011-10-04 02:36:46 +02:00