#include "ipin.h"
#include "ipaddr.h"
#include "routetable.h"
-#include "dev.h"
+#include "devtcp.h"
+#include "devque.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <sys/msg.h>
#include <signal.h>
-// Uso: ./test_ipout ip [router forward routes_file queue_id proto]
+// Uso: ./test_ipout ip [router forward routes_file port proto]
void send_loop(IPOut& ipout, unsigned proto);
bool router = false;
bool forward = false;
unsigned proto = 0;
- key_t queue_id = DEV_DEFAULT_KEY;
+ uint16_t port = DEVTCP_DEFAULT_PORT;
std::string fname = "route.txt";
if (argc < 2)
{
std::cerr << "Uso: ./test_ipout ip [router forward routes_file "
- "queue_id proto]\n";
+ "port proto]\n";
return 1;
}
IPAddr addr(argv[1]);
if (argc > 4)
fname = argv[4];
if (argc > 5)
- queue_id = atoi(argv[5]);
+ port = atoi(argv[5]);
if (argc > 6)
proto = atoi(argv[6]);
- // Creo colas
- int que_id = msgget(queue_id, IPC_CREAT | 0666); assert(que_id != -1);
- que_id = msgget(DEV_DEFAULT_KEY-1, IPC_CREAT | 0666); assert(que_id != -1);
+ // 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
- Dev dev(addr, queue_id);
- Dev fwque(addr, DEV_DEFAULT_KEY-1);
+ DevTCP dev(addr, port);
+ DevQue fwque(addr, DEVQUE_DEFAULT_KEY-1);
// Creo procesos
pid_t pid_send = fork();
if (pid_send == -1)
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);
+ rt.add(net, gw, metric, mtu, dev);
}
}