Hi All, I'm working an experimental patch to handle IPv4 fragmentation and reassembly in kernel. The goals are (1) flow matching an entire datagram, not a single fragment, and (2) Path MTU Discovery across an OVS network. I would really appriciate it if you could review it.
https://github.com/takayuki/openvswitch/commits/ipfrag This series of commits handles IPv4 fragmentation and reassembly in kernel, preserving the "maximum fragment size" of all fragments belonging to an original datagram across inbound and outbound physical vports, so that Path MTU Discovery works properly traversing an OVS network. The patch is divided into seven commits, but they are classified into four tasks; (1) reassemble incoming fragments, (2) fragment outgoing packets, (3) preserve maximum fragment size with extended flow key and (4) generate ICMP (Fragmentation Needed) messages for Path MTU Discovery. All those features newly introduced are implemented optional attributes on datapath or vport. Note that the patch relies on the kernel's ip_defrag function defined in net/ipv4/ip_fragment.c and the maximum fragment size saved in IPCB, which is available only in linux 3.7 or above, so the current patch also requires linux 3.7 at least. Takayuki Usui Midokura _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev