diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-10-12 01:39:25 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-11-12 16:06:47 +0100 |
commit | 5f3e337c8d545e6b4fe968b196d0fcf8c9d75c89 (patch) | |
tree | 534ea6323cd9a738f5dce3dea902443c0d18eb26 /openbsc/include | |
parent | 8afc916e360a1ae739bb9df6913317eb3990a1ab (diff) |
IuCS and IuPS: add VTY config for RAB Assignment address kind
To accomodate the ip.access nano3G without having to recompile, make the
RAB Assignment's Transport Layer Address IE's format configurable, in both
osmo-cscn and osmo-sgsn.
The long term perspective is to somehow detect which address encoding a given
3G cell prefers, but for the time being just configure it globally and set each
ue_conn_ctx to the global setting upon creation.
Add VTY command to iu_vty.c, with args passed to iu_vty_init() to insert
at an arbitrary VTY node, so that it can be used both for osmo-cscn and
osmo-sgsn. Add generic iu_vty_config_write() to write out the config.
Call iu_vty_init() from cscn_vty_init(); cscn_vty_init() is in libmsc,
hence linking of osmo-cscn now needs libiu to come after libmsc, so move
that further down.
Change-Id: I93728314742b327336f3fb6de98e6457f687e1f9
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 5 | ||||
-rw-r--r-- | openbsc/include/openbsc/iu.h | 5 | ||||
-rw-r--r-- | openbsc/include/openbsc/sgsn.h | 5 |
3 files changed, 14 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index b161de33d..8a3b0f8c0 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -13,6 +13,7 @@ #include <osmocom/crypt/auth.h> +#include <openbsc/common.h> #include <openbsc/rest_octets.h> #include <openbsc/xsc.h> #include <openbsc/mgcpgw_client.h> @@ -424,6 +425,10 @@ struct gsm_network { struct mgcpgw_client_conf conf; struct mgcpgw_client *client; } mgcpgw; + + struct { + enum nsap_addr_enc rab_assign_addr_enc; + } iu; }; struct osmo_esme; diff --git a/openbsc/include/openbsc/iu.h b/openbsc/include/openbsc/iu.h index a82d53066..0ef2f82f6 100644 --- a/openbsc/include/openbsc/iu.h +++ b/openbsc/include/openbsc/iu.h @@ -6,6 +6,8 @@ #include <osmocom/core/linuxlist.h> #include <osmocom/gsm/gsm48.h> +#include <openbsc/common.h> + struct sgsn_pdp_ctx; struct msgb; struct osmo_sccp_link; @@ -72,4 +74,5 @@ int iu_tx_sec_mode_cmd(struct ue_conn_ctx *uectx, struct gsm_auth_tuple *tp, int iu_tx_common_id(struct ue_conn_ctx *ue_ctx, const char *imsi); int iu_tx_release(struct ue_conn_ctx *ctx, const struct RANAP_Cause *cause); -void iu_vty_init(void); +void iu_vty_init(int iu_parent_node, enum nsap_addr_enc *rab_assign_addr_enc); +int iu_vty_config_write(struct vty *vty, const char *indent); diff --git a/openbsc/include/openbsc/sgsn.h b/openbsc/include/openbsc/sgsn.h index 6c558aaaf..ad2547af0 100644 --- a/openbsc/include/openbsc/sgsn.h +++ b/openbsc/include/openbsc/sgsn.h @@ -7,6 +7,7 @@ #include <osmocom/gprs/gprs_ns.h> #include <openbsc/gprs_sgsn.h> #include <openbsc/oap.h> +#include <openbsc/common.h> #include <ares.h> @@ -109,6 +110,10 @@ struct sgsn_config { int p1; int p2; } dcomp_v42bis; + + struct { + enum nsap_addr_enc rab_assign_addr_enc; + } iu; }; struct sgsn_instance { |