Agent dropping packets due to Flow Q limit errors

Bug #1648696 reported by amit surana on 2016-12-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Won't Fix
Critical
Praveen
R3.0.3.x
Won't Fix
Critical
Praveen
R3.1
Fix Committed
Critical
Praveen
R3.2
Fix Committed
Critical
Naveen N
Trunk
Fix Committed
Critical
Praveen

Bug Description

Consider the following topology:

client-----SI(s)-----Server

SI->server flow is L2. Server to SI flow is L3 (ecmp).

All packets on the reverse flow are dropped by agent if:

(a) both the source route lookup and destination route lookup in the right VN point to the right interface of the SI, and
(b) server VM and SI are on the same compute.

amit surana (asurana-t) on 2016-12-09
summary: - Flow Q limit drops on vRouter
+ Agent dropping packets due to Flow Q limit errors
description: updated

Review in progress for https://review.opencontrail.org/27085
Submitter: Praveen K V (<email address hidden>)

amit surana (asurana-t) on 2016-12-10
description: updated
Hari Prasad Killi (haripk) wrote :

Release Note: When forward flow is bridged and reverse is routed (SI in ECMP), having the SI and server instance on the same compute node is not supported.

Hari Prasad Killi (haripk) wrote :

"ECMP flow stickiness between bridged and routed flows" will come in R3.2.1

OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/27085
Submitter: Praveen K V (<email address hidden>)

Review in progress for https://review.opencontrail.org/27710
Submitter: Hari Prasad Killi (<email address hidden>)

OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/27711
Submitter: Hari Prasad Killi (<email address hidden>)

Review in progress for https://review.opencontrail.org/27714
Submitter: Hari Prasad Killi (<email address hidden>)

Reviewed: https://review.opencontrail.org/27714
Committed: http://github.org/Juniper/contrail-controller/commit/08dfca551faf420f2c15738ebfb4f26a6c875a51
Submitter: Zuul (<email address hidden>)
Branch: R3.1

commit 08dfca551faf420f2c15738ebfb4f26a6c875a51
Author: Praveen K V <email address hidden>
Date: Sat Dec 24 12:47:44 2016 +0530

Ensure flow-stickiness in case of ECMP with bridged forward flow and routed reverse flow

Commit 14333196c7fe7f2351a9552521719f979373c102 supported stickiness
across bridge and routed flows. However, it doenst support multiple ECMP
members on same compute node.

This current supports multiple members of ECMP in same compute

When layer-3 flow is created with local-ecmp-nh as key, look for layer-2 flow
with one of the local-ecmp members as key. If layer-2 flow with interface-nh
is present, stitch layer-3 and layer-2 flows

Conflicts:
 src/vnsw/agent/pkt/flow_entry.cc
 src/vnsw/agent/pkt/flow_entry.h
 src/vnsw/agent/pkt/test/egress-flow.xml
 src/vnsw/agent/pkt/test/test_pkt_util.cc
 src/vnsw/agent/pkt/test/test_pkt_util.h

Change-Id: I3fd0185fb9856fbcbdc2b038a75fa65d54183802
closes-Bug: #1648696

Review in progress for https://review.opencontrail.org/27803
Submitter: Praveen K V (<email address hidden>)

Reviewed: https://review.opencontrail.org/27803
Committed: http://github.org/Juniper/contrail-controller/commit/a5827fc9515f64f24cd21743a0c50574719e2d45
Submitter: Zuul (<email address hidden>)
Branch: R3.1

commit a5827fc9515f64f24cd21743a0c50574719e2d45
Author: Praveen K V <email address hidden>
Date: Tue Jan 10 15:54:07 2017 +0530

Ensure flow-stickiness in case of ECMP with bridged forward flow and routed reverse flow

Removed support for muptile ECMP members on one compute node.
Multiple ECMP member in a compute node is not a requirement and
supporting it adds complexity that is avoidable. So, rolling back
support for multiple ECMP members in single compute node.

Change-Id: Idf69ce4a5ad9e99d6b578f72226a8c8857e65f77
Closes-Bug: #1648696

Review in progress for https://review.opencontrail.org/28729
Submitter: Praveen K V (<email address hidden>)

Review in progress for https://review.opencontrail.org/28758
Submitter: Praveen K V (<email address hidden>)

Review in progress for https://review.opencontrail.org/29165
Submitter: Praveen K V (<email address hidden>)

Review in progress for https://review.opencontrail.org/29166
Submitter: Praveen K V (<email address hidden>)

Review in progress for https://review.opencontrail.org/29167
Submitter: Hari Prasad Killi (<email address hidden>)

Reviewed: https://review.opencontrail.org/29165
Committed: http://github.org/Juniper/contrail-controller/commit/58a209e3c0176672ce0cdf612713a556f730771f
Submitter: Zuul (<email address hidden>)
Branch: master

