I have a linux system that sits between 2 routers ( sniffer like ). both routers support Jumbo frames while my system is limited to MTU 1500.
My understanding that Sending router will fragment the Jumbo Frame into IP Datagram based on MTU 1500 and linux will reassemble them according to RFC 815.
Few questions regarding this process :
In Linux, which Layer takes care of the reassembly process ? which file ?
Does this process ( fragmentation and reassembly ) applies to all Layer 3 protocols ( IPv4 \ IPv6 for ex ) ?
Assuming my sniffer constructs a big packet and sends it out, does the fragmentation happens automatically by the linux stack ?
Thanks, Ran
I can answer some of your questions:
It's Layer 3. You can check files
reassembly.candinet_fragment.c. You can look for functionfq_findand trace further from there.The code is similar for v4 and v6 and should be the case for all layer 3 protocols.
I have read about a concept of fragmentation offloading wherein the fragmentation happens at NIC, so it may not be necessary that n/w stack will do fragmentation.