Change in libosmocore[master]: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint

Harald Welte gerrit-no-reply at
Sun Mar 17 09:57:08 UTC 2019

Harald Welte has submitted this change and it was merged. ( )

Change subject: gprs_ns_sns: Use "correct" remote IP address for local IP endpoint

gprs_ns_sns: Use "correct" remote IP address for local IP endpoint

we cannot use "nsi->nsip.remote_ip", as this address is not set
when SNS is in use.  We can only have a valid nsi->nsip.remote_ip
if there's only a single NS-VC inside the NS Instance, as this would
connect() the UDP socket to the remote IP/port, breaking any possibility
to have multiple NS-VCs to different SGNS-side IP addresses.

Closes: OS#3845
Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330
M src/gb/gprs_ns_sns.c
1 file changed, 2 insertions(+), 2 deletions(-)

  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c
index b0ee5d7..cbaa468 100644
--- a/src/gb/gprs_ns_sns.c
+++ b/src/gb/gprs_ns_sns.c
@@ -657,8 +657,8 @@
 		/* unspecified local address. Figure out which address the kernel would use if we
 		 * wanted to send a packet to the remote_ip */
 		char local_ip[32];
-		struct in_addr in = { .s_addr = htonl(nsi->nsip.remote_ip) };
-		osmo_sock_local_ip(local_ip, inet_ntoa(in));
+		struct sockaddr_in *daddr = &nsvc->ip.bts_addr;
+		osmo_sock_local_ip(local_ip, inet_ntoa(daddr->sin_addr));
 		ip4->ip_addr = inet_addr(local_ip);
 	ip4->udp_port = htons(gss->nsi->nsip.local_port);

To view, visit
To unsubscribe, or for help writing mail filters, visit

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic094621eb01d7458063f531289d5eeadf52bf330
Gerrit-Change-Number: 13293
Gerrit-PatchSet: 2
Gerrit-Owner: Harald Welte <laforge at>
Gerrit-Reviewer: Alexander Chemeris <Alexander.Chemeris at>
Gerrit-Reviewer: Harald Welte <laforge at>
Gerrit-Reviewer: Jenkins Builder (1000002)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gerrit-log mailing list