]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/mbuf.h
xnu-201.19.tar.gz
[apple/xnu.git] / bsd / sys / mbuf.h
index 7b051386d13edcf258a981ed2da5367e3916e211..ba1bf3bcd8355aead3315c7da8d2468a1231bc8d 100644 (file)
@@ -203,6 +203,7 @@ struct mbuf {
 #define CSUM_IP_VALID           0x0200          /*   ... the csum is valid */
 #define CSUM_DATA_VALID         0x0400          /* csum_data field is valid */
 #define CSUM_PSEUDO_HDR         0x0800          /* csum_data has pseudo hdr */
+#define CSUM_TCP_SUM16          0x1000          /* simple TCP Sum16 computation */
  
 #define CSUM_DELAY_DATA         (CSUM_TCP | CSUM_UDP)
 #define CSUM_DELAY_IP           (CSUM_IP)       /* XXX add ipv6 here too? */
@@ -244,8 +245,8 @@ struct mbuf {
 
 extern
 decl_simple_lock_data(, mbuf_slock);
-#define MBUF_LOCK() simple_lock(&mbuf_slock);
-#define MBUF_UNLOCK() simple_unlock(&mbuf_slock);
+#define MBUF_LOCK() usimple_lock(&mbuf_slock);
+#define MBUF_UNLOCK() usimple_unlock(&mbuf_slock);
 #define MBUF_LOCKINIT() simple_lock_init(&mbuf_slock);
 
 
@@ -260,8 +261,8 @@ decl_simple_lock_data(, mbuf_slock);
  * and internal data.
  */
 
-#ifdef DIAGNOSE
-#define MCHECK(m) if ((m)->m_type != MT_FREE) panic("mget")
+#if 1
+#define MCHECK(m) if ((m)->m_type != MT_FREE) panic("mget MCHECK: m_type=%x m=%x", m->m_type, m)
 #else
 #define MCHECK(m)
 #endif
@@ -285,6 +286,7 @@ extern simple_lock_data_t   mbuf_slock;
        _MINTGET(m, type);                                              \
        if (m) {                                                        \
                (m)->m_next = (m)->m_nextpkt = 0;                       \
+               (m)->m_len = 0;                                         \
                (m)->m_type = (type);                                   \
                (m)->m_data = (m)->m_dat;                               \
                (m)->m_flags = 0;                                       \
@@ -299,6 +301,7 @@ extern simple_lock_data_t   mbuf_slock;
                (m)->m_type = (type);                                   \
                (m)->m_data = (m)->m_pktdat;                            \
                (m)->m_flags = M_PKTHDR;                                \
+               (m)->m_pkthdr.len = 0;                                  \
                (m)->m_pkthdr.rcvif = NULL;                             \
                (m)->m_pkthdr.header = NULL;                            \
                (m)->m_pkthdr.csum_flags = 0;                           \