Bi-directional UDP traffic results in HOLD flows in compute node

Bug #1547501 reported by Prabhjot Singh Sethi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Prabhjot Singh Sethi
R2.21.x
Fix Committed
High
Prabhjot Singh Sethi
R2.22.x
Fix Committed
High
Prabhjot Singh Sethi
R3.0
Fix Committed
High
Prabhjot Singh Sethi
Trunk
Fix Committed
High
Prabhjot Singh Sethi

Bug Description

Bi-directional UDP traffic results in HOLD flow creation not allowing the packet forwarding to happen

Tags: vrouter
Revision history for this message
Prabhjot Singh Sethi (prabhjot) wrote :

This issues happens due to raise condition where Agent tries to create a reverse flow, which was already created due to packet from the other direction. Here Vrouter generates ENOSPC error cause flow to keep on getting deleted and never allowing it to complete.

summary: - Bi-directional traffic results in HOLD flows in compute node
+ Bi-directional UDP traffic results in HOLD flows in compute node
tags: added: vrouter
information type: Proprietary → Public
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17452
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/17453
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17454
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/17455
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17452
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17454
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/17453
Committed: http://github.org/Juniper/contrail-vrouter/commit/c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f
Submitter: Zuul
Branch: master

commit c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 23:08:42 2016 +0530

Vrouter to generate EEXIST error appropriately

Vrouter to generate EEXIST error when flow add request
failed due to race between agent and datapath, where
flow entry was already created due to packet trap

Closes-Bug: 1547501
Change-Id: I0d2073622b06998dd5778fb94749958afc09bac0

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17452
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17454
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/17455
Committed: http://github.org/Juniper/contrail-vrouter/commit/b679020e0382a0c2f0bd8b4b84c22671441885df
Submitter: Zuul
Branch: R3.0

commit b679020e0382a0c2f0bd8b4b84c22671441885df
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 23:08:42 2016 +0530

Vrouter to generate EEXIST error appropriately

Vrouter to generate EEXIST error when flow add request
failed due to race between agent and datapath, where
flow entry was already created due to packet trap

Closes-Bug: 1547501
Change-Id: I0d2073622b06998dd5778fb94749958afc09bac0
(cherry picked from commit c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/17454
Committed: http://github.org/Juniper/contrail-controller/commit/b09b4c2e32a3158114d4a78b21d92d9298ce827b
Submitter: Zuul
Branch: R3.0

commit b09b4c2e32a3158114d4a78b21d92d9298ce827b
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 22:58:19 2016 +0530

Adding handling for EEXIST error for Flow

when vrouter return EEXIST error while trying to allocate
an index for reverse flow, handle the error without
marking the flow as short flow to allow converging flow
creation with subsequent flow add from packet trap

Closes-Bug: 1547501
Change-Id: I4a41a4ebdd0cd28e2f0a25904b990965f598cb7d
(cherry picked from commit 6494f0db232658b0ff7b7fcc5cc48eb1117b2961)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/17452
Committed: http://github.org/Juniper/contrail-controller/commit/6494f0db232658b0ff7b7fcc5cc48eb1117b2961
Submitter: Zuul
Branch: master

commit 6494f0db232658b0ff7b7fcc5cc48eb1117b2961
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 22:58:19 2016 +0530

Adding handling for EEXIST error for Flow

when vrouter return EEXIST error while trying to allocate
an index for reverse flow, handle the error without
marking the flow as short flow to allow converging flow
creation with subsequent flow add from packet trap

Closes-Bug: 1547501
Change-Id: I4a41a4ebdd0cd28e2f0a25904b990965f598cb7d

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/18210
Submitter: Naveen N (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.22.x

Review in progress for https://review.opencontrail.org/18212
Submitter: Naveen N (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18210
Committed: http://github.org/Juniper/contrail-vrouter/commit/1e56a593ab964b4cf93d784ac46b484ef50fa027
Submitter: Zuul
Branch: R2.20

commit 1e56a593ab964b4cf93d784ac46b484ef50fa027
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 23:08:42 2016 +0530

Vrouter to generate EEXIST error appropriately

Vrouter to generate EEXIST error when flow add request
failed due to race between agent and datapath, where
flow entry was already created due to packet trap

Closes-Bug: 1547501
Change-Id: I0d2073622b06998dd5778fb94749958afc09bac0
(cherry picked from commit c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f)
(cherry picked from commit b679020e0382a0c2f0bd8b4b84c22671441885df)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/18212
Committed: http://github.org/Juniper/contrail-vrouter/commit/966f27eeb0f508319d566091a7ae866eb56b8408
Submitter: Zuul
Branch: R2.22.x

commit 966f27eeb0f508319d566091a7ae866eb56b8408
Author: Prabhjot Singh Sethi <email address hidden>
Date: Sat Feb 27 23:21:58 2016 +0530

Disable Eviction of flow in Vrouter

Vrouter will track tcp flags, but will not evict the flow
entry once the session is closed and let vrouter agent
look at the flag to delete the flow eventually.

This is required till vrouter agent handles evict event
in a more stable way

Change-Id: I4aa0878f240e92988f8d84e054a2635852d40b7f
Partial-Bug: 1550759

Vrouter to generate EEXIST error appropriately

Vrouter to generate EEXIST error when flow add request
failed due to race between agent and datapath, where
flow entry was already created due to packet trap

Closes-Bug: 1547501
Change-Id: I0d2073622b06998dd5778fb94749958afc09bac0
(cherry picked from commit c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f)
(cherry picked from commit b679020e0382a0c2f0bd8b4b84c22671441885df)

Vrouter to return error for invalid flow op

If a flow operation is requested for an index which
is not active, vrouter should return an ENOENT error
for such operation

Closes-Bug: 1548678
Change-Id: I42bbd58f41a868b1ce630046ae40e911df0d9491
(cherry picked from commit 1cf37614abb25bca4a93e8101f1af68a77a59552)
(cherry picked from commit 99763a1fa5509e4fe2384ee36bdb300bc26f1352)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.21.x

Review in progress for https://review.opencontrail.org/20421
Submitter: Prabhjot Singh Sethi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/20421
Committed: http://github.org/Juniper/contrail-vrouter/commit/c98d0e1725508c1b06a8aac844ad7c562acbac8e
Submitter: Zuul
Branch: R2.21.x

commit c98d0e1725508c1b06a8aac844ad7c562acbac8e
Author: Prabhjot Singh Sethi <email address hidden>
Date: Fri Feb 19 23:08:42 2016 +0530

Vrouter to generate EEXIST error appropriately

Vrouter to generate EEXIST error when flow add request
failed due to race between agent and datapath, where
flow entry was already created due to packet trap

Conflicts:
 dp-core/vr_flow.c

Closes-Bug: 1547501
Change-Id: I0d2073622b06998dd5778fb94749958afc09bac0
(cherry picked from commit c17b4d4c45270d63a704d7e0cd9e04c5f8e4ad4f)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.