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.
Reviewed: https:/ /review. opencontrail. org/12582 github. org/Juniper/ contrail- vrouter/ commit/ 13ed9d0ceb53f9a cde1af5b97a8758 287d4ddeaa
Committed: http://
Submitter: Zuul
Branch: R2.20
commit 13ed9d0ceb53f9a cde1af5b97a8758 287d4ddeaa
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: I28948ba73ed5c0 8602812e665bc4c 49c5e1906aa
closes-bug: #1472796