gprs/test: Add connect_sgsn() function

This function abstracts identical code sequences that are used at
multiple places.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/tests/gbproxy/gbproxy_test.c b/openbsc/tests/gbproxy/gbproxy_test.c
index a8f4eaf..ba1c51b 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.c
+++ b/openbsc/tests/gbproxy/gbproxy_test.c
@@ -193,6 +193,15 @@
 	send_bssgp_reset(nsi, src_addr, bvci);
 }
 
+static void connect_sgsn(struct gprs_ns_inst *nsi, struct sockaddr_in *sgsn_peer)
+{
+	gprs_ns_nsip_connect(nsi, sgsn_peer, SGSN_NSEI, SGSN_NSEI+1);
+	send_ns_reset_ack(nsi, sgsn_peer, SGSN_NSEI+1, SGSN_NSEI);
+	send_ns_alive_ack(nsi, sgsn_peer);
+	send_ns_unblock_ack(nsi, sgsn_peer);
+	send_ns_alive(nsi, sgsn_peer);
+}
+
 int gprs_ns_rcvmsg(struct gprs_ns_inst *nsi, struct msgb *msg,
 		   struct sockaddr_in *saddr, enum gprs_ns_ll ll);
 
@@ -408,11 +417,7 @@
 
 	printf("--- Initialise SGSN ---\n\n");
 
-	gprs_ns_nsip_connect(nsi, &sgsn_peer, SGSN_NSEI, SGSN_NSEI+1);
-	send_ns_reset_ack(nsi, &sgsn_peer, SGSN_NSEI+1, SGSN_NSEI);
-	send_ns_alive_ack(nsi, &sgsn_peer);
-	send_ns_unblock_ack(nsi, &sgsn_peer);
-	send_ns_alive(nsi, &sgsn_peer);
+	connect_sgsn(nsi, &sgsn_peer);
 	gprs_dump_nsi(nsi);
 
 	printf("--- Initialise BSS 1 ---\n\n");
@@ -569,11 +574,7 @@
 
 	printf("--- Initialise SGSN ---\n\n");
 
-	gprs_ns_nsip_connect(nsi, &sgsn_peer, SGSN_NSEI, SGSN_NSEI+1);
-	send_ns_reset_ack(nsi, &sgsn_peer, SGSN_NSEI+1, SGSN_NSEI);
-	send_ns_alive_ack(nsi, &sgsn_peer);
-	send_ns_unblock_ack(nsi, &sgsn_peer);
-	send_ns_alive(nsi, &sgsn_peer);
+	connect_sgsn(nsi, &sgsn_peer);
 	gprs_dump_nsi(nsi);
 
 	printf("--- Initialise BSS 1 ---\n\n");