Author: tuexen
Date: Sun Jun 24 21:25:54 2012
New Revision: 237540
URL: http://svn.freebsd.org/changeset/base/237540

Log:
  Do packet logging in a consistent way.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_bsd_addr.c
  head/sys/netinet/sctp_bsd_addr.h
  head/sys/netinet/sctp_input.c
  head/sys/netinet/sctp_os_bsd.h
  head/sys/netinet/sctp_output.c
  head/sys/netinet6/sctp6_usrreq.c

Modified: head/sys/netinet/sctp_bsd_addr.c
==============================================================================
--- head/sys/netinet/sctp_bsd_addr.c    Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet/sctp_bsd_addr.c    Sun Jun 24 21:25:54 2012        
(r237540)
@@ -422,11 +422,12 @@ sctp_get_mbuf_for_msg(unsigned int space
 
 #ifdef SCTP_PACKET_LOGGING
 void
-sctp_packet_log(struct mbuf *m, int length)
+sctp_packet_log(struct mbuf *m)
 {
        int *lenat, thisone;
        void *copyto;
        uint32_t *tick_tock;
+       int length;
        int total_len;
        int grabbed_lock = 0;
        int value, newval, thisend, thisbegin;
@@ -436,6 +437,7 @@ sctp_packet_log(struct mbuf *m, int leng
         * (value) -ticks of log      (ticks) o -ip packet o -as logged -
         * where this started (thisbegin) x <--end points here
         */
+       length = SCTP_HEADER_LEN(m);
        total_len = SCTP_SIZE32((length + (4 * sizeof(int))));
        /* Log a packet to the buffer. */
        if (total_len > SCTP_PACKET_LOG_SIZE) {

Modified: head/sys/netinet/sctp_bsd_addr.h
==============================================================================
--- head/sys/netinet/sctp_bsd_addr.h    Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet/sctp_bsd_addr.h    Sun Jun 24 21:25:54 2012        
(r237540)
@@ -53,7 +53,7 @@ void sctp_gather_internal_ifa_flags(stru
 
 #ifdef  SCTP_PACKET_LOGGING
 
-void sctp_packet_log(struct mbuf *m, int length);
+void sctp_packet_log(struct mbuf *m);
 int sctp_copy_out_packet_log(uint8_t * target, int length);
 
 #endif

Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c       Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet/sctp_input.c       Sun Jun 24 21:25:54 2012        
(r237540)
@@ -5932,9 +5932,9 @@ sctp_input_with_port(struct mbuf *i_pak,
                }
        }
 #endif
-#ifdef  SCTP_PACKET_LOGGING
+#ifdef SCTP_PACKET_LOGGING
        if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING)
-               sctp_packet_log(m, mlen);
+               sctp_packet_log(m);
 #endif
        if (m->m_flags & M_FLOWID) {
                mflowid = m->m_pkthdr.flowid;

Modified: head/sys/netinet/sctp_os_bsd.h
==============================================================================
--- head/sys/netinet/sctp_os_bsd.h      Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet/sctp_os_bsd.h      Sun Jun 24 21:25:54 2012        
(r237540)
@@ -365,7 +365,7 @@ typedef struct callout sctp_os_timer_t;
  */
 #define SCTP_HEADER_TO_CHAIN(m) (m)
 #define SCTP_DETACH_HEADER_FROM_CHAIN(m)
-#define SCTP_HEADER_LEN(m) (m->m_pkthdr.len)
+#define SCTP_HEADER_LEN(m) ((m)->m_pkthdr.len)
 #define SCTP_GET_HEADER_FOR_OUTPUT(o_pak) 0
 #define SCTP_RELEASE_HEADER(m)
 #define SCTP_RELEASE_PKT(m)    sctp_m_freem(m)

Modified: head/sys/netinet/sctp_output.c
==============================================================================
--- head/sys/netinet/sctp_output.c      Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet/sctp_output.c      Sun Jun 24 21:25:54 2012        
(r237540)
@@ -4107,10 +4107,6 @@ sctp_lowlevel_chunk_output(struct sctp_i
                                sctp_m_freem(m);
                                return (ENOMEM);
                        }
-#ifdef  SCTP_PACKET_LOGGING
-                       if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING)
-                               sctp_packet_log(m, packet_length);
-#endif
                        SCTP_ATTACH_CHAIN(o_pak, m, packet_length);
                        if (port) {
 #if defined(SCTP_WITH_NO_CSUM)
@@ -4131,6 +4127,10 @@ sctp_lowlevel_chunk_output(struct sctp_i
                                SCTP_STAT_INCR(sctps_sendhwcrc);
 #endif
                        }
+#ifdef SCTP_PACKET_LOGGING
+                       if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING)
+                               sctp_packet_log(o_pak);
+#endif
                        /* send it out.  table id is taken from stcb */
 #if defined (__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
                        if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && 
(so_locked)) {
@@ -4459,10 +4459,6 @@ sctp_lowlevel_chunk_output(struct sctp_i
                                SCTP_LTRACE_ERR_RET(inp, stcb, NULL, 
SCTP_FROM_SCTP_OUTPUT, ENOMEM);
                                return (ENOMEM);
                        }
-#ifdef  SCTP_PACKET_LOGGING
-                       if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING)
-                               sctp_packet_log(m, packet_length);
-#endif
                        SCTP_ATTACH_CHAIN(o_pak, m, packet_length);
                        if (port) {
 #if defined(SCTP_WITH_NO_CSUM)
@@ -4490,6 +4486,10 @@ sctp_lowlevel_chunk_output(struct sctp_i
                                SCTP_SOCKET_UNLOCK(so, 0);
                        }
 #endif
+#ifdef SCTP_PACKET_LOGGING
+                       if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING)
+                               sctp_packet_log(o_pak);
+#endif
                        SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, 
&ifp, stcb, vrf_id);
 #if defined (__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
                        if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && 
(so_locked)) {
@@ -11067,11 +11067,6 @@ sctp_send_resp_msg(struct mbuf *m, struc
                        }
                }
                iph_out->ip_len = len;
