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/12583 github. org/Juniper/ contrail- vrouter/ commit/ a4069fab9f65272 8bdf67e91fd5649 38fd5830e3
Committed: http://
Submitter: Zuul
Branch: master
commit a4069fab9f65272 8bdf67e91fd5649 38fd5830e3
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: I3ba4c66288f86e 190d39f8761d495 2b42050ebd8
closes-bug: #1472796