Buenas tardes , tengo un problema con la funcion print_hdr_ip(uint8_t *buf), cuando la ejecuto dentro del procedimiento :
void sr_handle_ip_packet(struct sr_instance *sr,
uint8_t *packet /* lent */,
unsigned int len,
uint8_t *srcAddr,
uint8_t *destAddr,
char *interface /* lent */,
sr_ethernet_hdr_t *eHdr)
{
print_hdr_ip(packet);
}
y luego realizo un ping a la ip 200.0.0.10 me devuelve el siguiente IP Header:
IP header:
version: 9
header length: 2
type of service: 24
length: 50788
id: 20015
fragment flag: DF
fragment offset: 7903
TTL: 72
protocol: 57
checksum: 64637
source: 8.0.69.0
destination: 0.84.10.50
-Lo cual entiendo es un error, luego realice la captura pcap en el router1 y la revise en wireshark y si puedo ver que las ip origen y destino son correctas.
Estoy usando mal la funcion?, o cual seria el problema.
Muchas gracias
Slds