those 140 bytes are the __tcp payload__ so the payload of IP is: Ip header +TCP payload = 180... isn't it? On Mon, Sep 6, 2010 at 1:47 AM, Changli Gao <xiaosuo@xxxxxxxxx> wrote: > On Mon, Sep 6, 2010 at 7:19 AM, Nicola Padovano > <nicola.padovano@xxxxxxxxx> wrote: >> the default value for mtu (in hping) is 16 bytes!!! what does it mean? >> maybe hping (against the rfc) use the fragmentation on the IP >> __payload__ and not on the whole IP packet...what do you think? you >> can check this with wireshark! >> in fact i typed this hping line: >> >> hping -m 160 -d 140 -c 1 localhost > > Since you use hping, I think it has noting to do with the kernel. > Hping fragments packets in user space other than kernel space. > >> >> so we have a IP DATAGRAM size = 140data+20ipheader+20tcpheader > MTU=160 >> >> but there isn't fragmentation (check it with wireshark) but ip >> datagram size is greater than mtu! >> >> So why there isn't fragmentation? because (i suppose) the >> fragmentation work only on the IP payload: >> IP paylaod = 140data + 20tcpheader = 160 = MTU => no fragmentation! > > Fragmentation is in IP layer. sizeof(ip packet) <= MTU. In your case, > 140data + 20ipheader = 160 = MTU => no fragmentation. > >> >> what do you think? i'm pretty sure of what i say.... >> > > > > -- > Regards, > Changli Gao(xiaosuo@xxxxxxxxx) > -- Nicola Padovano e-mail: nicola.padovano@xxxxxxxxx web: http://npadovano.altervista.org -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html