- vxlan_print((const u_char *)(up + 1), length);
- else
- (void)printf("UDP, length %u",
- (u_int32_t)(ulen - sizeof(*up)));
+ vxlan_print(ndo, (const u_char *)(up + 1), length);
+ else if (ISPORT(GENEVE_PORT))
+ geneve_print(ndo, (const u_char *)(up + 1), length);
+ else if (ISPORT(LISP_CONTROL_PORT))
+ lisp_print(ndo, (const u_char *)(up + 1), length);
+ else {
+ if (ulen > length)
+ ND_PRINT((ndo, "UDP, bad length %u > %u",
+ ulen, length));
+ else
+ ND_PRINT((ndo, "UDP, length %u", ulen));
+ }