mirror of https://github.com/oxen-io/lokinet
use vpn::NetworkInterface for add/del route via interface instead of string
This commit is contained in:
parent
c9b9ed91c2
commit
07a58ffa6c
|
@ -84,10 +84,10 @@ namespace llarp::vpn
|
|||
DelDefaultRouteViaInterface(std::string ifname) = 0;
|
||||
|
||||
virtual void
|
||||
AddRouteViaInterface(std::string ifname, IPRange range) = 0;
|
||||
AddRouteViaInterface(NetworkInterface& vpn, IPRange range) = 0;
|
||||
|
||||
virtual void
|
||||
DelRouteViaInterface(std::string ifname, IPRange range) = 0;
|
||||
DelRouteViaInterface(NetworkInterface& vpn, IPRange range) = 0;
|
||||
|
||||
virtual std::vector<IPVariant_t>
|
||||
GetGatewaysNotOnInterface(std::string ifname) = 0;
|
||||
|
|
|
@ -395,15 +395,15 @@ namespace llarp::vpn
|
|||
}
|
||||
|
||||
void
|
||||
AddRouteViaInterface(std::string ifname, IPRange range) override
|
||||
AddRouteViaInterface(NetworkInterface& vpn, IPRange range) override
|
||||
{
|
||||
RouteViaInterface(RTM_NEWROUTE, NLM_F_CREATE | NLM_F_EXCL, ifname, range);
|
||||
RouteViaInterface(RTM_NEWROUTE, NLM_F_CREATE | NLM_F_EXCL, vpn.IfName(), range);
|
||||
}
|
||||
|
||||
void
|
||||
DelRouteViaInterface(std::string ifname, IPRange range) override
|
||||
DelRouteViaInterface(NetworkInterface& vpn, IPRange range) override
|
||||
{
|
||||
RouteViaInterface(RTM_DELROUTE, 0, ifname, range);
|
||||
RouteViaInterface(RTM_DELROUTE, 0, vpn.IfName(), range);
|
||||
}
|
||||
|
||||
std::vector<IPVariant_t>
|
||||
|
|
|
@ -175,7 +175,7 @@ namespace llarp::vpn
|
|||
std::vector<std::thread> m_Threads;
|
||||
thread::Queue<net::IPPacket> m_ReadQueue;
|
||||
|
||||
const InterfaceInfo m_Info;
|
||||
InterfaceInfo m_Info;
|
||||
|
||||
static std::wstring
|
||||
get_win_sys_path()
|
||||
|
@ -274,6 +274,7 @@ namespace llarp::vpn
|
|||
IPADDR sock[3]{};
|
||||
const nuint32_t addr = xhtonl(net::TruncateV6(ifaddr.range.addr));
|
||||
ip = net::TruncateV6(ifaddr.range.addr);
|
||||
m_Info.ifname = ip.ToString();
|
||||
const nuint32_t mask = xhtonl(net::TruncateV6(ifaddr.range.netmask_bits));
|
||||
LogInfo("address ", addr, " netmask ", mask);
|
||||
sock[0] = addr.n;
|
||||
|
@ -409,7 +410,7 @@ namespace llarp::vpn
|
|||
std::string
|
||||
IfName() const override
|
||||
{
|
||||
return "";
|
||||
return m_Info.ifname;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -577,15 +578,15 @@ namespace llarp::vpn
|
|||
}
|
||||
|
||||
void
|
||||
AddRouteViaInterface(std::string ifname, IPRange range) override
|
||||
AddRouteViaInterface(NetworkInterface& vpn, IPRange range) override
|
||||
{
|
||||
RouteViaInterface(ifname, range, "ADD");
|
||||
RouteViaInterface(vpn.IfName(), range, "ADD");
|
||||
}
|
||||
|
||||
void
|
||||
DelRouteViaInterface(std::string ifname, IPRange range) override
|
||||
DelRouteViaInterface(NetworkInterface& vpn, IPRange range) override
|
||||
{
|
||||
RouteViaInterface(ifname, range, "DELETE");
|
||||
RouteViaInterface(vpn.IfName(), range, "DELETE");
|
||||
}
|
||||
|
||||
std::vector<IPVariant_t>
|
||||
|
|
Loading…
Reference in New Issue