[nat] Add the notion of a "local" connection.

A local connection is only between the MUX and the real BSC. We will
not forward anything to the MSC. This will be needed for the IMSI
filtering as sending a CREF is not liked by every BSC...
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 3ee5374..65f6eec 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -609,6 +609,7 @@
 static int forward_sccp_to_msc(struct bsc_connection *bsc, struct msgb *msg)
 {
 	int con_found = 0;
+	int con_filter = 0;
 	struct bsc_connection *con_bsc = NULL;
 	int con_type;
 	struct bsc_nat_parsed *parsed;
@@ -659,6 +660,7 @@
 			if (con) {
 				con_found = 1;
 				con_bsc = con->bsc;
+				con_filter = con->con_local;
 			}
 			break;
 		case SCCP_MSG_TYPE_RLC:
@@ -666,6 +668,7 @@
 			if (con) {
 				con_found = 1;
 				con_bsc = con->bsc;
+				con_filter = con->con_local;
 			}
 			remove_sccp_src_ref(bsc, msg, parsed);
 			break;
@@ -693,6 +696,10 @@
 		goto exit2;
 	}
 
+	/* do not forward messages to the MSC */
+	if (con_filter)
+		goto exit2;
+
 	/* send the non-filtered but maybe modified msg */
 	queue_for_msc(nat->msc_con, msg);
 	talloc_free(parsed);