6 #include "routetable.h"
18 /// Dispositivo de logging
21 /// Cola para forwardear paquetes
24 /// Dispositivo de logging
28 IPOut(const IPAddr& ip, RouteTable& rtable, Dev& forward_que,
29 std::ostream& log = std::cout);
31 /// Descarta un paquete
32 void drop(const std::string& msg, const std::string& buf);
33 void drop(const std::string& msg, const IPHeader& iph);
35 /// Envía un paquete IP a armar (y forwardea los encolados, de haber)
36 bool send(const std::string& data, uint8_t proto, IPAddr dst,
37 IPAddr src = 0, bool df = 0, uint8_t ttl = 64, uint16_t id = 0)
38 throw (std::runtime_error);
40 /// Envía un paquete IP ya armado
41 bool send(IPHeader iph, std::string data) throw (std::runtime_error);
43 /// Obtiene un identificador para el paquete
44 uint16_t get_id() const;
46 /// Se fija si hay paquetes a forwardear (y devuelve cuantos hay)
47 unsigned to_forward();
49 // Nada de andar copiando...
52 IPOut& operator=(const IPOut&);
58 // vim: set et sw=4 sts=4 :