aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat/bsc_filter.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-15 18:45:26 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-15 20:24:06 +0800
commit6a97b8d188da8ac8bddf8f4338eb5b61501ddd74 (patch)
tree891b253931dad930c46170cf97be900ba5abd184 /openbsc/src/nat/bsc_filter.c
parentd7fb9545b6e62f6dfb95c6c79908266135ddbe04 (diff)
[nat] Add a bsc_filter.c which will carry out the analysis and filtering
The first part is to analyze the IP Access Header and only forward SCCP messages for now. In the future we might want to do MGCP signalling through this protocol and connection as well and need to update this then.
Diffstat (limited to 'openbsc/src/nat/bsc_filter.c')
-rw-r--r--openbsc/src/nat/bsc_filter.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/openbsc/src/nat/bsc_filter.c b/openbsc/src/nat/bsc_filter.c
new file mode 100644
index 000000000..5c59f39a5
--- /dev/null
+++ b/openbsc/src/nat/bsc_filter.c
@@ -0,0 +1,34 @@
+/* BSC Multiplexer/NAT */
+
+/*
+ * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * (C) 2010 by on-waves.com
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <openbsc/bsc_nat.h>
+#include <openbsc/ipaccess.h>
+
+int bsc_nat_filter_ipa(struct msgb *msg)
+{
+ struct ipaccess_head *hh;
+
+ /* handle base message handling */
+ hh = (struct ipaccess_head *) msg->data;
+ return hh->proto == IPAC_PROTO_IPACCESS;
+}