[ovs-dev] RFC: Handle IPv4 fragmentation in kernel

Takayuki Usui takayuki at midokura.com
Fri Oct 18 04:24:18 UTC 2013


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



More information about the dev mailing list