]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-lspping.c
Make it clearer that the hex or hex-and-ASCII dump for "-x", "-xx",
[tcpdump] / print-lspping.c
index c0f5d76c84c243d72c27477c14e2dc687fbe738e..058fe3e854814f7c99e3910aebaa6e1a513568e3 100644 (file)
@@ -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        
+#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;