Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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: dp-core/vr_bridge.c dp-core/vr_flow.c include/vr_bridge.h Change-Id: Idf50ba23c1b04c828080cf258d1af35205bb1b4a
- Loading branch information