mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-11-01 20:43:47 +00:00
Compare commits
8 Commits
on-waves/0
...
on-waves/0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2727909dba | ||
|
|
ad9856ec15 | ||
|
|
9d53a8ad2a | ||
|
|
058956e8ee | ||
|
|
a34bb9167f | ||
|
|
b8ac7ffd7c | ||
|
|
b13cf829da | ||
|
|
fdc64f6806 |
@@ -1,7 +1,7 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script
|
dnl Process this file with autoconf to produce a configure script
|
||||||
AC_INIT
|
AC_INIT
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE(openbsc, 0.3onwaves)
|
AM_INIT_AUTOMAKE(openbsc, 0.3.4onwaves)
|
||||||
|
|
||||||
dnl kernel style compile messages
|
dnl kernel style compile messages
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||||
|
|||||||
@@ -641,6 +641,7 @@ static int ipaccess_a_fd_cb(struct bsc_fd *bfd, unsigned int what)
|
|||||||
else if (hh->proto == IPAC_PROTO_SCCP)
|
else if (hh->proto == IPAC_PROTO_SCCP)
|
||||||
sccp_system_incoming(msg);
|
sccp_system_incoming(msg);
|
||||||
|
|
||||||
|
msgb_free(msg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1260,7 +1260,7 @@ void bts_unblock_queue(struct bss_sccp_connection_data *data)
|
|||||||
|
|
||||||
/* now queue them again to send RSL establish and such */
|
/* now queue them again to send RSL establish and such */
|
||||||
while (!llist_empty(&head)) {
|
while (!llist_empty(&head)) {
|
||||||
msg = msgb_dequeue(&data->gsm_queue);
|
msg = msgb_dequeue(&head);
|
||||||
bts_queue_send(msg, (int) msg->smsh);
|
bts_queue_send(msg, (int) msg->smsh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -242,6 +242,14 @@ static int ipaccess_rcvmsg(struct e1inp_line *line, struct msgb *msg,
|
|||||||
trx->rsl_link = e1inp_sign_link_create(e1i_ts,
|
trx->rsl_link = e1inp_sign_link_create(e1i_ts,
|
||||||
E1INP_SIGN_RSL, trx,
|
E1INP_SIGN_RSL, trx,
|
||||||
trx->rsl_tei, 0);
|
trx->rsl_tei, 0);
|
||||||
|
|
||||||
|
if (newbfd->fd >= 0) {
|
||||||
|
LOGP(DINP, LOGL_ERROR, "BTS is still registered. Closing old connection.\n");
|
||||||
|
bsc_unregister_fd(newbfd);
|
||||||
|
close(newbfd->fd);
|
||||||
|
newbfd->fd = -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* get rid of our old temporary bfd */
|
/* get rid of our old temporary bfd */
|
||||||
memcpy(newbfd, bfd, sizeof(*newbfd));
|
memcpy(newbfd, bfd, sizeof(*newbfd));
|
||||||
newbfd->priv_nr = 2+trx_id;
|
newbfd->priv_nr = 2+trx_id;
|
||||||
@@ -484,6 +492,7 @@ static int listen_fd_cb(struct bsc_fd *listen_bfd, unsigned int what)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
int i;
|
||||||
struct e1inp_line *line;
|
struct e1inp_line *line;
|
||||||
struct e1inp_ts *e1i_ts;
|
struct e1inp_ts *e1i_ts;
|
||||||
struct bsc_fd *bfd;
|
struct bsc_fd *bfd;
|
||||||
@@ -510,6 +519,10 @@ static int listen_fd_cb(struct bsc_fd *listen_bfd, unsigned int what)
|
|||||||
/* create virrtual E1 timeslots for signalling */
|
/* create virrtual E1 timeslots for signalling */
|
||||||
e1inp_ts_config(&line->ts[1-1], line, E1INP_TS_TYPE_SIGN);
|
e1inp_ts_config(&line->ts[1-1], line, E1INP_TS_TYPE_SIGN);
|
||||||
|
|
||||||
|
/* initialize the fds */
|
||||||
|
for (i = 0; i < ARRAY_SIZE(line->ts); ++i)
|
||||||
|
line->ts[i].driver.ipaccess.fd.fd = -1;
|
||||||
|
|
||||||
e1i_ts = &line->ts[idx];
|
e1i_ts = &line->ts[idx];
|
||||||
|
|
||||||
bfd = &e1i_ts->driver.ipaccess.fd;
|
bfd = &e1i_ts->driver.ipaccess.fd;
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ static int ipaccess_msc_cb(struct bsc_fd *bfd, unsigned int what)
|
|||||||
else if (hh->proto == IPAC_PROTO_SCCP)
|
else if (hh->proto == IPAC_PROTO_SCCP)
|
||||||
forward_sccp_to_bts(msg);
|
forward_sccp_to_bts(msg);
|
||||||
|
|
||||||
|
msgb_free(msg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,6 +204,7 @@ static int ipaccess_bsc_cb(struct bsc_fd *bfd, unsigned int what)
|
|||||||
/* FIXME: Currently no PONG is sent to the BSC */
|
/* FIXME: Currently no PONG is sent to the BSC */
|
||||||
/* FIXME: Currently no ID ACK is sent to the BSC */
|
/* FIXME: Currently no ID ACK is sent to the BSC */
|
||||||
forward_sccp_to_msc(msg);
|
forward_sccp_to_msc(msg);
|
||||||
|
msgb_free(msg);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user