else if (ISPORT(ISAKMP_PORT) || ISPORT(ISAKMP_UPORT1) || ISPORT(ISAKMP_UPORT2))
else if (ISPORT(ISAKMP_PORT))
udp_print(register const u_char *bp, u_int length, register const u_char *bp2){	register const struct udphdr *up;	register const struct ip *ip;	register const u_char *cp;	register const u_char *ep = bp + length;	u_short sport, dport, ulen;	if (ep > snapend)		ep = snapend;	up = (struct udphdr *)bp;	ip = (struct ip *)bp2;	cp = (u_char *)(up + 1);	if (cp > snapend) {		printf("[|udp]");		return;	}	if (length < sizeof(struct udphdr)) {		(void)printf(" truncated-udp %d", length);		return;	}	length -= sizeof(struct udphdr);	sport = ntohs(up->uh_sport);	dport = ntohs(up->uh_dport);	ulen = ntohs(up->uh_ulen);	if (packettype) {		register struct rpc_msg *rp;		enum msg_type direction;		switch (packettype) {		case PT_VAT:			(void)printf("%s.%s > %s.%s:",				ipaddr_string(&ip->ip_src),				udpport_string(sport),				ipaddr_string(&ip->ip_dst),				udpport_string(dport));			vat_print((void *)(up + 1), length, up);			break;		case PT_WB:			(void)printf("%s.%s > %s.%s:",				ipaddr_string(&ip->ip_src),				udpport_string(sport),				ipaddr_string(&ip->ip_dst),				udpport_string(dport));			wb_print((void *)(up + 1), length);			break;		case PT_RPC:			rp = (struct rpc_msg *)(up + 1);			direction = (enum msg_type)ntohl(rp->rm_direction);			if (direction == CALL)				sunrpcrequest_print((u_char *)rp, length,				    (u_char *)ip);			else				nfsreply_print((u_char *)rp, length,				    (u_char *)ip);			/*XXX*/			break;		case PT_RTP:			(void)printf("%s.%s > %s.%s:",				ipaddr_string(&ip->ip_src),				udpport_string(sport),				ipaddr_string(&ip->ip_dst),				udpport_string(dport));			rtp_print((void *)(up + 1), length, up);			break;		case PT_RTCP:			(void)printf("%s.%s > %s.%s:",				ipaddr_string(&ip->ip_src),				udpport_string(sport),				ipaddr_string(&ip->ip_dst),				udpport_string(dport));			while (cp < ep)				cp = rtcp_print(cp, ep);			break;		case PT_CNFP:			cnfp_print(cp, length, ip);			break;		}		return;	}	if (!qflag) {		register struct rpc_msg *rp;		enum msg_type direction;		rp = (struct rpc_msg *)(up + 1);		if (TTEST(rp->rm_direction)) {			direction = (enum msg_type)ntohl(rp->rm_direction);			if (dport == NFS_PORT && direction == CALL) {				nfsreq_print((u_char *)rp, length,				    (u_char *)ip);				return;			}			if (sport == NFS_PORT && direction == REPLY) {				nfsreply_print((u_char *)rp, length,				    (u_char *)ip);				return;			}#ifdef notdef			if (dport == SUNRPC_PORT && direction == CALL) {				sunrpcrequest_print((u_char *)rp, length, (u_char *)ip);				return;			}#endif		}		if (TTEST(((struct LAP *)cp)->type) &&		    ((struct LAP *)cp)->type == lapDDP &&		    (atalk_port(sport) || atalk_port(dport))) {			if (vflag)				fputs("kip ", stdout);			atalk_print_llap(cp, length);			return;		}	}	(void)printf("%s.%s > %s.%s:",		ipaddr_string(&ip->ip_src), udpport_string(sport),		ipaddr_string(&ip->ip_dst), udpport_string(dport));	if (!qflag) {#define ISPORT(p) (dport == (p) || sport == (p))		if (ISPORT(NAMESERVER_PORT))			ns_print((const u_char *)(up + 1), length);		else if (ISPORT(TFTP_PORT))			tftp_print((const u_char *)(up + 1), length);		else if (ISPORT(IPPORT_BOOTPC) || ISPORT(IPPORT_BOOTPS))			bootp_print((const u_char *)(up + 1), length,			    sport, dport);		else if (ISPORT(RIP_PORT))			rip_print((const u_char *)(up + 1), length);		else if (ISPORT(SNMP_PORT) || ISPORT(SNMPTRAP_PORT))			snmp_print((const u_char *)(up + 1), length);		else if (ISPORT(NTP_PORT))			ntp_print((const u_char *)(up + 1), length);		else if (ISPORT(KERBEROS_PORT) || ISPORT(KERBEROS_SEC_PORT))			krb_print((const void *)(up + 1), length);		else if (ISPORT(L2TP_PORT))			l2tp_print((const u_char *)(up + 1), length);		else if (ISPORT(ISAKMP_PORT) ||			ISPORT(ISAKMP_UPORT1) ||			ISPORT(ISAKMP_UPORT2))			isakmp_print((const u_char *)(up + 1), length);                else if (ISPORT(OLD_RADIUS_AUTH_PORT) ||                         ISPORT(OLD_RADIUS_ACCT_PORT) ||                         ISPORT(RADIUS_AUTH_PORT)     ||                         ISPORT(RADIUS_ACCT_PORT))                        radius_print((const u_char *)(up + 1), length);		else if (dport == 3456)			vat_print((const void *)(up + 1), length, up);		/*		 * Kludge in test for whiteboard packets.		 */		else if (dport == 4567)			wb_print((const void *)(up + 1), length);		else			(void)printf(" udp %u",			    (u_int32_t)(ulen - sizeof(*up)));#undef ISPORT	} else		(void)printf(" udp %u", (u_int32_t)(ulen - sizeof(*up)));}