diff options
| author | Qiuwen Lu <[email protected]> | 2017-07-19 14:19:35 +0800 |
|---|---|---|
| committer | Qiuwen Lu <[email protected]> | 2017-07-19 14:19:35 +0800 |
| commit | 208f4023e98d24daf33723807f2eeb3968e6817c (patch) | |
| tree | c6544e697edb43efcd8e21f80dc299f99f5c5589 /tunnat/include | |
| parent | 0639f75a2bcd4bd39834e0d2e5706827f52c07c5 (diff) | |
增加TUNNAT网关主动发包功能,目前仅支持内层是以太网、外层是VXLAN的隧道主动发包。
Diffstat (limited to 'tunnat/include')
| -rw-r--r-- | tunnat/include/tunnat.h | 2 | ||||
| -rw-r--r-- | tunnat/include/tunnel.h | 8 |
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; |
