aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_ns_frgre.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-19 15:09:09 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-19 15:09:09 +0200
commitff3bde8b49ef7cf530c535c99e5960dd5b8871cf (patch)
treec55e020e7a5160984360f2bac537fa7ded7e25dd /openbsc/src/gprs/gprs_ns_frgre.c
parent5540c4cbd32f9b69f72adb622c3635e841724131 (diff)
[GPRS] NS: VTY: Move all local ip/port bind values into 'ns' node
This removes the requirement for gb_proxy and sgsn to have duplicate vty parsing code
Diffstat (limited to 'openbsc/src/gprs/gprs_ns_frgre.c')
-rw-r--r--openbsc/src/gprs/gprs_ns_frgre.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/openbsc/src/gprs/gprs_ns_frgre.c b/openbsc/src/gprs/gprs_ns_frgre.c
index d58c1d9da..979442b81 100644
--- a/openbsc/src/gprs/gprs_ns_frgre.c
+++ b/openbsc/src/gprs/gprs_ns_frgre.c
@@ -202,7 +202,7 @@ static int nsfrgre_fd_cb(struct bsc_fd *bfd, unsigned int what)
return rc;
}
-int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi, uint32_t ip)
+int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi)
{
int rc;
@@ -210,7 +210,11 @@ int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi, uint32_t ip)
if (nsi->frgre.fd.fd)
close(nsi->frgre.fd.fd);
- rc = make_sock(&nsi->frgre.fd, IPPROTO_GRE, ip, 0, nsfrgre_fd_cb);
+ if (!nsi->frgre.enabled)
+ return 0;
+
+ rc = make_sock(&nsi->frgre.fd, IPPROTO_GRE, nsi->frgre.local_ip,
+ 0, nsfrgre_fd_cb);
if (rc < 0) {
LOGP(DNS, LOGL_ERROR, "Error creating GRE socket (%s)\n",
strerror(errno));