next up previous
Next: Práctica 2: Programa de Up: Prácticas de Redes de Previous: Programa ejemplo

Práctica 1: Librería de decodificacion (3 ptos)

En esta práctica se debe crear una librería que exporte una función a la que se le pasa un paquete y llama a diferentes funciones según éste sea: Ethernet, ARP, IP, ICMP, UDP y/o TCP. Para eso se declaran unas variables que son punteros a las funciones que se van a llamar y a las que se les pasará el paquete desde el comienzo de la cabecera de ese nivel y el tamano de la PDU de ese nivel. Si no se le asigna valor a la variable función de un nivel no debe hacer nada si el paquete es de ese tipo.

El header de la librería, /opt3/ro/ficheros/easydecod/include/easydecod.h :

extern int (*func_esETH)(char *pak, int tam);
extern int (*func_esARP)(char *pak, int tam);
extern int (*func_esIP)(char *pak, int tam);
extern int (*func_esICMP)(char *pak, int tam);
extern int (*func_esUDP)(char *pak, int tam);
extern int (*func_esTCP)(char *pak, int tam);

int easydecod(char *pak, int tam);

Se deja como ejemplo de la librería /opt3/ro/ficheros/easydecod/lib/libeasydecod.a .

Formato de entrega: En el $HOME del grupo de prácticas se debe crear un directorio llamado practica1 y en él dejar las fuentes y el makefile para obtener libeasydecod.a con solo hacer make.



Daniel Morato 2001-09-30