X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip4_format.c;h=c6639b2071640c0e6ab9cd881f6a122a2bb8d465;hb=6e334e3e77bb156a9317a37500077a218a04f7a3;hp=6c31b4222259477b4ca9fb409e9dcee17feaa85a;hpb=2bccb181c79f56090107b55ed2d0a551cda12643;p=vpp.git diff --git a/src/vnet/ip/ip4_format.c b/src/vnet/ip/ip4_format.c index 6c31b422225..c6639b20716 100644 --- a/src/vnet/ip/ip4_format.c +++ b/src/vnet/ip/ip4_format.c @@ -150,11 +150,16 @@ format_ip4_header (u8 * s, va_list * args) /* Check and report invalid checksums. */ { - u16 c = ip4_header_checksum (ip); - if (c != ip->checksum) - s = format (s, " (should be 0x%04x)", clib_net_to_host_u16 (c)); + if (!ip4_header_checksum_is_valid (ip)) + s = + format (s, " (should be 0x%04x)", + clib_net_to_host_u16 (ip4_header_checksum (ip))); } + s = format (s, " dscp %U ecn %U", + format_ip_dscp, ip4_header_get_dscp (ip), + format_ip_ecn, ip4_header_get_ecn (ip)); + { u32 f = clib_net_to_host_u16 (ip->flags_and_fragment_offset); u32 o; @@ -165,7 +170,7 @@ format_ip4_header (u8 * s, va_list * args) /* Fragment offset. */ o = 8 * (f & 0x1fff); - f ^= o; + f ^= f & 0x1fff; if (o != 0) s = format (s, " offset %d", o);