diff options
author | Daniel Willmann <daniel@totalueberwachung.de> | 2011-07-22 18:09:36 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-09-11 13:09:03 +0200 |
commit | d79da3baac568eb02bc5149d7b6aae5bfdbc99b5 (patch) | |
tree | bd5d3aa6c1f16dfda8b7bde81c1c6174376c6699 /openbsc/src | |
parent | 721f0325b53adeb46de1802ee16a56ed706da974 (diff) |
nat: Add support for traps to the nat
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_nat.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c index b9d4639df..ca6d9ee1f 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c @@ -1224,6 +1224,13 @@ static int handle_ctrlif_msg(struct bsc_connection *bsc, struct msgb *msg) cmd->variable = var; } + /* We have to handle TRAPs before matching pending */ + if (cmd->type == CTRL_TYPE_TRAP) { + ctrl_cmd_send_to_all(bsc->nat->ctrl, cmd); + talloc_free(cmd); + return 0; + } + /* Find the pending command */ pending = bsc_get_pending(bsc, cmd->id); if (pending) { |