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

2019-08-28 Thread Gregory Rose



On 8/28/2019 5:17 PM, Justin Pettit wrote:

On Aug 28, 2019, at 4:50 PM, Greg Rose  wrote:

Upstream commit:
commit ad06a566e118e57b852cab5933dbbbaebb141de3
Author: Greg Rose 
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 
Signed-off-by: Greg Rose 
Acked-by: Pravin B Shelar 
Signed-off-by: David S. Miller 

Cc: Justin Pettit 
Signed-off-by: Greg Rose 

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!


I can do that.

- Greg


--Justin




___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


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

2019-08-28 Thread Justin Pettit


> On Aug 28, 2019, at 4:50 PM, Greg Rose  wrote:
> 
> Upstream commit:
>commit ad06a566e118e57b852cab5933dbbbaebb141de3
>Author: Greg Rose 
>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 
>Signed-off-by: Greg Rose 
>Acked-by: Pravin B Shelar 
>Signed-off-by: David S. Miller 
> 
> Cc: Justin Pettit 
> Signed-off-by: Greg Rose 

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


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


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

2019-08-28 Thread Justin Pettit


> On Aug 28, 2019, at 5:05 PM, Yi-Hung Wei  wrote:
> 
> Thanks for the backport.
> 
> Acked-by: Yi-Hung Wei 

Thanks, Yi-Hung.  I already pushed the backports.

--Justin


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


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

2019-08-28 Thread Yi-Hung Wei
On Wed, Aug 28, 2019 at 4:50 PM Greg Rose  wrote:
>
> Upstream commit:
> commit ad06a566e118e57b852cab5933dbbbaebb141de3
> Author: Greg Rose 
> 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 
> Signed-off-by: Greg Rose 
> Acked-by: Pravin B Shelar 
> Signed-off-by: David S. Miller 
>
> Cc: Justin Pettit 
> Signed-off-by: Greg Rose 
> ---

Thanks for the backport.

Acked-by: Yi-Hung Wei 
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev