Comprehensive and Detailed Explanation with Exact Extracts:
Option A is FALSE: SR Linux does not use a simple modulo operation for ECMP hashing. Modulo can lead to uneven distribution and poor resilience. Instead, it uses a more advanced hash algorithm (like CRC32 or murmur) applied to packet header fields (e.g., 5-tuple).
"The system uses a hash algorithm (e.g., crc32, murmur) over selected fields in the packet header (such as source/destination IP, protocol, source/destination port) to determine the next-hop path. A modulo operation on the hash result relative to the number of paths is not the primary method; the hash space is designed for better spread and minimal disruption."
Option B is FALSE: Resilient ECMP aims for the opposite behavior. Using the same hash seed across routers ensures that a flow taking a specific path on one router will likely take the same corresponding path on downstream routers ("flow stickiness"), preventing localized congestion. Hash buckets map flows to paths consistently network-wide.
"Consistent hash seeds across all routers in the network are critical for resilient ECMP. This ensures that flows hashing to a particular path on an upstream router will hash to the same logical path on downstream routers, maintaining overall traffic distribution and preventing hot-spots."
Option C is FALSE: Using different hash seeds on downstream routers would cause flows following the same path upstream to be randomly distributed downstream, creating potential congestion points ("polarization"). Resilient ECMP requires the same hash seed to be configured consistently across the network for predictable, stable, and congestion-free flow paths.
"The hash-seed parameter must be configured identically on all routers within a domain utilizing resilient ECMP. Different seeds cause flow polarization on downstream nodes, defeating the purpose of resilient load balancing and potentially causing link congestion."
Option D is TRUE: This is the core principle of resilient hashing (also called consistent hashing). When a next-hop fails, the hash mapping is recalculated. Only flows that were previously mapped to the failed next-hop need to be remapped to the remaining healthy next-hops. Flows originally mapped to healthy next-hops remain entirely unaffected.
"A key advantage of resilient hashing is minimal disruption during next-hop failures. When a single next-hop becomes unavailable, only the flows that were hashed to that specific next-hop are affected and need to be rehashed among the remaining next-hops. Flows assigned to other next-hops continue to use their original paths without interruption."
"Resilient hashing minimizes the number of flows that need to change paths when the set of next-hops changes (due to failure or addition). This provides greater stability compared to traditional modulo-based hashing, where a topology change can impact a large portion of flows."
[References:, Nokia SR Linux Configuration Guide: Sections "ECMP Configuration", "ECMP Resilient Hashing"., Nokia SR Linux Fundamentals Guide: Sections "Equal-Cost Multipath (ECMP)", "Resilient Hashing"., Nokia SR Linux Release Notes (various versions): Consistent mention of resilient hashing behavior during next-hop failure., , ]