Comment 11 for bug 1472796

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

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

commit a4069fab9f652728bdf67e91fd564938fd5830e3
Author: Divakar <email address hidden>
Date: Thu Jul 23 16:36:39 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: I3ba4c66288f86e190d39f8761d4952b42050ebd8
closes-bug: #1472796