nat: Store the config in the connection instead of the lac

This allows that we can print the Nr. next to the lac
and it allows us to change the lac at runtime without
reconnecting the BSC.
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 1f6b578..2ff06d7 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -377,9 +377,9 @@
 	llist_for_each_entry(conf, &bsc->nat->bsc_configs, entry) {
 		if (strcmp(conf->token, token) == 0) {
 			bsc->authenticated = 1;
-			bsc->lac = conf->lac;
+			bsc->cfg = conf;
 			bsc_del_timer(&bsc->id_timeout);
-			LOGP(DNAT, LOGL_NOTICE, "Authenticated bsc %d\n", bsc->lac);
+			LOGP(DNAT, LOGL_NOTICE, "Authenticated bsc nr: %d lac: %d\n", conf->nr, conf->lac);
 			break;
 		}
 	}
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c
index 81d4de9..eddcaff 100644
--- a/openbsc/src/nat/bsc_nat_utils.c
+++ b/openbsc/src/nat/bsc_nat_utils.c
@@ -115,7 +115,9 @@
 	for (i = 1; i < data_length - 1; i += 2) {
 		unsigned int _lac = ntohs(*(unsigned int *) &data[i]);
 		llist_for_each_entry(bsc, &nat->bsc_connections, list_entry) {
-			if (!bsc->authenticated || _lac != bsc->lac)
+			if (!bsc->cfg)
+				continue;
+			if (!bsc->authenticated || _lac != bsc->cfg->lac)
 				continue;
 
 			return bsc;
diff --git a/openbsc/src/nat/bsc_nat_vty.c b/openbsc/src/nat/bsc_nat_vty.c
index d5f83eb..4c60a19 100644
--- a/openbsc/src/nat/bsc_nat_vty.c
+++ b/openbsc/src/nat/bsc_nat_vty.c
@@ -76,8 +76,9 @@
 {
 	struct sccp_connections *con;
 	llist_for_each_entry(con, &_nat->sccp_connections, list_entry) {
-		vty_out(vty, "SCCP for BSC: %d BSC ref: 0x%x Local ref: 0x%x MSC/BSC mux: 0x%x/0x%x%s",
-			con->bsc->lac,
+		vty_out(vty, "SCCP for BSC: Nr: %d lac: %d BSC ref: 0x%x Local ref: 0x%x MSC/BSC mux: 0x%x/0x%x%s",
+			con->bsc->cfg ? con->bsc->cfg->nr : -1,
+			con->bsc->cfg ? con->bsc->cfg->lac : -1,
 			sccp_src_ref_to_int(&con->real_ref),
 			sccp_src_ref_to_int(&con->patched_ref),
 			con->msc_timeslot, con->bsc_timeslot,
@@ -92,8 +93,10 @@
 {
 	struct bsc_connection *con;
 	llist_for_each_entry(con, &_nat->bsc_connections, list_entry) {
-		vty_out(vty, "BSC lac: %d auth: %d fd: %d%s",
-			con->lac, con->authenticated, con->write_queue.bfd.fd, VTY_NEWLINE);
+		vty_out(vty, "BSC lac: %d, %d auth: %d fd: %d%s",
+			con->cfg ? con->cfg->nr : -1,
+			con->cfg ? con->cfg->lac : -1,
+			con->authenticated, con->write_queue.bfd.fd, VTY_NEWLINE);
 	}
 
 	return CMD_SUCCESS;