Hi, Klement. Thank you for your response. We will check the patch carefully. But I still have question about why IP reassemble is not there or be treated with lower priority. I think IP reassemble is mandatory feature as tunnel endpoint.... Please share with me about your thought. Thank you.
BR/Lollita Liu -----Original Message----- From: Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco) [mailto:ksek...@cisco.com] Sent: Friday, January 19, 2018 8:26 PM To: Lollita Liu <lollita....@ericsson.com>; vpp-dev@lists.fd.io Cc: Kingwel Xie <kingwel....@ericsson.com>; Terry Zhang Z <terry.z.zh...@ericsson.com>; Jordy You <jordy....@ericsson.com> Subject: RE: Why is IP reassemble not supported in VPP? Hi Lollita Liu, There is a pending patch in gerrit, which adds the support. So far, it wasn't reviewed nor merged. I don't have an ETA on that... https://gerrit.fd.io/r/#/c/9532/ Thanks, Klement > -----Original Message----- > From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] > On Behalf Of Lollita Liu > Sent: Friday, January 19, 2018 5:07 AM > To: vpp-dev@lists.fd.io > Cc: Kingwel Xie <kingwel....@ericsson.com>; Terry Zhang Z > <terry.z.zh...@ericsson.com>; Jordy You <jordy....@ericsson.com> > Subject: [vpp-dev] Why is IP reassemble not supported in VPP? > > Hi, > > We are do investigation in the VPP source code now. > After checking the source code and doing testing, looks VPP is not able > handle IP fragment. > > > > In source code, in function ip4_local_inline, looks > fragment will be treat as error packet finally because of > IP4_ERROR_UNKNOWN_PROTOCOL. > > /* Treat IP frag packets as "experimental" protocol > for now > > until support of IP frag reassembly is > implemented */ > > proto0 = ip4_is_fragment (ip0) ? 0xfe : > ip0->protocol; > > proto1 = ip4_is_fragment (ip1) ? 0xfe : > ip1->protocol; > > ... > > next0 = lm->local_next_by_ip_protocol[proto0]; > > next1 = lm->local_next_by_ip_protocol[proto1]; > > ... > > next0 = > > error0 != IP4_ERROR_UNKNOWN_PROTOCOL ? > IP_LOCAL_NEXT_DROP : next0; > > next1 = > > error1 != IP4_ERROR_UNKNOWN_PROTOCOL ? > IP_LOCAL_NEXT_DROP : next1; > > > > The version is: > > DBGvpp# show version > > vpp v18.04-rc0~46-gc5239ad built by root on k8s1-node1 at Mon Jan 15 > 06:05:03 UTC 2018 > > > > My question is why IP reassemble is not supported in VPP? It is > understandable that IP reassemble is not required for pure packet forwarding. > But as a router platform, there are also plenty of control plane > packets should be handled, for example BGP packet, IKE packet, that's > the reason why there is local IP stack on VPP, and IP reassemble is a > basic requirement of local IP stack. How to handle the case if the BGP > peer send BGP message in several IP fragment to VPP? One BGP message > could be quite large depending on route number, and even BGP message > fragment can be avoid by MSS since it is based on TCP. How about the > case of IKE peer sending IKE message as IP fragments? The IKE message also > could be quite large with certificate....... > > > > BR/Lollita Liu _______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev