NS2: Fix bind selection of SNS NSVCs

The SNS code ignored the link type of the bind and just bound to every
bind it could find. This resulted in a segfault when an SNS NSVC tries
to send its UDP messages though frame relay.

Fixes: OS#4948
Change-Id: Ibb832a39876362d094cce635192f7b4f84dc2b10
diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index 2cb4293..1958477 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -270,6 +270,8 @@
 
 	/* for every bind, create a connection if bind type == IP */
 	llist_for_each_entry(bind, &nsi->binding, list) {
+		if (bind->ll != GPRS_NS2_LL_UDP)
+			continue;
 		/* ignore failed connection */
 		nsvc = gprs_ns2_ip_connect_inactive(bind,
 					   &remote,
@@ -299,6 +301,8 @@
 
 	/* for every bind, create a connection if bind type == IP */
 	llist_for_each_entry(bind, &nsi->binding, list) {
+		if (bind->ll != GPRS_NS2_LL_UDP)
+			continue;
 		/* ignore failed connection */
 		nsvc = gprs_ns2_ip_connect_inactive(bind,
 					   &remote,
@@ -332,6 +336,8 @@
 
 		llist_for_each_entry(bind, &nse->nsi->binding, list) {
 			bool found = false;
+			if (bind->ll != GPRS_NS2_LL_UDP)
+				continue;
 
 			llist_for_each_entry(nsvc, &nse->nsvc, list) {
 				if (nsvc->bind != bind)
@@ -367,6 +373,8 @@
 
 		llist_for_each_entry(bind, &nse->nsi->binding, list) {
 			bool found = false;
+			if (bind->ll != GPRS_NS2_LL_UDP)
+				continue;
 
 			llist_for_each_entry(nsvc, &nse->nsvc, list) {
 				if (nsvc->bind != bind)