nat: Print the LAC that was searched for and not found.
diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h
index 54a13e2..a6e7544 100644
--- a/openbsc/include/openbsc/bsc_nat.h
+++ b/openbsc/include/openbsc/bsc_nat.h
@@ -239,7 +239,7 @@
  */
 int bsc_nat_filter_ipa(int direction, struct msgb *msg, struct bsc_nat_parsed *parsed);
 int bsc_nat_vty_init(struct bsc_nat *nat);
-struct bsc_connection *bsc_nat_find_bsc(struct bsc_nat *nat, struct msgb *msg);
+struct bsc_connection *bsc_nat_find_bsc(struct bsc_nat *nat, struct msgb *msg, int *_lac);
 
 /**
  * SCCP patching and handling
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 9a5da0b..3b0f974 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -309,11 +309,13 @@
 	 * message and then send it to the authenticated messages...
 	 */
 	if (parsed->ipa_proto == IPAC_PROTO_SCCP && parsed->gsm_type == BSS_MAP_MSG_PAGING) {
-		bsc = bsc_nat_find_bsc(nat, msg);
+		int lac;
+		bsc = bsc_nat_find_bsc(nat, msg, &lac);
 		if (bsc)
 			bsc_send_data(bsc, msg->l2h, msgb_l2len(msg), parsed->ipa_proto);
 		else
-			LOGP(DNAT, LOGL_ERROR, "Could not determine BSC for paging.\n");
+			LOGP(DNAT, LOGL_ERROR, "Could not determine BSC for paging on lac: %d/0x%x\n",
+			     lac, lac);
 
 		goto exit;
 	}
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c
index c9a90f9..297d45e 100644
--- a/openbsc/src/nat/bsc_nat_utils.c
+++ b/openbsc/src/nat/bsc_nat_utils.c
@@ -104,7 +104,7 @@
 	talloc_free(conn);
 }
 
-struct bsc_connection *bsc_nat_find_bsc(struct bsc_nat *nat, struct msgb *msg)
+struct bsc_connection *bsc_nat_find_bsc(struct bsc_nat *nat, struct msgb *msg, int *lac_out)
 {
 	struct bsc_connection *bsc;
 	int data_length;
@@ -133,6 +133,7 @@
 	/* Currently we only handle one BSC */
 	for (i = 1; i < data_length - 1; i += 2) {
 		unsigned int _lac = ntohs(*(unsigned int *) &data[i]);
+		*lac_out = _lac;
 		llist_for_each_entry(bsc, &nat->bsc_connections, list_entry) {
 			if (!bsc->cfg)
 				continue;
diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c
index 40e2475..12141ef 100644
--- a/openbsc/tests/bsc-nat/bsc_nat_test.c
+++ b/openbsc/tests/bsc-nat/bsc_nat_test.c
@@ -329,6 +329,7 @@
 
 static void test_paging(void)
 {
+	int lac;
 	struct bsc_nat *nat;
 	struct bsc_connection *con;
 	struct bsc_nat_parsed *parsed;
@@ -347,7 +348,7 @@
 
 	/* Test completely bad input */
 	copy_to_msg(msg, paging_by_lac_cmd, sizeof(paging_by_lac_cmd));
-	if (bsc_nat_find_bsc(nat, msg) != 0) {
+	if (bsc_nat_find_bsc(nat, msg, &lac) != 0) {
 		fprintf(stderr, "Should have not found anything.\n");
 		abort();
 	}
@@ -355,7 +356,7 @@
 	/* Test it by not finding it */
 	copy_to_msg(msg, paging_by_lac_cmd, sizeof(paging_by_lac_cmd));
 	parsed = bsc_nat_parse(msg);
-	if (bsc_nat_find_bsc(nat, msg) != 0) {
+	if (bsc_nat_find_bsc(nat, msg, &lac) != 0) {
 		fprintf(stderr, "Should have not found aynthing.\n");
 		abort();
 	}
@@ -365,7 +366,7 @@
 	cfg.lac = 8213;
 	copy_to_msg(msg, paging_by_lac_cmd, sizeof(paging_by_lac_cmd));
 	parsed = bsc_nat_parse(msg);
-	if (bsc_nat_find_bsc(nat, msg) != con) {
+	if (bsc_nat_find_bsc(nat, msg, &lac) != con) {
 		fprintf(stderr, "Should have found it.\n");
 		abort();
 	}