diff options
author | Philipp <pmaier@sysmocom.de> | 2016-09-02 13:38:01 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-09-24 03:17:59 +0000 |
commit | 73f83d533ba8d929a840ab76efb099da4d5b6174 (patch) | |
tree | 760a1631a8f84b2fadaaf3379c077ae2eacc32b6 /openbsc/src/gprs/gprs_sndcp_comp.c | |
parent | d8b45778de992ea5dec6d543a7cad10783a3d69b (diff) |
SNDCP: add V.42bis data compression functionality
- Add compression control for V.42bis Add code to handle compression
(gprs_sndcp_dcomp.c/h)
- Add Adjustments in SNDCP
- Add VTY commands
Change-Id: I6d36cbdf2f5c5f83ca9ba57c70452f02b8582e7e
Diffstat (limited to 'openbsc/src/gprs/gprs_sndcp_comp.c')
-rw-r--r-- | openbsc/src/gprs/gprs_sndcp_comp.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/openbsc/src/gprs/gprs_sndcp_comp.c b/openbsc/src/gprs/gprs_sndcp_comp.c index 1a9d030bc..b13cb8b23 100644 --- a/openbsc/src/gprs/gprs_sndcp_comp.c +++ b/openbsc/src/gprs/gprs_sndcp_comp.c @@ -34,6 +34,7 @@ #include <openbsc/gprs_sndcp_xid.h> #include <openbsc/gprs_sndcp_comp.h> #include <openbsc/gprs_sndcp_pcomp.h> +#include <openbsc/gprs_sndcp_dcomp.h> /* Create a new compression entity from a XID-Field */ static struct gprs_sndcp_comp *gprs_sndcp_comp_create(const void *ctx, @@ -100,16 +101,16 @@ static struct gprs_sndcp_comp *gprs_sndcp_comp_create(const void *ctx, comp_entity = NULL; } } else { - LOGP(DSNDCP, LOGL_ERROR, - "We don't support data compression yet!\n"); - talloc_free(comp_entity); - return NULL; + if (gprs_sndcp_dcomp_init(ctx, comp_entity, comp_field) != 0) { + talloc_free(comp_entity); + comp_entity = NULL; + } } /* Display info message */ if (comp_entity == NULL) { LOGP(DSNDCP, LOGL_ERROR, - "Header compression entity (%d) creation failed!\n", + "Compression entity (%d) creation failed!\n", comp_entity->entity); return NULL; } @@ -159,6 +160,7 @@ void gprs_sndcp_comp_free(struct llist_head *comp_entities) LOGP(DSNDCP, LOGL_INFO, "Deleting data compression entity %d ...\n", comp_entity->entity); + gprs_sndcp_dcomp_term(comp_entity); } } |