#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.149.2.3 2005-10-07 10:49:28 hannes Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.149.2.5 2005-11-13 20:30:18 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
return shouldbe;
}
-#ifndef IP_MF
-#define IP_MF 0x2000
-#endif /* IP_MF */
-#ifndef IP_DF
-#define IP_DF 0x4000
-#endif /* IP_DF */
#define IP_RES 0x8000
static struct tok ip_frag_values[] = {
break;
case IPPROTO_TCP:
+ /* pass on the MF bit plus the offset to detect fragments */
tcp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip,
- (ipds->off &~ 0x6000));
+ ipds->off & (IP_MF|IP_OFFMASK));
break;
case IPPROTO_UDP:
+ /* pass on the MF bit plus the offset to detect fragments */
udp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip,
- (ipds->off &~ 0x6000));
+ ipds->off & (IP_MF|IP_OFFMASK));
break;
case IPPROTO_ICMP:
/* pass on the MF bit plus the offset to detect fragments */
icmp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip,
- (ipds->off &~ 0x6000));
+ ipds->off & (IP_MF|IP_OFFMASK));
break;
case IPPROTO_PIGP: