Attention is currently required from: fixeria.

fixeria uploaded patch set #3 to this change.

View Change

The following approvals got outdated and were removed: Verified-1 by Jenkins Builder

libosmo-trx/client: add TRXC client (command queue) API

Add the osmo_trxc_client module: a transport-agnostic generalization
of the TRXC command handling logic in osmo-bts-trx (trx_if.c):

* command queue with a single command in flight;
* retransmission on response timeout (default: 2 s);
* suppression of consecutive duplicate commands;
* RSP<->CMD matching, optionally including the parameters;
* filtering of duplicate responses caused by retransmissions;
* escalation of NACKed critical commands (OSMO_TRXC_F_CRITICAL)
to the fatal_error call-back;
* TRXD PDU version negotiation (SETFORMAT), incl. the fallback to
version 0 for old transceivers rejecting it with 'RSP ERR 1'.

The client neither opens nor owns a socket: the application transmits
serialized messages in the tx_msg call-back and feeds received
datagrams into osmo_trxc_client_rx(). The response call-back may
return N > 0 to request a re-transmission of the same command after
N seconds (e.g. POWERON retry, as implemented in osmo-bts-trx).

Change-Id: I817e394f74a10e3adae4a0b58342c82acdf0794e
---
M .gitignore
M libosmo-trx/include/Makefile.am
A libosmo-trx/include/osmocom/trx/trxc_client.h
M libosmo-trx/src/Makefile.am
A libosmo-trx/src/trxc_client.c
M tests/libosmo-trx/Makefile.am
A tests/libosmo-trx/trxc_client_test.c
A tests/libosmo-trx/trxc_client_test.err
A tests/libosmo-trx/trxc_client_test.ok
M tests/testsuite.at
10 files changed, 1,116 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/08/43108/3

To view, visit change 43108. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I817e394f74a10e3adae4a0b58342c82acdf0794e
Gerrit-Change-Number: 43108
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin@sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy@sysmocom.de>