summaryrefslogtreecommitdiff
path: root/tunnat/include
diff options
context:
space:
mode:
authorQiuwen Lu <[email protected]>2017-07-19 14:19:35 +0800
committerQiuwen Lu <[email protected]>2017-07-19 14:19:35 +0800
commit208f4023e98d24daf33723807f2eeb3968e6817c (patch)
treec6544e697edb43efcd8e21f80dc299f99f5c5589 /tunnat/include
parent0639f75a2bcd4bd39834e0d2e5706827f52c07c5 (diff)
增加TUNNAT网关主动发包功能,目前仅支持内层是以太网、外层是VXLAN的隧道主动发包。
Diffstat (limited to 'tunnat/include')
-rw-r--r--tunnat/include/tunnat.h2
-rw-r--r--tunnat/include/tunnel.h8
2 files changed, 10 insertions, 0 deletions
diff --git a/tunnat/include/tunnat.h b/tunnat/include/tunnat.h
index 172785f..e999219 100644
--- a/tunnat/include/tunnat.h
+++ b/tunnat/include/tunnat.h
@@ -90,6 +90,7 @@ public:
TUNNAT_STAT_DROP_OUTPUT,
TUNNAT_STAT_FORWARD_RAW_OUTPUT,
TUNNAT_STAT_FORWARD_TUNNEL_OUTPUT,
+ TUNNAT_STAT_NO_SESSION_OUTPUT,
/* 统计,会话表表项计数 */
TUNNAT_STAT_SESSION_ADD,
TUNNAT_STAT_SESSION_REMOVE,
@@ -161,6 +162,7 @@ public:
[TUNNAT_STAT_DROP_OUTPUT] ="TUNNAT_STAT_DROP_OUTPUT",
[TUNNAT_STAT_FORWARD_RAW_OUTPUT] = "TUNNAT_STAT_FORWARD_RAW_OUTPUT",
[TUNNAT_STAT_FORWARD_TUNNEL_OUTPUT] = "TUNNAT_STAT_FORWARD_TUNNEL_OUTPUT",
+ [TUNNAT_STAT_NO_SESSION_OUTPUT] = "TUNNAT_STAT_NO_SESSION_OUTPUT",
[TUNNAT_STAT_SESSION_ADD] = "TUNNAT_STAT_SESSION_ADD",
[TUNNAT_STAT_SESSION_REMOVE] = "TUNNAT_STAT_SESSION_REMOVE",
[TUNNAT_STAT_ENCAP_FAIL_NO_SESSION] = "TUNNAT_STAT_ENCAP_FAIL_NO_SESSION",
diff --git a/tunnat/include/tunnel.h b/tunnat/include/tunnel.h
index 10449e5..5f95a85 100644
--- a/tunnat/include/tunnel.h
+++ b/tunnat/include/tunnel.h
@@ -11,6 +11,7 @@ extern "C"
#include <assert.h>
#include <common.h>
#include <marsio.h>
+#include <mrtunnat.h>
}
struct AddressInfo
@@ -61,6 +62,11 @@ public:
return this_layer_length;
}
+ virtual int CtrlZoneParse(struct mr_tunnat_ctrlzone * ctrlzone)
+ {
+ return RT_ERR;
+ }
+
virtual int PacketParse(const char * pkt, unsigned int pkt_len)
{
return RT_ERR;
@@ -103,7 +109,9 @@ protected:
public:
int PacketParse(const char * pkt, unsigned int pkt_len);
+ int CtrlZoneParse(struct mr_tunnat_ctrlzone * ctrlzone);
int PacketConstruct(const char * pkt, unsigned int pkt_len);
+
int GetAddressInfo(struct AddressInfo & addr_info)
{
return 0;