From: Pablo Neira Ayuso <pablo(a)netfilter.org>
The following patchset, although it looks a bit large, it is composed of many
small incremental changes to improve the existing osmux infrastructure and to
add dummy padding support.
The dummy padding consists of a osmux header and payload that looks like this:
OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ]
The frame type is OSMUX_FT_DUMMY (=2) in the batch that whose payload is
padded with 0xff. Note that the message above is padding the circuit ID 2.
This is used for early bandwidth preallocation in links that involve relatively
slow dynamic bandwidth allocation such as Iridium/OpenPort.
The osmux test infrastructure has been improved (to resolve some memleaks) and
enhanced to cover this new dummy support.
The OpenBSC changeset is composed of one very small patch that will come after
this batch.
If no major concerns, I'll push this initial batch soon into the repository.
Thanks.
Pablo Neira Ayuso (18):
osmux: discard non voice osmux message
osmux: add osmux_input_state structure
osmux: add circuit helper functions
osmux: rename struct batch_list_node to osmux_circuit
osmux: rename circuit->list to circuit->rtp_list
osmux: pass up struct osmux_batch
osmux: count pending messages to be transformed in the batch
osmux: introduce osmux_xfrm_input_close_circuit()
osmux: introduce osmux_xfrm_input_open_circuit()
tests: osmux: adapt it to use the new circuit API
tests: osmux: factor out main test loop
tests: osmux: test online deactivation of dummy padding
tests: osmux: validate dummy padding with no voice data interaction
tests: osmux: test circuit reopening after closure
osmux: kill osmux_get_hdr()
tests: osmux: fix msgb leaks
tests: compile tests with debugging symbols, ie. -g
tests: osmux: iterate 64 times in osmo_test_loop()
include/osmocom/netif/osmux.h | 8 +-
src/osmux.c | 374 ++++++++++++++++++++++++++---------------
tests/Makefile.am | 2 +-
tests/osmux/osmux_test.c | 80 ++++++---
4 files changed, 304 insertions(+), 160 deletions(-)
--
1.7.10.4