VTY: Allow for per-BTS-model specific config file write functions

This way a BTS module can append config data to the TS, TRX and BTS
sections.
This commit is contained in:
Harald Welte 2011-02-14 16:15:21 +01:00
parent a0fe72de6f
commit face7edc62
2 changed files with 15 additions and 0 deletions

View File

@ -426,6 +426,8 @@ enum gsm_bts_type {
GSM_BTS_TYPE_RBS2000,
};
struct vty;
struct gsm_bts_model {
struct llist_head list;
@ -434,6 +436,10 @@ struct gsm_bts_model {
int (*oml_rcvmsg)(struct msgb *msg);
void (*config_write_bts)(struct vty *vty, struct gsm_bts *bts);
void (*config_write_trx)(struct vty *vty, struct gsm_bts_trx *trx);
void (*config_write_ts)(struct vty *vty, struct gsm_bts_trx_ts *ts);
struct tlv_definition nm_att_tlvdef;
struct bitvec features;

View File

@ -333,6 +333,9 @@ static void config_write_ts_single(struct vty *vty, struct gsm_bts_trx_ts *ts)
}
}
config_write_e1_link(vty, &ts->e1_link, " ");
if (ts->trx->bts->model->config_write_ts)
ts->trx->bts->model->config_write_ts(vty, ts);
}
static void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx)
@ -352,6 +355,9 @@ static void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx)
config_write_e1_link(vty, &trx->rsl_e1_link, " rsl ");
vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei, VTY_NEWLINE);
if (trx->bts->model->config_write_trx)
trx->bts->model->config_write_trx(vty, trx);
for (i = 0; i < TRX_NR_TS; i++)
config_write_ts_single(vty, &trx->ts[i]);
}
@ -500,6 +506,9 @@ static void config_write_bts_single(struct vty *vty, struct gsm_bts *bts)
config_write_bts_gprs(vty, bts);
if (bts->model->config_write_bts)
bts->model->config_write_bts(vty, bts);
llist_for_each_entry(trx, &bts->trx_list, list)
config_write_trx_single(vty, trx);
}