]> git.sesse.net Git - greproxy/blobdiff - tunprotocol.cpp
Make tungre output statistics on stderr every 10 seconds.
[greproxy] / tunprotocol.cpp
index f8bde7d3627279dfcf84e8cc3c1cfca00c136c07..510decf29464d5e9b77b7ec38ff9c291c7a63ab9 100644 (file)
@@ -39,7 +39,7 @@ 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)
@@ -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++);
 }