X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/76e96dd80bac5c940ac041dd2c7eaed3977a7102..dbd0cbc147d140e9bd34eefa7b66a17f691d49e0:/print-lspping.c diff --git a/print-lspping.c b/print-lspping.c index c0f5d76c..058fe3e8 100644 --- a/print-lspping.c +++ b/print-lspping.c @@ -15,7 +15,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-lspping.c,v 1.11 2004-10-20 16:17:29 hannes Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-lspping.c,v 1.12.2.3 2005-05-03 08:12:31 hannes Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -137,7 +137,7 @@ struct lspping_tlv_header { #define LSPPING_TLV_DOWNSTREAM_MAPPING 2 #define LSPPING_TLV_PAD 3 #define LSPPING_TLV_ERROR_CODE 4 -#define LSPPING_TLV_VENDOR_PRIVATE 5 +#define LSPPING_TLV_VENDOR_PRIVATE 0xfc00 static const struct tok lspping_tlv_values[] = { { LSPPING_TLV_TARGET_FEC_STACK, "Target FEC Stack" }, @@ -515,10 +515,11 @@ lspping_print(register const u_char *pptr, register u_int len) { tlen=len; - printf("\n\tLSP-PINGv%u, msg-type: %s (%u), reply-mode: %s (%u)", + printf("\n\tLSP-PINGv%u, msg-type: %s (%u), length: %u\n\t reply-mode: %s (%u)", EXTRACT_16BITS(&lspping_com_header->version[0]), tok2str(lspping_msg_type_values, "unknown",lspping_com_header->msg_type), lspping_com_header->msg_type, + len, tok2str(lspping_reply_mode_values, "unknown",lspping_com_header->reply_mode), lspping_com_header->reply_mode); @@ -532,13 +533,13 @@ lspping_print(register const u_char *pptr, register u_int len) { lspping_com_header->return_code == 10 || lspping_com_header->return_code == 11 || lspping_com_header->return_code == 12 ) - printf("\n\t Return Code: %s %u (%u), Return Subcode: (%u)", + printf("\n\t Return Code: %s %u (%u)\n\t Return Subcode: (%u)", tok2str(lspping_return_code_values, "unknown",lspping_com_header->return_code), lspping_com_header->return_subcode, lspping_com_header->return_code, lspping_com_header->return_subcode); else - printf("\n\t Return Code: %s (%u), Return Subcode: (%u)", + printf("\n\t Return Code: %s (%u)\n\t Return Subcode: (%u)", tok2str(lspping_return_code_values, "unknown",lspping_com_header->return_code), lspping_com_header->return_code, lspping_com_header->return_subcode); @@ -791,7 +792,8 @@ lspping_print(register const u_char *pptr, register u_int len) { tlv_tptr+=sizeof(struct lspping_tlv_downstream_map_ipv4_t); tlv_tlen-=sizeof(struct lspping_tlv_downstream_map_ipv4_t); break; - case LSPPING_AFI_IPV6: +#ifdef INET6 + case LSPPING_AFI_IPV6: printf("\n\t Downstream IP: %s" \ "\n\t Downstream Interface IP: %s", ip6addr_string(tlv_ptr.lspping_tlv_downstream_map_ipv6->downstream_ip), @@ -799,7 +801,7 @@ lspping_print(register const u_char *pptr, register u_int len) { tlv_tptr+=sizeof(struct lspping_tlv_downstream_map_ipv6_t); tlv_tlen-=sizeof(struct lspping_tlv_downstream_map_ipv6_t); break; - +#endif case LSPPING_AFI_UNMB: printf("\n\t Downstream IP: %s" \ "\n\t Downstream Interface Index: 0x%08x", @@ -849,7 +851,7 @@ lspping_print(register const u_char *pptr, register u_int len) { print_unknown_data(tptr+sizeof(sizeof(struct lspping_tlv_header)),"\n\t ", lspping_tlv_len); - tptr+=lspping_tlv_len; + tptr+=lspping_tlv_len+sizeof(struct lspping_tlv_header); tlen-=lspping_tlv_len+sizeof(struct lspping_tlv_header); } return;