[ovs-dev] [PATCH 1/2] datapath: Properly set L4 keys on "later" IP fragments

Justin Pettit jpettit at ovn.org
Thu Aug 29 00:17:39 UTC 2019


> On Aug 28, 2019, at 4:50 PM, Greg Rose <gvrose8192 at gmail.com> wrote:
> 
> Upstream commit:
>    commit ad06a566e118e57b852cab5933dbbbaebb141de3
>    Author: Greg Rose <gvrose8192 at gmail.com>
>    Date:   Tue Aug 27 07:58:09 2019 -0700
> 
>    openvswitch: Properly set L4 keys on "later" IP fragments
> 
>    When IP fragments are reassembled before being sent to conntrack, the
>    key from the last fragment is used.  Unless there are reordering
>    issues, the last fragment received will not contain the L4 ports, so the
>    key for the reassembled datagram won't contain them.  This patch updates
>    the key once we have a reassembled datagram.
> 
>    The handle_fragments() function works on L3 headers so we pull the L3/L4
>    flow key update code from key_extract into a new function
>    'key_extract_l3l4'.  Then we add a another new function
>    ovs_flow_key_update_l3l4() and export it so that it is accessible by
>    handle_fragments() for conntrack packet reassembly.
> 
>    Co-authored-by: Justin Pettit <jpettit at ovn.org>
>    Signed-off-by: Greg Rose <gvrose8192 at gmail.com>
>    Acked-by: Pravin B Shelar <pshelar at ovn.org>
>    Signed-off-by: David S. Miller <davem at davemloft.net>
> 
> Cc: Justin Pettit <jpettit at ovn.org>
> Signed-off-by: Greg Rose <gvrose8192 at gmail.com>

Thanks, Greg.  I was able to cleanly apply this to master and branch-2.12.  Would you be able to provide backports to older OVS versions?  I think fragment reassembly was introduce in OVS 2.5.

Thanks!

--Justin




More information about the dev mailing list