diff options
author | Harald Welte <laforge@gnumonks.org> | 2013-03-10 08:54:30 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2013-03-10 08:57:03 +0000 |
commit | 30a73d8544edc9c160df3f14095934ee59bddbb1 (patch) | |
tree | 14c3830018c9aa61898706bbb7c045f56eb81223 /src/gprs_bssgp_pcu.cpp | |
parent | 44408456141f94a716c7cd8c339ecd4bc05341b6 (diff) |
PCU: respect the PCU-side "local port" as configured via L1 IF
This makes sure that the UDP local port of the Gb link is actually
set to what is configured via OML from OpenBSC.
Diffstat (limited to 'src/gprs_bssgp_pcu.cpp')
-rw-r--r-- | src/gprs_bssgp_pcu.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 4f8c41ec..17c3fe45 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -559,9 +559,10 @@ static void bvc_timeout(void *_priv) } /* create BSSGP/NS layer instances */ -int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei, - uint16_t nsvci, uint16_t bvci, uint16_t mcc, uint16_t mnc, uint16_t lac, - uint16_t rac, uint16_t cell_id) +int gprs_bssgp_create(uint16_t local_port, uint32_t sgsn_ip, + uint16_t sgsn_port, uint16_t nsei, uint16_t nsvci, uint16_t bvci, + uint16_t mcc, uint16_t mnc, uint16_t lac, uint16_t rac, + uint16_t cell_id) { struct sockaddr_in dest; int rc; @@ -579,6 +580,7 @@ int gprs_bssgp_create(uint32_t sgsn_ip, uint16_t sgsn_port, uint16_t nsei, return -EINVAL; } gprs_ns_vty_init(bssgp_nsi); + bssgp_nsi->nsip.local_port = local_port; rc = gprs_ns_nsip_listen(bssgp_nsi); if (rc < 0) { LOGP(DBSSGP, LOGL_ERROR, "Failed to create socket\n"); |