commit b97b2d116a65bc992c5d8b561564a56a1f00b837
Author: Divakar D <email address hidden>
Date: Tue Jun 20 17:22:52 2017 +0530
Fill the NH of the packet in fragment assembler
When fragments are recieved out of order, assembler code caches them
till head fragment is received. While holding the packet, packet's nh is
not cached to avoid taking a reference to NH. Once the head fragment is
received, these out of order fragments are released for flow processing.
While doing this, packet's nh is not filled if the encap is Vxlan packet
as this requires a mac address lookup. For Mpls packets, label is looked
up to extract the NH. Not filling the NH, is resulting in Flow lookup
failure as NH id is also a key for the flow table. Failure to look up
the original flow entry (of head fragment) results in either creating
the new flow entry (with wrong key nh id) in Hold state, or dropping the
packet without flow processing.
To avoid this, bridge look up is done in the given VRF, to extract the
NH.
Reviewed: https:/ /review. opencontrail. org/33061 github. com/Juniper/ contrail- vrouter/ commit/ b97b2d116a65bc9 92c5d8b561564a5 6a1f00b837
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R2.22.x
commit b97b2d116a65bc9 92c5d8b561564a5 6a1f00b837
Author: Divakar D <email address hidden>
Date: Tue Jun 20 17:22:52 2017 +0530
Fill the NH of the packet in fragment assembler
When fragments are recieved out of order, assembler code caches them
till head fragment is received. While holding the packet, packet's nh is
not cached to avoid taking a reference to NH. Once the head fragment is
received, these out of order fragments are released for flow processing.
While doing this, packet's nh is not filled if the encap is Vxlan packet
as this requires a mac address lookup. For Mpls packets, label is looked
up to extract the NH. Not filling the NH, is resulting in Flow lookup
failure as NH id is also a key for the flow table. Failure to look up
the original flow entry (of head fragment) results in either creating
the new flow entry (with wrong key nh id) in Hold state, or dropping the
packet without flow processing.
To avoid this, bridge look up is done in the given VRF, to extract the
NH.
closes-bug: #1698986
Conflicts: vr_bridge. c vr_bridge. h
dp-core/
dp-core/vr_flow.c
include/
Change-Id: Ida6a96f86bf5df 62e7b8fef152c74 1bd9e2bc873