ECMP with DMAC rewrite is a typical router function. ECMP enables routers to spread flows evenly leading to best utilization towards the destination. It also reduces congestion.
- An ECMP table is used with an ecmp-id derived from flow-table lookup, to yield num_nexthops.
- ECMP hashing is done as
{flow_hash % num_nexthops}
to pick the nexthop-id:- ECMP and nexthop-table entries are configurable via config.json.
- There is support for deriving nexthop using nexthop_base.
- Nexthop-table is used using nexthop-id to yield DMAC to be rewritten on the packet.