]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-vtp.c
More UNALIGNED_MEM{CPY,CMP} on IP addresses.
[tcpdump] / print-vtp.c
index 7631c6f618424b24e26a8659eebc1612f95dbb7b..cbc5868e25bce7147f75949d24b2bab983809f94 100644 (file)
@@ -15,8 +15,8 @@
  * VLAN TRUNKING PROTOCOL (VTP)
  *
  * Reference documentation:
- *  http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml 
- *  http://www.cisco.com/warp/public/473/21.html 
+ *  http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml
+ *  http://www.cisco.com/warp/public/473/21.html
  *  http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm
  *
  * Original code ode by Carles Kishimoto <[email protected]>
@@ -33,7 +33,7 @@
 
 #include "interface.h"
 #include "addrtoname.h"
-#include "extract.h"           
+#include "extract.h"
 #include "nlpid.h"
 
 #define VTP_HEADER_LEN                 36
@@ -57,7 +57,7 @@ struct vtp_vlan_ {
     u_int32_t index;
 };
 
-static struct tok vtp_message_type_values[] = {
+static const struct tok vtp_message_type_values[] = {
     { VTP_SUMMARY_ADV, "Summary advertisement"},
     { VTP_SUBSET_ADV, "Subset advertisement"},
     { VTP_ADV_REQUEST, "Advertisement request"},
@@ -65,7 +65,7 @@ static struct tok vtp_message_type_values[] = {
     { 0, NULL }
 };
 
-static struct tok vtp_header_values[] = {
+static const struct tok vtp_header_values[] = {
     { 0x01, "Followers"}, /* On Summary advertisement, 3rd byte is Followers */
     { 0x02, "Seq number"}, /* On Subset  advertisement, 3rd byte is Sequence number */
     { 0x03, "Rsvd"}, /* On Adver. requests 3rd byte is Rsvd */
@@ -73,7 +73,7 @@ static struct tok vtp_header_values[] = {
     { 0, NULL }
 };
 
-static struct tok vtp_vlan_type_values[] = {
+static const struct tok vtp_vlan_type_values[] = {
     { 0x01, "Ethernet"},
     { 0x02, "FDDI"},
     { 0x03, "TrCRF"},
@@ -82,7 +82,7 @@ static struct tok vtp_vlan_type_values[] = {
     { 0, NULL }
 };
 
-static struct tok vtp_vlan_status[] = {
+static const struct tok vtp_vlan_status[] = {
     { 0x00, "Operational"},
     { 0x01, "Suspended"},
     { 0, NULL }
@@ -99,7 +99,7 @@ static struct tok vtp_vlan_status[] = {
 #define VTP_VLAN_STE_HOP_COUNT                   0x09
 #define VTP_VLAN_BACKUP_CRF_MODE                 0x0A
 
-static struct tok vtp_vlan_tlv_values[] = {
+static const struct tok vtp_vlan_tlv_values[] = {
     { VTP_VLAN_SOURCE_ROUTING_RING_NUMBER, "Source-Routing Ring Number TLV"},
     { VTP_VLAN_SOURCE_ROUTING_BRIDGE_NUMBER, "Source-Routing Bridge Number TLV"},
     { VTP_VLAN_STP_TYPE, "STP type TLV"},
@@ -113,7 +113,7 @@ static struct tok vtp_vlan_tlv_values[] = {
     { 0,                                  NULL }
 };
 
-static struct tok vtp_stp_type_values[] = {
+static const struct tok vtp_stp_type_values[] = {
     { 1, "SRT"},
     { 2, "SRB"},
     { 3, "Auto"},
@@ -130,14 +130,14 @@ vtp_print (const u_char *pptr, u_int length)
     if (length < VTP_HEADER_LEN)
         goto trunc;
 
-    tptr = pptr; 
+    tptr = pptr;
 
-    if (!TTEST2(*tptr, VTP_HEADER_LEN))        
+    if (!TTEST2(*tptr, VTP_HEADER_LEN))
        goto trunc;
 
     type = *(tptr+1);
     printf("VTPv%u, Message %s (0x%02x), length %u",
-          *tptr,  
+          *tptr,
           tok2str(vtp_message_type_values,"Unknown message type", type),
           *(tptr+1),
           length);
@@ -148,7 +148,7 @@ vtp_print (const u_char *pptr, u_int length)
     }
 
     /* verbose mode print all fields */
-    printf("\n\tDomain name: %s, %s: %u", 
+    printf("\n\tDomain name: %s, %s: %u",
           (tptr+4),
           tok2str(vtp_header_values,"Unknown",*(tptr+1)),
           *(tptr+2));
@@ -176,13 +176,13 @@ vtp_print (const u_char *pptr, u_int length)
         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         *  |                        MD5 digest (16 bytes)                  |
         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-        *  
+        *
         */
 
        printf("\n\t  Config Rev %x, Updater %s",
               EXTRACT_32BITS(tptr),
               ipaddr_string(tptr+4));
-       tptr += 8;      
+       tptr += 8;
        printf(", Timestamp 0x%08x 0x%08x 0x%08x",
               EXTRACT_32BITS(tptr),
               EXTRACT_32BITS(tptr + 4),
@@ -215,12 +215,12 @@ vtp_print (const u_char *pptr, u_int length)
         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         *  |                         VLAN info field N                     |
         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-        *      
+        *
         */
 
        printf(", Config Rev %x", EXTRACT_32BITS(tptr));
 
-       /*  
+       /*
         *  VLAN INFORMATION
         *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
         *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -264,9 +264,9 @@ vtp_print (const u_char *pptr, u_int length)
 
             while (len > 0) {
 
-                /* 
+                /*
                  * Cisco specs says 2 bytes for type + 2 bytes for length, take only 1
-                 * See: http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm 
+                 * See: http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm
                  */
                 type = *tptr;
                 tlv_len = *(tptr+1);
@@ -327,7 +327,7 @@ vtp_print (const u_char *pptr, u_int length)
                 case VTP_VLAN_TRANS_BRIDGED_VLAN:
                 case VTP_VLAN_ARP_HOP_COUNT:
                 default:
-                   print_unknown_data(tptr, "\n\t\t  ", 2 + tlv_len*2);
+                   print_unknown_data(gndo,tptr, "\n\t\t  ", 2 + tlv_len*2);
                     break;
                 }
                 len -= 2 + tlv_len*2;