/// Constructor
IPIn::IPIn(const IPAddr& ip, Dev& dev, Dev& forward_que, bool router,
/// Constructor
IPIn::IPIn(const IPAddr& ip, Dev& dev, Dev& forward_que, bool router,
-std::string IPIn::recv(uint8_t proto, IPAddr& src, IPAddr& dst) throw (std::runtime_error)
+std::string IPIn::recv(uint8_t& proto, IPAddr& src, IPAddr& dst)
+ throw (std::runtime_error)
drop("Versión IP incorrecta", iph);
continue;
}
if (!iph.check_checksum())
{
drop("Versión IP incorrecta", iph);
continue;
}
if (!iph.check_checksum())
{
drop("Es para nosotros pero somos un router", iph);
continue;
}
// Es para nosotros y somos un host
// Guarda en buffer
buffer[iph][iph.offset] = buf.substr(iph.header_len());
drop("Es para nosotros pero somos un router", iph);
continue;
}
// Es para nosotros y somos un host
// Guarda en buffer
buffer[iph][iph.offset] = buf.substr(iph.header_len());