The OGM ttcrc field is an unsigned short int, therefore it has to be printed using %hu and has to be converted from network to host order using ntohs
Signed-off-by: Antonio Quartull ordex@autistici.org --- tcpdump.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tcpdump.c b/tcpdump.c index 977bedc..7dd289e 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -331,10 +331,10 @@ static void dump_batman_ogm(unsigned char *packet_buff, ssize_t buff_len, int re printf("BAT %s: ", get_name_by_macaddr((struct ether_addr *)batman_ogm_packet->orig, read_opt));
- printf("OGM via neigh %s, seq %u, tq %3d, ttvn %d, ttcrc %d, ttl %2d, v %d, flags [%c%c%c%c], length %zu\n", + printf("OGM via neigh %s, seq %u, tq %3d, ttvn %d, ttcrc %hu, ttl %2d, v %d, flags [%c%c%c%c], length %zu\n", get_name_by_macaddr((struct ether_addr *)ether_header->ether_shost, read_opt), ntohl(batman_ogm_packet->seqno), batman_ogm_packet->tq, batman_ogm_packet->ttvn, - ntohl(batman_ogm_packet->tt_crc), batman_ogm_packet->ttl, batman_ogm_packet->version, + ntohs(batman_ogm_packet->tt_crc), batman_ogm_packet->ttl, batman_ogm_packet->version, (batman_ogm_packet->flags & DIRECTLINK ? 'D' : '.'), (batman_ogm_packet->flags & VIS_SERVER ? 'V' : '.'), (batman_ogm_packet->flags & PRIMARIES_FIRST_HOP ? 'F' : '.'),