-#ifdef SCTP_PACKET_LOGGING
-               if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING) {
-                       sctp_packet_log(mout, len);
-               }
-#endif
                if (port) {
 #if defined(SCTP_WITH_NO_CSUM)
                        SCTP_STAT_INCR(sctps_sendnocrc);
@@ -11091,6 +11086,11 @@ sctp_send_resp_msg(struct mbuf *m, struc
                        SCTP_STAT_INCR(sctps_sendhwcrc);
 #endif
                }
+#ifdef SCTP_PACKET_LOGGING
+               if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING) {
+                       sctp_packet_log(o_pak);
+               }
+#endif
                SCTP_IP_OUTPUT(ret, o_pak, &ro, NULL, vrf_id);
                /* Free the route if we got one back */
                if (ro.ro_rt) {
@@ -11101,11 +11101,6 @@ sctp_send_resp_msg(struct mbuf *m, struc
 #ifdef INET6
        if (ip6_out != NULL) {
                ip6_out->ip6_plen = len - sizeof(struct ip6_hdr);
-#ifdef  SCTP_PACKET_LOGGING
-               if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING) {
-                       sctp_packet_log(mout, len);
-               }
-#endif
                if (port) {
 #if defined(SCTP_WITH_NO_CSUM)
                        SCTP_STAT_INCR(sctps_sendnocrc);
@@ -11125,6 +11120,11 @@ sctp_send_resp_msg(struct mbuf *m, struc
                        SCTP_STAT_INCR(sctps_sendhwcrc);
 #endif
                }
+#ifdef SCTP_PACKET_LOGGING
+               if (SCTP_BASE_SYSCTL(sctp_logging_level) & 
SCTP_LAST_PACKET_TRACING) {
+                       sctp_packet_log(o_pak);
+               }
+#endif
                SCTP_IP6_OUTPUT(ret, o_pak, NULL, NULL, NULL, vrf_id);
        }
 #endif

Modified: head/sys/netinet6/sctp6_usrreq.c
==============================================================================
--- head/sys/netinet6/sctp6_usrreq.c    Sun Jun 24 18:38:16 2012        
(r237539)
+++ head/sys/netinet6/sctp6_usrreq.c    Sun Jun 24 21:25:54 2012        
(r237540)
@@ -100,10 +100,12 @@ sctp6_input(struct mbuf **i_pak, int *of
                return (-1);
        }
        m = SCTP_HEADER_TO_CHAIN(*i_pak);
-       pkt_len = SCTP_HEADER_LEN((*i_pak));
+       pkt_len = SCTP_HEADER_LEN(*i_pak);
 
-#ifdef  SCTP_PACKET_LOGGING
-       sctp_packet_log(m, pkt_len);
+#ifdef SCTP_PACKET_LOGGING
+       if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING) {
+               sctp_packet_log(m);
+       }
 #endif
        if (m->m_flags & M_FLOWID) {
                mflowid = m->m_pkthdr.flowid;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to