Ingress VIF getting modified post GRO

Bug #1550632 reported by Divakar Dharanalakota
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Divakar Dharanalakota
R2.21.x
Fix Committed
High
Divakar Dharanalakota
R2.22.x
Fix Committed
High
Divakar Dharanalakota
R3.0
Fix Committed
High
Divakar Dharanalakota
Trunk
Fix Committed
High
Divakar Dharanalakota

Bug Description

Right now, the L2 header used both incase of L2 andL3 GRO contains only nh_id. After GRO completion, the nexthop id is used for further processing. The nexthop device is used as ingress interface of the packet. This CAN potentially result in issues as the further processing of the packet can use this wrong inteface as ingress interface and take decisions.

Tags: vrouter
Changed in juniperopenstack:
importance: Undecided → High
assignee: nobody → Divakar Dharanalakota (ddivakar)
tags: added: vrouter
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17944
Submitter: Divakar Dharanalakota (<email address hidden>)

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

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

commit 4da87fc2f76bb16cb7f1c154074e2acb5c6ae008
Author: Divakar <email address hidden>
Date: Sat Feb 27 09:27:06 2016 +0530

Keeping ingres vif id in L2 header for post GRO processing

Currently the L2 header used for both L2 and L3 GRO processing is only
next hop id. Post GRO, the nexthop is retrieved from this id and packet
is subjected to this nexthop for further processing. The ingress
interface filled in the packet is nh_dev of this nexthop. This is
resulting in ingress interface as Tap interface though packet acttually ingressed
on Fabric interface. This can potentially lead to issues in the packet's
further processing as Tap interface is not the real ingress
interface.

As a fix, the ingress interface id is also pushed as L2 header.

Change-Id: I6fbe055fff7da4c957fde29d132b56ea19bd2f3f
closes-bug: #1550632

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

Review in progress for https://review.opencontrail.org/17991
Submitter: Divakar Dharanalakota (<email address hidden>)

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

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

commit 354c1d734d2db963e783833b0ac7fafe14f48bbc
Author: Divakar <email address hidden>
Date: Sat Feb 27 09:27:06 2016 +0530

Keeping ingres vif id in L2 header for post GRO processing

Currently the L2 header used for both L2 and L3 GRO processing is only
next hop id. Post GRO, the nexthop is retrieved from this id and packet
is subjected to this nexthop for further processing. The ingress
interface filled in the packet is nh_dev of this nexthop. This is
resulting in ingress interface as Tap interface though packet acttually ingressed
on Fabric interface. This can potentially lead to issues in the packet's
further processing as Tap interface is not the real ingress
interface.

As a fix, the ingress interface id is also pushed as L2 header.

Change-Id: I6fbe055fff7da4c957fde29d132b56ea19bd2f3f
closes-bug: #1550632

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

Review in progress for https://review.opencontrail.org/18392
Submitter: Divakar Dharanalakota (<email address hidden>)

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

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

commit ca4e2750d4cb902e3e7865c404aa92dc977249a4
Author: Divakar <email address hidden>
Date: Sat Feb 27 09:27:06 2016 +0530

Keeping ingres vif id in L2 header for post GRO processing

Currently the L2 header used for both L2 and L3 GRO processing is only
next hop id. Post GRO, the nexthop is retrieved from this id and packet
is subjected to this nexthop for further processing. The ingress
interface filled in the packet is nh_dev of this nexthop. This is
resulting in ingress interface as Tap interface though packet acttually ingressed
on Fabric interface. This can potentially lead to issues in the packet's
further processing as Tap interface is not the real ingress
interface.

As a fix, the ingress interface id is also pushed as L2 header.

Change-Id: I6fbe055fff7da4c957fde29d132b56ea19bd2f3f
closes-bug: #1550632

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

Review in progress for https://review.opencontrail.org/18613
Submitter: Divakar Dharanalakota (<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/18614
Submitter: Divakar Dharanalakota (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/18613
Committed: http://github.org/Juniper/contrail-vrouter/commit/70e053aa17f7398a90230a646d9a1f16bfc59aaf
Submitter: Zuul
Branch: R2.20

commit 70e053aa17f7398a90230a646d9a1f16bfc59aaf
Author: Divakar <email address hidden>
Date: Sat Feb 27 09:27:06 2016 +0530

Keeping ingres vif id in L2 header for post GRO processing

Currently the L2 header used for both L2 and L3 GRO processing is only
next hop id. Post GRO, the nexthop is retrieved from this id and packet
is subjected to this nexthop for further processing. The ingress
interface filled in the packet is nh_dev of this nexthop. This is
resulting in ingress interface as Tap interface though packet acttually ingressed
on Fabric interface. This can potentially lead to issues in the packet's
further processing as Tap interface is not the real ingress
interface.

As a fix, the ingress interface id is also pushed as L2 header.

Change-Id: I6fbe055fff7da4c957fde29d132b56ea19bd2f3f
closes-bug: #1550632

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

Reviewed: https://review.opencontrail.org/18614
Committed: http://github.org/Juniper/contrail-vrouter/commit/54ae2596f1149ef4ace527cf2f39d19897c3628b
Submitter: Zuul
Branch: R2.22.x

commit 54ae2596f1149ef4ace527cf2f39d19897c3628b
Author: Divakar <email address hidden>
Date: Sat Feb 27 09:27:06 2016 +0530

Keeping ingres vif id in L2 header for post GRO processing

Currently the L2 header used for both L2 and L3 GRO processing is only
next hop id. Post GRO, the nexthop is retrieved from this id and packet
is subjected to this nexthop for further processing. The ingress
interface filled in the packet is nh_dev of this nexthop. This is
resulting in ingress interface as Tap interface though packet acttually ingressed
on Fabric interface. This can potentially lead to issues in the packet's
further processing as Tap interface is not the real ingress
interface.

As a fix, the ingress interface id is also pushed as L2 header.

Change-Id: I6fbe055fff7da4c957fde29d132b56ea19bd2f3f
closes-bug: #1550632

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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