Convert ipv4_flags and ipv4_offset fields into host byte order.

Also save only high bits in the ipv4_flags, because it is defined
as uint8_t. So now it will show DF and MF flags as 0x40 and 0x20.

Reviewed by:	markj@
MFC after:	1 week
This commit is contained in:
Andrey V. Elsukov 2016-12-29 20:27:54 +00:00
parent 8e7c7e4ed7
commit 4349a2145f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=310785

View File

@ -255,8 +255,8 @@ translator ipv4info_t < struct ip *p > {
ipv4_tos = p == NULL ? 0 : p->ip_tos;
ipv4_length = p == NULL ? 0 : ntohs(p->ip_len);
ipv4_ident = p == NULL ? 0 : ntohs(p->ip_id);
ipv4_flags = p == NULL ? 0 : (p->ip_off & 0xe000);
ipv4_offset = p == NULL ? 0 : p->ip_off;
ipv4_flags = p == NULL ? 0 : (ntohs(p->ip_off) & 0xe000) >> 8;
ipv4_offset = p == NULL ? 0 : ntohs(p->ip_off) & 0x1fff;
ipv4_ttl = p == NULL ? 0 : p->ip_ttl;
ipv4_protocol = p == NULL ? 0 : p->ip_p;
ipv4_protostr = p == NULL ? "<null>" : protocols[p->ip_p];