于 2014年12月04日 06:51, Jesse Gross 写道:
My proposal would be something like this:
* For L2, reduce the VM MTU to the lowest common denominator on the segment.
* For L3, use path MTU discovery or fragment inner packet (i.e.
normal routing behavior).
* As a last resort (such as if using an old version of virtio in the
guest), fragment the tunnel packet.
After some investigation on OpenvSwitch package, it seems before this
commit: 06021dcb "datapath: compat: Fix compilation 3.11" OpenvSwitch
package is doing GSO on its own.
rpl_ip_local_out
-> tnl_skb_gso_segment
^^^^^^^^^^^^^^^
Perform GSO in above function
-> ip_local_out
.
.
-> ip_finish_output
Which means, when over-MTU-sized skb enter ip_local_out, it's not a gso
type skb, so the stack perform ip fragmentation, and send them out.
So, over-MTU-sized skb did travel through stack into outside.
Why not dropping such OpenvSwitch level GSO operation after 3.10?
--
No zuo no die but I have to try.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev