static int udp6_cksum(const struct ip6_hdr *ip6, const struct udphdr *up,
u_int len)
{
- return (nextproto6_cksum(ip6, (const u_int8_t *)(void *)up, len,
- IPPROTO_UDP));
+ return nextproto6_cksum(ip6, (const u_int8_t *)(void *)up, len, len,
+ IPPROTO_UDP);
}
#endif
case PT_VXLAN:
udpipaddr_print(ip, sport, dport);
- vxlan_print((const u_char *)(up + 1), length);
+ vxlan_print(gndo, (const u_char *)(up + 1), length);
break;
case PT_PGM:
return;
}
+ udpipaddr_print(ip, sport, dport);
if (!qflag) {
register struct sunrpc_msg *rp;
enum sunrpc_msg_type direction;
if (TTEST(rp->rm_direction)) {
direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction);
if (dport == NFS_PORT && direction == SUNRPC_CALL) {
- nfsreq_print((u_char *)rp, length,
+ (void)printf("NFS request xid %u ", EXTRACT_32BITS(&rp->rm_xid));
+ nfsreq_print_noaddr((u_char *)rp, length,
(u_char *)ip);
return;
}
if (sport == NFS_PORT && direction == SUNRPC_REPLY) {
- nfsreply_print((u_char *)rp, length,
+ (void)printf("NFS reply xid %u ", EXTRACT_32BITS(&rp->rm_xid));
+ nfsreply_print_noaddr((u_char *)rp, length,
(u_char *)ip);
return;
}
return;
}
}
- udpipaddr_print(ip, sport, dport);
if (vflag && !Kflag && !fragmented) {
/* Check the checksum, if possible. */
else if (ISPORT(DHCP6_SERV_PORT) || ISPORT(DHCP6_CLI_PORT))
dhcp6_print((const u_char *)(up + 1), length);
else if (ISPORT(AHCP_PORT))
- ahcp_print((const u_char *)(up + 1), length);
+ ahcp_print(gndo, (const u_char *)(up + 1), length);
else if (ISPORT(BABEL_PORT) || ISPORT(BABEL_PORT_OLD))
babel_print((const u_char *)(up + 1), length);
#endif /*INET6*/
ISPORT(RADIUS_NEW_ACCOUNTING_PORT) )
radius_print((const u_char *)(up+1), length);
else if (dport == HSRP_PORT)
- hsrp_print((const u_char *)(up + 1), length);
+ hsrp_print(gndo, (const u_char *)(up + 1), length);
else if (ISPORT(LWRES_PORT))
lwres_print((const u_char *)(up + 1), length);
else if (ISPORT(LDP_PORT))
lspping_print((const u_char *)(up + 1), length);
else if (dport == BFD_CONTROL_PORT ||
dport == BFD_ECHO_PORT )
- bfd_print((const u_char *)(up+1), length, dport);
+ bfd_print(gndo, (const u_char *)(up+1), length, dport);
else if (ISPORT(LMP_PORT))
lmp_print((const u_char *)(up + 1), length);
else if (ISPORT(VQP_PORT))
else if (ISPORT(SYSLOG_PORT))
syslog_print((const u_char *)(up + 1), length);
else if (ISPORT(OTV_PORT))
- otv_print((const u_char *)(up + 1), length);
+ otv_print(gndo, (const u_char *)(up + 1), length);
else if (ISPORT(VXLAN_PORT))
- vxlan_print((const u_char *)(up + 1), length);
+ vxlan_print(gndo, (const u_char *)(up + 1), length);
else
(void)printf("UDP, length %u",
(u_int32_t)(ulen - sizeof(*up)));