From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTRhp-0007Nn-23 for qemu-devel@nongnu.org; Wed, 10 Feb 2016 05:09:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTRhl-0005Gc-QA for qemu-devel@nongnu.org; Wed, 10 Feb 2016 05:09:04 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38322) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTRhl-0005GW-LW for qemu-devel@nongnu.org; Wed, 10 Feb 2016 05:09:01 -0500 References: <56BAEF4C.6090400@redhat.com> <20160210092847.GC3423@var.bordeaux.inria.fr> From: Thomas Huth Message-ID: <56BB0C37.2070300@redhat.com> Date: Wed, 10 Feb 2016 11:08:55 +0100 MIME-Version: 1.0 In-Reply-To: <20160210092847.GC3423@var.bordeaux.inria.fr> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCHv7 4/9] slirp: Factorizing tcpiphdr structure with an union List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Samuel Thibault Cc: zhanghailiang , Li Zhijian , Stefan Hajnoczi , Jason Wang , qemu-devel@nongnu.org, Vasiliy Tolstov , Dave Gilbert , Gonglei , Jan Kiszka , Huangpeng , Guillaume Subiron 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