diff options
| author | Qiuwen Lu <[email protected]> | 2020-04-28 17:15:20 +0800 |
|---|---|---|
| committer | Qiuwen Lu <[email protected]> | 2020-05-09 13:57:09 +0800 |
| commit | f936069fd850d158237173846e8c4360cc853eb6 (patch) | |
| tree | 22e8f2a3816a33c4bbab198df93e8d9cb1ff029f | |
| parent | f5433253e98e56b52189dd94e219124fdeddbc7a (diff) | |
增加在控制域中填写C->I或I->C方向的实现。v4.3.19-20200509
| -rw-r--r-- | tunnat/include/tunnel.h | 9 | ||||
| -rw-r--r-- | tunnat/src/runtime.cc | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tunnat/include/tunnel.h b/tunnat/include/tunnel.h index 6801cf7..69fa17f 100644 --- a/tunnat/include/tunnel.h +++ b/tunnat/include/tunnel.h @@ -22,9 +22,17 @@ enum AddressInfoType ADDRESS_INFO_TYPE_IPV6 }; +enum AddressInfoDir +{ + ADDRESS_INFO_C_TO_I, + ADDRESS_INFO_I_TO_C +}; + struct AddressInfo { enum AddressInfoType type; + enum AddressInfoDir dir; + uint8_t src_mac_addr[6]; uint8_t dst_mac_addr[6]; @@ -149,6 +157,7 @@ public: { /* g-device always use IPv4 protocol */ addr_info.type = ADDRESS_INFO_TYPE_IPV4; + addr_info.dir = (enum AddressInfoDir)vxlan_hdr_.dir; /* Tuple-4 */ addr_info.src_addr_v4.s_addr = ipv4_hdr_.src_addr; diff --git a/tunnat/src/runtime.cc b/tunnat/src/runtime.cc index 0ee38fa..02b8775 100644 --- a/tunnat/src/runtime.cc +++ b/tunnat/src/runtime.cc @@ -245,6 +245,7 @@ static void __phy_to_virt_pkt_fill_addressinfo(TunnatInstance * instance, ctrlzone->l_device_in_addr = addrinfo.dst_addr_v4.s_addr; ctrlzone->g_device_vpn_id = addrinfo.tun_vpn_id; ctrlzone->g_device_linkpair = addrinfo.tun_link_id; + ctrlzone->route_dir = addrinfo.dir; } } |
