X-Git-Url: https://git.llucax.com/z.facultad/75.74/practicos.git/blobdiff_plain/810ed30ec72d5339d6efa8a88702b74d95693503..91fb3ca6b56328c626dabb35e2de9a5ae525b1b1:/practicas/pipi/src/ip.cpp diff --git a/practicas/pipi/src/ip.cpp b/practicas/pipi/src/ip.cpp index f3fed6e..0e9d0de 100644 --- a/practicas/pipi/src/ip.cpp +++ b/practicas/pipi/src/ip.cpp @@ -18,22 +18,20 @@ #include #include -// Uso: ./test_ipout ip [router forward routes_file port proto] +// Uso: ./ip ip [router forward routes_file port proto] void send_loop(IPOut& ipout, unsigned proto); -void add_routes(RouteTable& rt, std::istream& is, Dev& dev); - int main(int argc, char* argv[]) { bool router = false; bool forward = false; - unsigned proto = 0; + uint8_t proto = 0; uint16_t port = DEVTCP_DEFAULT_PORT; std::string fname = "route.txt"; if (argc < 2) { - std::cerr << "Uso: ./test_ipout ip [router forward routes_file " + std::cerr << "Uso: " << argv[0] << " ip [router forward routes_file " "port proto]\n"; return 1; } @@ -48,8 +46,6 @@ int main(int argc, char* argv[]) port = atoi(argv[5]); if (argc > 6) proto = atoi(argv[6]); - // Creo cola para comunicar el IPIn con IPOut - int que_id = msgget(DEVQUE_DEFAULT_KEY-1, IPC_CREAT | 0666); assert(que_id != -1); // Abro archivo con rutas std::ifstream ifs(fname.c_str()); assert(ifs); // Creo medio físico y cola para forwarding @@ -97,7 +93,8 @@ int main(int argc, char* argv[]) IPAddr src, dst; std::string s = ipin.recv(proto, src, dst); std::cout << "Recibido '" << s << "' (len " << s.size() << ") de " - << src << " para " << dst << " (proto = " << proto << ")\n"; + << src << " para " << dst << " (proto = " << unsigned(proto) + << ")\n"; } return 0; } @@ -119,21 +116,4 @@ void send_loop(IPOut& ipout, unsigned proto) } } -void add_routes(RouteTable& rt, std::istream& is, Dev& dev) -{ - std::string line; - while (std::getline(is, line)) - { - std::istringstream iss(line); - std::string net; - std::string gw; - unsigned mtu; - unsigned metric; - iss >> net >> gw >> mtu >> metric; - if (net == "0") net = "0.0.0.0"; - if (gw == "0") gw = "0.0.0.0"; - rt.add(net.c_str(), gw.c_str(), metric, mtu, dev); - } -} - // vim: set et sw=4 sts=4 :