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

Reply via email to