the actual config file code (not just config files)
this was missing from commit a08a9acdb6bff0ee4fdf0f58b78b6525017a1f9f
diff --git a/openbsc/include/openbsc/e1_input.h b/openbsc/include/openbsc/e1_input.h
index 1326723..1e8da56 100644
--- a/openbsc/include/openbsc/e1_input.h
+++ b/openbsc/include/openbsc/e1_input.h
@@ -113,6 +113,9 @@
/* register a line with the E1 core */
int e1inp_line_register(struct e1inp_line *line);
+/* ensure a certain line exists, return pointer to it */
+struct e1inp_line *e1inp_line_get_create(u_int8_t e1_nr);
+
/* find a sign_link for given TEI and SAPI in a TS */
struct e1inp_sign_link *
e1inp_lookup_sign_link(struct e1inp_ts *ts, u_int8_t tei,
@@ -148,8 +151,12 @@
/* called by TRAU muxer to obtain the destination mux entity */
struct subch_mux *e1inp_get_mux(u_int8_t e1_nr, u_int8_t ts_nr);
+
/* e1_config.c */
-int e1_config(struct gsm_bts *bts, int cardnr, int release_l2);
+int e1_reconfig_ts(struct gsm_bts_trx_ts *ts);
+int e1_reconfig_trx(struct gsm_bts_trx *trx);
+int e1_reconfig_bts(struct gsm_bts *bts);
+
int ia_config_connect(struct gsm_bts *bts, struct sockaddr_in *sin);
int ipaccess_setup(struct gsm_network *gsmnet);
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 663c869..8af0781 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -200,7 +200,10 @@
/* number of this TRX in the BTS */
u_int8_t nr;
/* how do we talk RSL with this TRX? */
+ struct gsm_e1_subslot rsl_e1_link;
+ u_int8_t rsl_tei;
struct e1inp_sign_link *rsl_link;
+
struct gsm_nm_state nm_state;
struct tlv_parsed nm_attr;
struct {
@@ -293,6 +296,8 @@
enum gsm_bts_type type;
enum gsm_band band;
/* how do we talk OML with this TRX? */
+ struct gsm_e1_subslot oml_e1_link;
+ u_int8_t oml_tei;
struct e1inp_sign_link *oml_link;
/* Abis network management O&M handle */
@@ -404,7 +409,7 @@
struct gsm_bts *start_bts);
char *gsm_band_name(enum gsm_band band);
-enum gsm_band gsm_band_parse(int mhz);
+enum gsm_band gsm_band_parse(const char *mhz);
extern void *tall_bsc_ctx;
diff --git a/openbsc/include/openbsc/talloc.h b/openbsc/include/openbsc/talloc.h
index a4b33c3..f7f7643 100644
--- a/openbsc/include/openbsc/talloc.h
+++ b/openbsc/include/openbsc/talloc.h
@@ -29,6 +29,8 @@
#include <stdio.h>
#include <stdarg.h>
+#define HAVE_VA_COPY
+
/* this is only needed for compatibility with the old talloc */
typedef void TALLOC_CTX;
diff --git a/openbsc/include/vty/command.h b/openbsc/include/vty/command.h
index 1be05aa..21fb6a1 100644
--- a/openbsc/include/vty/command.h
+++ b/openbsc/include/vty/command.h
@@ -61,12 +61,6 @@
/* There are some command levels which called from command node. */
enum node_type {
- GSMNET_NODE,
- BTS_NODE,
- TRX_NODE,
- TS_NODE,
- SUBSCR_NODE,
-
AUTH_NODE, /* Authentication mode of vty interface. */
VIEW_NODE, /* View node. Default mode of vty interface. */
AUTH_ENABLE_NODE, /* Authentication mode for change enable. */
@@ -74,6 +68,7 @@
CONFIG_NODE, /* Config node. Default mode of config file. */
SERVICE_NODE, /* Service node. */
DEBUG_NODE, /* Debug node. */
+#if 0
AAA_NODE, /* AAA node. */
KEYCHAIN_NODE, /* Key-chain node. */
KEYCHAIN_KEY_NODE, /* Key-chain key node. */
@@ -103,7 +98,14 @@
SMUX_NODE, /* SNMP configuration node. */
DUMP_NODE, /* Packet dump node. */
FORWARDING_NODE, /* IP forwarding node. */
- VTY_NODE /* Vty node. */
+#endif
+ VTY_NODE, /* Vty node. */
+
+ GSMNET_NODE,
+ BTS_NODE,
+ TRX_NODE,
+ TS_NODE,
+ SUBSCR_NODE,
};
/* Node which has some commands and prompt string and configuration