aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-03-29 17:18:42 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-03-29 17:43:32 +0200
commit3bdaa69fb2c449cd217c0c7bd6d6866d9f1091a1 (patch)
tree2d12d6ef2bd686686c1e5dffcba17fa28e272315 /openbsc/include/openbsc
parent5c0132882ad1c365b4982c62feb77fa31bbd8c49 (diff)
nat: Keep track of both sides of the connection
On a CC message we will need to remeber where the source local reference of the network belonged so we can properly identify the connection when receiving UDT messages.
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r--openbsc/include/openbsc/bsc_nat.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h
index 2f2b8c962..5f730fe6b 100644
--- a/openbsc/include/openbsc/bsc_nat.h
+++ b/openbsc/include/openbsc/bsc_nat.h
@@ -102,6 +102,7 @@ struct sccp_connections {
struct sccp_source_reference real_ref;
struct sccp_source_reference patched_ref;
+ struct sccp_source_reference remote_ref;
};
/**
@@ -154,6 +155,7 @@ int bsc_nat_vty_init(struct bsc_nat *nat);
* SCCP patching and handling
*/
int create_sccp_src_ref(struct bsc_connection *bsc, struct msgb *msg, struct bsc_nat_parsed *parsed);
+int update_sccp_src_ref(struct bsc_connection *bsc, struct msgb *msg, struct bsc_nat_parsed *parsed);
void remove_sccp_src_ref(struct bsc_connection *bsc, struct msgb *msg, struct bsc_nat_parsed *parsed);
struct bsc_connection *patch_sccp_src_ref_to_bsc(struct msgb *, struct bsc_nat_parsed *, struct bsc_nat *);
struct bsc_connection *patch_sccp_src_ref_to_msc(struct msgb *, struct bsc_nat_parsed *, struct bsc_nat *);