Comment 10 for bug 1472796

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

Reviewed: https://review.opencontrail.org/12582
Committed: http://github.org/Juniper/contrail-vrouter/commit/13ed9d0ceb53f9acde1af5b97a8758287d4ddeaa
Submitter: Zuul
Branch: R2.20

commit 13ed9d0ceb53f9acde1af5b97a8758287d4ddeaa
Author: Divakar <email address hidden>
Date: Thu Jul 23 16:22:40 2015 +0530

Forcing L3 processing for Ecmp

When an ARP request is received from a VM which is part of ECMP to a non
ECMP destination, ARP response is sent using the stitching
information of destination route. This leads to VM learning destination
VM's MAC directly enabling an L2 switching. But as source VM is part of
ECMP, the packets need to be L3 routed, as there is no ECMP support for L2
switched packet and also the reverse path packets (from non ECMP to ECMP)
are as such L3 routed.
Responding to VM with stiched MAC, leads to following issue in particular. IP
packet from VM will come to Vrouter module with L2 Mac, and this results in
flow trap to Agent. Agent while setting the forward L2 flow, attempts to set
RPF nexthop, which is composite Nexthop and asserts as L2 flow can not have
composite nexthop.

To fix this, ARP response is sent now with VRRP mac, which makes the flow as
L3 flow.

Change-Id: I28948ba73ed5c08602812e665bc4c49c5e1906aa
closes-bug: #1472796