]> git.sesse.net Git - greproxy/blobdiff - tunprotocol.cpp
Make GREProtocol no longer make its own sequence numbers.
[greproxy] / tunprotocol.cpp
index 534c8bdabfc77bb8aaad6a642fa1a196676f10bd..7a52362c5482ee8e93a7d0cab04038b9faac2c89 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)
@@ -69,7 +69,7 @@ int TUNProtocol::fd() const
        return tunfd;
 }
 
-void TUNProtocol::read_packet(Protocol *sender)
+void TUNProtocol::read_packet(Sender *sender)
 {
        char buf[4096];
        int ret = read(tunfd, buf, sizeof(buf));
@@ -89,6 +89,6 @@ void TUNProtocol::read_packet(Protocol *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);
+       sender->send_packet(proto, string(ptr, buf + ret), seq++);
 }