congestvpn/VpnPacket.cpp

22 lines
534 B
C++

#include "VpnPacket.hpp"
const size_t VpnPacket::VPN_HEADER_SIZE = 0;
static const size_t OUTER_HEADERS_SIZE =
40 /* IPv6 header */ + 8 /* UDP header */;
// We use a TUN device, hence we don't have a layer 2 header.
VpnPacket::VpnPacket(size_t mtu)
: _data_space(mtu-OUTER_HEADERS_SIZE), _data_size(0)
{
_data = new char[mtu - OUTER_HEADERS_SIZE];
}
VpnPacket::~VpnPacket() {
delete[] _data;
}
bool VpnPacket::parse_as_ipv6() {
return parse_ipv6_header(get_payload(), get_payload_size(), _ipv6_header);
}