]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-tcp.c
NDOize OpenFlow, IEEE slow and telnet decoders
[tcpdump] / print-tcp.c
index bb76ac7c506177b57a8ea59a30c60d9f2b3d3000..34ea9ae3fdb85d57dcfc7ebcbb7627edfce8b92f 100644 (file)
@@ -142,8 +142,8 @@ static int tcp_cksum(register const struct ip *ip,
                     register const struct tcphdr *tp,
                     register u_int len)
 {
-       return (nextproto4_cksum(ip, (const u_int8_t *)tp, len,
-           IPPROTO_TCP));
+       return nextproto4_cksum(ip, (const u_int8_t *)tp, len, len,
+                               IPPROTO_TCP);
 }
 
 void
@@ -386,7 +386,8 @@ tcp_print(register const u_char *bp, register u_int length,
 #ifdef INET6
                 else if (IP_V(ip) == 6 && ip6->ip6_plen) {
                         if (TTEST2(tp->th_sport, length)) {
-                                sum = nextproto6_cksum(ip6, (const u_int8_t *)tp, length, IPPROTO_TCP);
+                                sum = nextproto6_cksum(ip6, (const u_int8_t *)tp,
+                                                       length, length, IPPROTO_TCP);
                                 tcp_sum = EXTRACT_16BITS(&tp->th_sum);
 
                                 (void)printf(", cksum 0x%04x", tcp_sum);
@@ -662,7 +663,7 @@ tcp_print(register const u_char *bp, register u_int length,
         if (packettype) {
                 switch (packettype) {
                 case PT_ZMTP1:
-                        zmtp1_print(bp, length);
+                        zmtp1_print(gndo, bp, length);
                         break;
                 }
                 return;
@@ -670,7 +671,7 @@ tcp_print(register const u_char *bp, register u_int length,
 
         if (sport == TELNET_PORT || dport == TELNET_PORT) {
                 if (!qflag && vflag)
-                        telnet_print(bp, length);
+                        telnet_print(gndo, bp, length);
         } else if (sport == BGP_PORT || dport == BGP_PORT)
                 bgp_print(bp, length);
         else if (sport == PPTP_PORT || dport == PPTP_PORT)
@@ -682,9 +683,9 @@ tcp_print(register const u_char *bp, register u_int length,
                smb_tcp_print(bp, length);
 #endif
         else if (sport == BEEP_PORT || dport == BEEP_PORT)
-                beep_print(bp, length);
+                beep_print(gndo, bp, length);
         else if (sport == OPENFLOW_PORT || dport == OPENFLOW_PORT)
-                openflow_print(bp, length);
+                openflow_print(gndo, bp, length);
         else if (length > 2 &&
                  (sport == NAMESERVER_PORT || dport == NAMESERVER_PORT ||
                   sport == MULTICASTDNS_PORT || dport == MULTICASTDNS_PORT)) {
@@ -694,9 +695,9 @@ tcp_print(register const u_char *bp, register u_int length,
                  */
                 ns_print(bp + 2, length - 2, 0);
         } else if (sport == MSDP_PORT || dport == MSDP_PORT) {
-                msdp_print(bp, length);
+                msdp_print(gndo, bp, length);
         } else if (sport == RPKI_RTR_PORT || dport == RPKI_RTR_PORT) {
-                rpki_rtr_print(bp, length);
+                rpki_rtr_print(gndo, bp, length);
         }
         else if (length > 0 && (sport == LDP_PORT || dport == LDP_PORT)) {
                 ldp_print(bp, length);