gb: Create new NSVC object instead of patching the NSVCI

When a RESET is received on the same link with a different NSVCI from
a BSS on a dynamically created NS connection do not patch the nsvc
object but create a new one instead. Thus the NSVCI is never modified
at a nsvc object after the NS-VC has been established.

Sponsored-by: On-Waves ehf
diff --git a/tests/gb/gprs_ns_test.c b/tests/gb/gprs_ns_test.c
index 546c20a..c88792c 100644
--- a/tests/gb/gprs_ns_test.c
+++ b/tests/gb/gprs_ns_test.c
@@ -435,11 +435,12 @@
 	printf("Current NS-VCIs:\n");
 	llist_for_each_entry(nsvc, &nsi->gprs_nsvcs, list) {
 		struct sockaddr_in *peer = &(nsvc->ip.bts_addr);
-		printf("    VCI 0x%04x, NSEI 0x%04x, peer 0x%08x:%d%s%s\n",
+		printf("    VCI 0x%04x, NSEI 0x%04x, peer 0x%08x:%d%s%s%s\n",
 		       nsvc->nsvci, nsvc->nsei,
 		       ntohl(peer->sin_addr.s_addr), ntohs(peer->sin_port),
 		       nsvc->state & NSE_S_BLOCKED ? ", blocked" : "",
-		       nsvc->state & NSE_S_ALIVE   ? "" : ", dead"
+		       nsvc->state & NSE_S_ALIVE   ? "" : ", dead",
+		       nsvc->nsvci_is_valid   ? "" : ", invalid VCI"
 		      );
 		dump_rate_ctr_group(stdout, "        ", nsvc->ctrg);
 	}