- broadcast_ack = TIPC_BROADCAST_ACK(w1);
- w2 = EXTRACT_32BITS(&ap->w2);
- link_ack = TIPC_LINK_ACK(w2);
- link_seq = TIPC_LINK_SEQ(w2);
- orig_node = EXTRACT_32BITS(&ap->orig_node);
- orig_port = EXTRACT_32BITS(&ap->orig_port);
- dest_node = EXTRACT_32BITS(&ap->dest_node);
- dest_port = EXTRACT_32BITS(&ap->dest_port);
- prev_node = EXTRACT_32BITS(&ap->prev_node);
-
- ND_PRINT((ndo, "<%u.%u.%u> : %u > <%u.%u.%u> : %u, Previous Node <%u.%u.%u>, Broadcast Ack %u, Link Ack %u, Link Sequence %u, headerlength %u bytes, MessageSize %u bytes, %s messageType %s\n\n",
- TIPC_ZONE(orig_node), TIPC_CLUSTER(orig_node), TIPC_NODE(orig_node),
- orig_port,
- TIPC_ZONE(dest_node), TIPC_CLUSTER(dest_node), TIPC_NODE(dest_node),
- dest_port,
- TIPC_ZONE(prev_node), TIPC_CLUSTER(prev_node), TIPC_NODE(prev_node),
- broadcast_ack, link_ack, link_seq, hsize*4, msize,
- tok2str(tipcuser_values, "unknown", user),
- tok2str(tipcmtype_values, "Unknown", mtype)));
- return;
-
-trunc:
- ND_PRINT((ndo, "[|TIPC]"));
+ prev_node = GET_BE_U_4(ap->prev_node);
+ orig_port = GET_BE_U_4(ap->orig_port);
+ dest_port = GET_BE_U_4(ap->dest_port);
+ if (hsize <= 6) {
+ ND_PRINT("TIPC v%u.0 %u.%u.%u:%u > %u, headerlength %u bytes, MessageSize %u bytes, %s, messageType %s",
+ TIPC_VER(w0),
+ TIPC_ZONE(prev_node), TIPC_CLUSTER(prev_node), TIPC_NODE(prev_node),
+ orig_port, dest_port,
+ hsize*4, msize,
+ tok2str(tipcuser_values, "unknown", user),
+ tok2str(tipcmtype_values, "Unknown", mtype));
+ } else {
+ orig_node = GET_BE_U_4(ap->orig_node);
+ dest_node = GET_BE_U_4(ap->dest_node);
+ ND_PRINT("TIPC v%u.0 %u.%u.%u:%u > %u.%u.%u:%u, headerlength %u bytes, MessageSize %u bytes, %s, messageType %s",
+ TIPC_VER(w0),
+ TIPC_ZONE(orig_node), TIPC_CLUSTER(orig_node), TIPC_NODE(orig_node),
+ orig_port,
+ TIPC_ZONE(dest_node), TIPC_CLUSTER(dest_node), TIPC_NODE(dest_node),
+ dest_port,
+ hsize*4, msize,
+ tok2str(tipcuser_values, "unknown", user),
+ tok2str(tipcmtype_values, "Unknown", mtype));
+
+ if (ndo->ndo_vflag) {
+ broadcast_ack = TIPC_BROADCAST_ACK(w1);
+ w2 = GET_BE_U_4(ap->w2);
+ link_ack = TIPC_LINK_ACK(w2);
+ link_seq = TIPC_LINK_SEQ(w2);
+ ND_PRINT("\n\tPrevious Node %u.%u.%u, Broadcast Ack %u, Link Ack %u, Link Sequence %u",
+ TIPC_ZONE(prev_node), TIPC_CLUSTER(prev_node), TIPC_NODE(prev_node),
+ broadcast_ack, link_ack, link_seq);
+ }
+ }