X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=tunprotocol.cpp;h=f455e20ce7aeed31b4218619a8846c309e3bc09f;hb=7019fcdc8632b5740798e8345b48e23640e2de1b;hp=f8bde7d3627279dfcf84e8cc3c1cfca00c136c07;hpb=6eb319dbbc9305b984fd70e8e6d5adebf87edbb7;p=greproxy diff --git a/tunprotocol.cpp b/tunprotocol.cpp index f8bde7d..f455e20 100644 --- a/tunprotocol.cpp +++ b/tunprotocol.cpp @@ -39,10 +39,10 @@ int tun_open(const char *name) { } // namespace TUNProtocol::TUNProtocol(const char *devname) - : tunfd(tun_open(devname)) { + : tunfd(tun_open(devname)), seq(0) { } -void TUNProtocol::send_packet(uint16_t proto, const string &data, int incoming_seq) +void TUNProtocol::send_packet(uint16_t proto, const string &data, uint32_t incoming_seq) { char buf[4096]; @@ -62,6 +62,8 @@ void TUNProtocol::send_packet(uint16_t proto, const string &data, int incoming_s perror("write"); return; } + + ++sent_packets; } int TUNProtocol::fd() const @@ -89,6 +91,7 @@ void TUNProtocol::read_packet(Sender *sender) ptr += 2; //fprintf(stderr, "tun packet: flags=%x proto=%x len=%d\n", // flags, proto, ret - 4); - sender->send_packet(proto, string(ptr, buf + ret), -1); + ++received_packets; + sender->send_packet(proto, string(ptr, buf + ret), seq++); }