On 5/31/17, 8:06 PM, "王志克" <wangzh...@jd.com> wrote:
Hi Darrell, In my opinion, it may be also hard for user to decide "configurable buffer size". Yep, but the user knows their network or situation best. Also I guess the default value should be to enable the fragment support. ( If we give such option, I can imagine most user will enable it, right?) I agree. However, let us say we chose values for the memory thresholds for the user, like Linux. The user thinks “the fragmentation thing is taken care of”. That is likely wrong, maybe they should be thinking more upfront. My suggestion is to use Linux kernel as best practice. That is the stock answer; no doubt. Just my personal thought. Br, Wangzhike -----邮件原件----- 发件人: Darrell Ball [mailto:db...@vmware.com] 发送时间: 2017年6月1日 10:16 收件人: 王志克; Ben Pfaff; Darrell Ball 抄送: ovs-dev@openvswitch.org 主题: Re: 答复: 答复: 答复: [ovs-dev] Query for missing function On 5/31/17, 6:07 PM, "王志克" <wangzh...@jd.com> wrote: Hi, See my reply in line. Thanks. Br, Wangzhike -----邮件原件----- 发件人: Darrell Ball [mailto:db...@vmware.com] 发送时间: 2017年6月1日 3:29 收件人: 王志克; Ben Pfaff; Darrell Ball 抄送: ovs-dev@openvswitch.org 主题: Re: 答复: 答复: [ovs-dev] Query for missing function On 5/26/17, 6:24 PM, "王志克" <wangzh...@jd.com> wrote: Hi Darrell, I indeed observed IP fragment scenario in our other product deployment, and resulted some critical issue. Then I am wondering how to handle it in OVS+DPDK alternative solution. [Darrell] I am not sure what critical means here; it varies widely based on several considerations. Maybe you just describe what the situation was and what happened. Let me ask a few questions to draw that out. Q1) Was that “other deployment” using kernel datapath and experienced a transient input of fragmented traffic from a Vxlan tunnel that the kernel could not handle due to lower throughput for fragmented traffic and/or kernel fragmentation thresholds used and ended up dropping those packets (possibly retried with delay) ? Or something else ? [Wangzhike] I observed Linux kernel panic when handling IP fragmented packets both from OVS and general IP stack, like Vxlan tunnel packets and the overlay packets are both fragmented. I am preparing patch for that. Q2) Was the transient input of fragmented packets an intentional hack used to trash other traffic or just network misconfiguration or you have no clue ? [Wangzhike] I believe it is kind of attack. Lots of uncompleted IP fragments were received. Yes, fragmentation is good at driving forwarding performance down and/or increasing attack surface. If one has control over the network boundaries, it can be avoided within those boundaries. In other scenarios, the fragments get into a control volume because of others fault, intentional or otherwise. If the fragments are legitimate and in large numbers for long enough, the misconfiguration must be fixed at source because they can’t be handled anyways in software. Fragments in low numbers/less often provide less pressure to fix the misconfiguration, since it is what we can handle with software, assuming they are legitimate. If OVS-DPDK adds support for IP fragmentation, it will be susceptible to the same issues the kernel datapath has. I don’t know of a configurable, non-zero default fragmentation buffer that will work in all unforeseen legitimate cases. Bigger fragmentation buffers are more susceptible to exploits. A zero default configurable buffer size seems most clear and then let the user decide how much “IP Fragmentation” they want. Thoughts ? Typical cases are: 1) VxLan segmented packet reaches Vswitch and need to pop the VxLan header for further handling. In kernel OVS, normally Linux kernel will reassemble it before sending to OVS module. Since this happens in real world, we need to handle it though the possibility of happening is quite low. [Darrell] It is possible that fragmented packets arrive from a Vxlan tunnel – that is obvious. 2) Segmented packets go through conntrack. In kernel OVS, it will reuse Kernel reassembly function to make reassembled packet go through conntrack. [Darrell] “2” is not a use case; it is simply a statement of what the kernel does when faced with fragmented packets, which is the topic of this thread. [Wangzhike] Let me revise it. We set some rule on OVS DPDK conntrack, and one VM app sends large packet (eg 9600 size while MTU is 1500). In this case, fragmented packet will reach OVS conntrack. We hope such packet can be handled as kernel ovs behavior(able to be reassembled before really go through conntrack) instead of tagging as INV state. FYI, there are several configuration parameters that determine the actual behavior obtained. The effective behavior could even be that the kernel drops all these fragments. Above cases really happen in current product deployment, and we want to keep it work when migrating to OVS+DPDK solution. Br, Wang Zhike -----邮件原件----- 发件人: Darrell Ball [mailto:db...@vmware.com] 发送时间: 2017年5月27日 2:45 收件人: 王志克; Ben Pfaff; Darrell Ball 抄送: ovs-dev@openvswitch.org 主题: Re: 答复: [ovs-dev] Query for missing function On 5/26/17, 2:00 AM, "王志克" <wangzh...@jd.com> wrote: Hi Darrell, Ben, Thanks for your reply. Glad to hear that we are approaching useful candidate patch. What is the plan for disassemble and fragment for OVS+DPDK? Like 1, received underlay vxlan fragmented packets, 2, received overlay fragmented packets that will go through conntrack 3, output packet with size > out_port_mtu IP frag. is still on the radar: I have a large dataset of information regarding IP frag usage from a widely distributed virtualization product. However, I would like know your usage requirements for IP frag ? Do you want it for feature parity reasons with the kernel or does it solve some problems you are facing; can you explain your specific needs ? Br, Wang zhike -----邮件原件----- 发件人: Darrell Ball [mailto:db...@vmware.com] 发送时间: 2017年5月26日 9:45 收件人: Ben Pfaff; 王志克; Darrell Ball 抄送: ovs-dev@openvswitch.org 主题: Re: [ovs-dev] Query for missing function On 5/25/17, 2:04 PM, "ovs-dev-boun...@openvswitch.org on behalf of Ben Pfaff" <ovs-dev-boun...@openvswitch.org on behalf of b...@ovn.org> wrote: On Wed, May 24, 2017 at 12:48:24PM +0000, 王志克 wrote: > Reading the release note of DPDK section for OVS2.6, I note below: > > * Basic connection tracking for the userspace datapath (no ALG, > fragmentation or NAT support yet) > > I am wondering for the missing part (no ALG, fragmentation, NAT), can > I have the release plan for such feature? Or is there draft version > for trial? I think that Darrell (CCed) is working on that for OVS 2.8. He has posted patches before. I expect to see a revision of it pretty soon. NAT patches have been out for a while and a minor reversion will come out next week along with a separate series for ftp alg support. The NAT patches have been tested by a couple other folks, externally and internally, as well. _______________________________________________ dev mailing list d...@openvswitch.org https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=ZRe75F1jCPHXw_hLBQYBvV3rHd7_FN64hTeQsi0j3Xo&s=x1M4K22nb1JiegFLUNqxxap71zeRqVZbTdeWk86BPD4&e= _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev