Page MenuHomeFreeBSD

D35301.id106300.diff
No OneTemporary

D35301.id106300.diff

Index: sys/kern/uipc_mbuf.c
===================================================================
--- sys/kern/uipc_mbuf.c
+++ sys/kern/uipc_mbuf.c
@@ -1899,8 +1899,12 @@
mb->m_len = length;
progress += length;
- if (flags & M_PKTHDR)
+ if (flags & M_PKTHDR) {
m->m_pkthdr.len += length;
+ m->m_pkthdr.memlen += MSIZE;
+ if (mb->m_flags & M_EXT)
+ m->m_pkthdr.memlen += mb->m_ext.ext_size;
+ }
}
KASSERT(progress == total, ("%s: progress != total", __func__));
Index: sys/sys/mbuf.h
===================================================================
--- sys/sys/mbuf.h
+++ sys/sys/mbuf.h
@@ -197,13 +197,17 @@
/* Layer specific non-persistent local storage for reassembly, etc. */
union {
- uint8_t eight[8];
- uint16_t sixteen[4];
- uint32_t thirtytwo[2];
- uint64_t sixtyfour[1];
- uintptr_t unintptr[1];
- void *ptr;
- } PH_loc;
+ union {
+ uint8_t eight[8];
+ uint16_t sixteen[4];
+ uint32_t thirtytwo[2];
+ uint64_t sixtyfour[1];
+ uintptr_t unintptr[1];
+ void *ptr;
+ } PH_loc;
+ /* Upon allocation: total packet memory consumption. */
+ u_int memlen;
+ };
};
#define ether_vtag PH_per.sixteen[0]
#define tcp_tun_port PH_per.sixteen[0] /* outbound */

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 8, 10:17 AM (44 m, 17 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29402884
Default Alt Text
D35301.id106300.diff (1 KB)

Event Timeline