On Tue, Feb 23, 2016 at 5:01 PM, Joe Stringer <[email protected]> wrote:
> On 19 February 2016 at 16:03, Pravin B Shelar <[email protected]> wrote:
>> @@ -119,25 +119,9 @@ static inline int rpl_ip_do_fragment(struct sock *sk, 
>> struct sk_buff *skb,
>>  int rpl_ip_defrag(struct sk_buff *skb, u32 user);
>>  #define ip_defrag rpl_ip_defrag
>>
>> +#endif /* HAVE_CORRECT_MRU_HANDLING */
>>  int __init rpl_ipfrag_init(void);
>>  void rpl_ipfrag_fini(void);
>> -#else /* HAVE_CORRECT_MRU_HANDLING || !OVS_FRAGMENT_BACKPORT */
>> -
>> -/* We have no good way to detect the presence of upstream commit 
>> 8282f27449bf
>> - * ("inet: frag: Always orphan skbs inside ip_defrag()"), but it should be
>> - * always included in kernels 4.5+. */
>> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,5,0)
>> -static inline int rpl_ip_defrag(struct sk_buff *skb, u32 user)
>> -{
>> -       skb_orphan(skb);
>> -       return ip_defrag(skb, user);
>> -}
>> -#define ip_defrag rpl_ip_defrag
>> -#endif
>
> Quick comment on this piece; it fixes an issue that would be seen on
> kernels 4.4 and earlier. Kernels <4.2 will use the full ip_defrag
> backport, so the fix is still provided there. Upstream on kernel.org,
> kernels 4.2 and 4.3 are EOL'd, and the upstream fix was queued up for
> -stable, so the affected kernels are fairly minimal. The only
> exception I'm aware of would be those using Ubuntu 15.10, which ships
> a 4.2 kernel.
>
> Given the small set of affected kernels, and that the issue requires
> use of conntrack on IP fragments, passing the packets to/from the
> local stack to trigger the BUG, this is probably fine. Alternatively
> we could consider keeping this in the
> "!defined(HAVE_CORRECT_MRU_HANDLING) &&  LINUX_VERSION_CODE <
> KERNEL_VERSION(4,5,0)" case.

ok, I will keep the function. But it is in case of
HAVE_CORRECT_MRU_HANDLING defined and kernel older than 4.5.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to