commit 25825c6e373824e9abefb9a7fa3e9a4306f3d24d
Author: Anand H. Krishnan <email address hidden>
Date: Mon Oct 26 11:25:12 2015 +0530
Logic to identify the nature of label in fmd
Post L2 flow support, vRouter started using the label in the forwarding
metadata to also store VXLAN identifier. For MPLS-O-X(GRE/UDP) packets,
the label indicates the MPLS label of the packet. For VXLAN tunneled
packets, the label indicates the VNID.
The logic that identifies this information has turned out to be buggy,
resulting in VNID being identified as a MPLS label and thus sending the
packet to a wrong interface/VM. Till now, we used to mark the label as
VNID only if the packet had hit VRF translation nexthop (the vxlan kind)
AND if the packet was cached in the flow entry because of that
particular nexthop, which never happens and hence the label was always
identified as a MPLS label.
We now mark a flag indicating the type of the label, whenever the type
is identified. To be more explicit, the label is now set in the fmd with
an API that takes the type of the label, so that mistakes can be avoided.
Reviewed: https:/ /review. opencontrail. org/16028 github. org/Juniper/ contrail- vrouter/ commit/ 25825c6e373824e 9abefb9a7fa3e9a 4306f3d24d
Committed: http://
Submitter: Zuul
Branch: R2.21.x
commit 25825c6e373824e 9abefb9a7fa3e9a 4306f3d24d
Author: Anand H. Krishnan <email address hidden>
Date: Mon Oct 26 11:25:12 2015 +0530
Logic to identify the nature of label in fmd
Post L2 flow support, vRouter started using the label in the forwarding
metadata to also store VXLAN identifier. For MPLS-O-X(GRE/UDP) packets,
the label indicates the MPLS label of the packet. For VXLAN tunneled
packets, the label indicates the VNID.
The logic that identifies this information has turned out to be buggy,
resulting in VNID being identified as a MPLS label and thus sending the
packet to a wrong interface/VM. Till now, we used to mark the label as
VNID only if the packet had hit VRF translation nexthop (the vxlan kind)
AND if the packet was cached in the flow entry because of that
particular nexthop, which never happens and hence the label was always
identified as a MPLS label.
We now mark a flag indicating the type of the label, whenever the type
is identified. To be more explicit, the label is now set in the fmd with
an API that takes the type of the label, so that mistakes can be avoided.
Closes BUG: 1509939
Change-Id: I63167986b4532d 6820b0c76f267c6 1ca788e8fd4