fix exit traffic for v6

pull/686/head
Jeff Becker 5 years ago
parent a780789b2c
commit a2d01ff2d3
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -111,13 +111,28 @@ namespace llarp
llarp::net::IPPacket pkt;
if(!pkt.Load(buf.underlying))
return false;
huint32_t dst;
if(m_RewriteSource)
dst = net::IPPacket::TruncateV6(m_Parent->GetIfAddr());
if(pkt.IsV6() && m_Parent->SupportsV6())
{
huint128_t dst;
if(m_RewriteSource)
dst = m_Parent->GetIfAddr();
else
dst = pkt.dstv6();
pkt.UpdateV6Address(m_IP, dst);
}
else if(pkt.IsV4() && !m_Parent->SupportsV6())
{
huint32_t dst;
if(m_RewriteSource)
dst = net::IPPacket::TruncateV6(m_Parent->GetIfAddr());
else
dst = pkt.dstv4();
pkt.UpdateV4Address(net::IPPacket::TruncateV6(m_IP), dst);
}
else
dst = pkt.dstv4();
pkt.UpdateV4Address(net::IPPacket::TruncateV6(m_IP), dst);
{
return false;
}
m_UpstreamQueue.emplace(pkt, counter);
m_TxRate += buf.underlying.sz;
m_LastActive = m_Parent->Now();

Loading…
Cancel
Save