commit 58a209e3c0176672ce0cdf612713a556f730771f
Author: Praveen K V <email address hidden>
Date: Sat Dec 24 14:43:41 2016 +0530

Support for unrestricted proxy-arp on vm-interface

Enable unrestricted-proxy arp flag on vm-interface when vrf-assign rule
is found on "left" or "right" service-instance interface

Change-Id: Ib5b511ca737a10ca56e862f3a95688449cd830d0
Closes-Bug: #1651026
Partial-Bug: #1648696
Partial-Bug: #1645978

Reviewed: https://review.opencontrail.org/29166
Committed: http://github.org/Juniper/contrail-controller/commit/a9079bfa3e6a90d968b1813a83e7864df5998d42
Submitter: Zuul (<email address hidden>)
Branch: master

commit a9079bfa3e6a90d968b1813a83e7864df5998d42
Author: Praveen K V <email address hidden>
Date: Fri Feb 3 10:02:29 2017 +0530

Ensure flow-stickiness in case of ECMP with bridged forward flow and routed reverse flow

This is part of change needed to ensure flow-stickiness when forward flow
is bridged and reverse flow is routed. It has following parts,

Change to support ECMP Index management by VRouter

VRouter now manages the ECMP Index for a flow. It keeps tracks source
for a flow and updates the ECMP Index in reverse flow such that reverse
flow are sent to origin.

This commit supports ECMP Index management by VRouter. The key for
reverse flow can potentially depend on the ECMP Index used for forward
flow. Hence, Agent computes initial ECMP Index for forward flows still.
However, agent does not compute ECMP Index for reverse flow.

Re-organized the ECMP and RPF management mode in the process.

Re-organized UT code for ECMP and RPF checks

Pending:
1. Skip VRF assignment for bridged packets
2. Support Unrestricted Proxy-ARP on interface

Change-Id: Iff3ee337ef9721df3e91336960691dc2480a22bb
Partial-Bug: #1648696
Partial-Bug: #1645978

Review in progress for https://review.opencontrail.org/29167
Submitter: Hari Prasad Killi (<email address hidden>)

Reviewed: https://review.opencontrail.org/29167
Committed: http://github.org/Juniper/contrail-controller/commit/a6ded5ee36fbb1cc204e759037fa5eee238cca1c
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit a6ded5ee36fbb1cc204e759037fa5eee238cca1c
Author: Praveen K V <email address hidden>
Date: Sat Dec 24 14:43:41 2016 +0530

Ensure flow-stickiness in case of ECMP with bridged forward flow and routed reverse flow

This is part of change needed to ensure flow-stickiness when forward flow
is bridged and reverse flow is routed. It has following parts,

Change to support ECMP Index management by VRouter

VRouter now manages the ECMP Index for a flow. It keeps tracks source
for a flow and updates the ECMP Index in reverse flow such that reverse
flow are sent to origin.

This commit supports ECMP Index management by VRouter. The key for
reverse flow can potentially depend on the ECMP Index used for forward
flow. Hence, Agent computes initial ECMP Index for forward flows still.
However, agent does not compute ECMP Index for reverse flow.

Re-organized the ECMP and RPF management mode in the process.

Re-organized UT code for ECMP and RPF checks

Pending:
1. Skip VRF assignment for bridged packets
2. Support Unrestricted Proxy-ARP on interface

Conflicts:
 src/vnsw/agent/pkt/pkt_handler.cc
 src/vnsw/agent/pkt/test/SConscript
 src/vnsw/agent/pkt/test/test_ecmp.cc
 src/vnsw/agent/pkt/test/test_ecmp_local.cc
 src/vnsw/agent/pkt/test/test_fip_dst_ecmp.cc
 src/vnsw/agent/pkt/test/test_pkt_util.cc
 src/vnsw/agent/pkt/test/test_pkt_util.h
 src/vnsw/agent/pkt/test/test_rpf_flow.cc
 src/vnsw/agent/test/test_cmn_util.h

Change-Id: Iff3ee337ef9721df3e91336960691dc2480a22bb
Partial-Bug: #1648696
Partial-Bug: #1645978

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

Reviewed: https://review.opencontrail.org/33916
Committed: http://github.com/Juniper/contrail-controller/commit/3d2e717f1548e5e227463e8ec938708187162b75
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit 3d2e717f1548e5e227463e8ec938708187162b75
Author: Praveen K V <email address hidden>
Date: Sat Dec 24 14:43:41 2016 +0530

Support for unrestricted proxy-arp on vm-interface

Enable unrestricted-proxy arp flag on vm-interface when vrf-assign rule
is found on "left" or "right" service-instance interface

Change-Id: I59a77c4af362d5cfbc9c73c68e8fe479d627c67b
Closes-Bug: #1651026
Partial-Bug: #1648696
Partial-Bug: #1645978

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

Other bug subscribers