Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch splits in two files the code that contains the packet replay
based on PCAP from the osmux test.
|
|
Adapt the test to use the function that allows reconstructing the
RTP timing sequence.
|
|
This function schedules the transmission of a RTP message that was
obtained from one osmux batch. It takes the time (in microseconds)
after which the message should be transmitted.
|
|
I was using AMR CMR 2 (15 bytes) as the initial tests were done
with the codec variant.
This patch fixes this by using the new generic osmo_amr_bytes
extracted from 3GPP TS 26.101.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As specified by RFC 3551, these are reserved to distinguish
RCTP from RTP.
|
|
|
|
As defined by RFC3267 in Octed-Aligned mode.
|
|
This patch splits osmo_rtp_parse in two functions:
osmo_rtp_get_hdr
osmo_rtp_get_payload
So we can validate corrent RTP header to access its fields. Then,
obtain the payload.
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
And also adjust example files to use the new function.
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
This patch adds the osmo-pcap-test infrastructure that allows you
to take packets stored in one pcap file, convert them to msgb and
pass it to some function.
The infrastructure also provides timing reconstruction based on
the pcap file information.
This is useful for easy protocol development, automated testing and
fuzzying of the existing code to validate the code.
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
This include an example to open /dev/ttyACM0 to receive data from
u-blox GPS and one to configure it in TIMEPULSE2 mode.
|
|
Otherwise, openbsc fails to find this new library by libosmo-netif.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Minor change, more verbose output to make sure the functions in
the library are doing OK.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
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>
|
|
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.
|
|
The client of this code must control message freeing it self.
|
|
This patch includes a minor fix. We don't destroy connection on
errors, it should be the caller which must control this.
|
|
This patch allows to set reconnect timeout. If zero, it will try
immediately. If negative, it will skip retrying.
|
|
To emulate how openBSC behaves.
|
|
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.
|
|
To obtain the file description.
|
|
No need to force reconfiguration if any of the callback or data
pointers are changed.
|
|
Like c43bb089067ca05af4992fbafe46827a1f0a6e9b but for stream
sockets.
|
|
We provide osmo_dgram_conn_recv(...) which allows you to take control
on the message allocation and receival process. Instead of hiding this
details inside the datagram infrastructure.
Providing more control to clients of this code means more flexibility.
|
|
|
|
We allow to change the callback and data pointers in runtime safely
without the need to reconfig.
|
|
Now they can be used to generate a number of messages from the
user and to measure the RTT of LAPD over datagram messages.
Still, they need to be expanded to take the origin and remote
IPs as argument from the command line, later.
|
|
This removes spamming message that is currently displayed with
LOGL_NOTICE loglevel.
|
|
This patch changes the prototype of osmo_dgram_conn_set_read_cb.
Now it takes one callback to a generic struct osmo_dgram_conn
instead of osmo_dgram_server_conn. This is useful in case that
you want to reply to one message using the datagram socket (without
this change is not possible).
|
|
Add new functions:
osmo_stream_server_link_get_data
osmo_stream_server_conn_get_data
osmo_stream_client_conn_get_data
To obtain private data from osmo_stream_* handlers.
This patch also introduces missing osmo_stream_server_conn_set_data.
|
|
This patch allows you to call dgram_*_open(..) as many times as
you want to trigger reconfigurations.
|
|
This patch allows you to call stream_*_open(..) as many times as
you want to trigger reconfigurations.
|
|
Modify examples as well to use the new API.
|
|
Modify examples as well to use the new API.
|
|
|
|
This patch adds a couple of examples that allow chatting between
the client and the server. For simplicity, the example only support
one client.
|
|
Remove stream_msg_recv(...), now we use recv(...) directly. This fixes
since we were calling msgb_put(...) twice.
|
|
The should be uses in the client program. They are not required by
the generic stream socket infrastructure.
|
|
This patch adds new datagram socket infrastructure and it reworks
the previous examples (now it's LAPD over datagram).
|