Incase of dynamic mirroring, udp header is added on top of mirrored
packet. If the mirroring destination is an Ecmp destination, ecmp
distribution is happening using the newly added udp heder. This results
in no distribution with in Ecmp, as all mirrored packets are going to
contain the same IP/UDP header resulting in same hash calculation.
As a fix, for a better distribution, the udp source port of the UDP header
is calculated based on the packet's IP/IPV6 header content. This results
in better port range, eventually leading to better Ecmp distribution.
For non IP/IPV6 packets, Agent added port is taken as is.
Reviewed: https:/ /review. opencontrail. org/23771 github. org/Juniper/ contrail- vrouter/ commit/ 78b516a01921ed8 4308868d5b0da68 2587c9f2ea
Committed: http://
Submitter: Zuul
Branch: master
commit 78b516a01921ed8 4308868d5b0da68 2587c9f2ea
Author: Divakar <email address hidden>
Date: Fri Sep 2 23:25:39 2016 +0530
Distribute mirroring packets to Ecmp destination
Incase of dynamic mirroring, udp header is added on top of mirrored
packet. If the mirroring destination is an Ecmp destination, ecmp
distribution is happening using the newly added udp heder. This results
in no distribution with in Ecmp, as all mirrored packets are going to
contain the same IP/UDP header resulting in same hash calculation.
As a fix, for a better distribution, the udp source port of the UDP header
is calculated based on the packet's IP/IPV6 header content. This results
in better port range, eventually leading to better Ecmp distribution.
For non IP/IPV6 packets, Agent added port is taken as is.
closes-bug: #1616822
Change-Id: I06f2fd0dee79ad e11696bc2b2d9c3 c34c374ff65