On 10.02.2016 10:28, Samuel Thibault wrote: > That one is tricky, yes :) > > Thomas Huth, on Wed 10 Feb 2016 09:05:32 +0100, wrote: >>> -#define SLIRP_MSIZE (IF_MTU + IF_MAXLINKHDR + offsetof(struct mbuf, m_dat) >>> + 6) >>> +#define SLIRP_MSIZE\ >>> + (offsetof(struct mbuf, m_dat) + IF_MAXLINKHDR + TCPIPHDR_DELTA + >>> IF_MTU) >> >> I'm somehow having a hard time to understand why TCPIPHDR_DELTA is used >> here. As far as I understand, TCPIPHDR_DELTA is the difference between >> the size of struct tcpiphdr and the size of the IPv4 + TCP header. But >> if it's just the difference, where does the base size of the headers >> come from in this define, since the headers are stored in the mbuf, too, >> aren't they? ... I've got the feeling that I miss something here, could >> you enlighten me? > > TCP/IP headers are within IF_MTU.
Ah, of course, that makes sense, thanks! ... so in the old definition of SLIRP_MSIZE, the TCP/IP headers were counted twice, I guess? Anyway, the definition looks fine to me now. Thomas