!############################################################################### !# pfv-r3-tor-stor — TARGETED LACP hash verification !# !# Purpose: confirm whether `port-channel load-balance layer-2-3-4` actually !# took effect, and gather the LAG state needed to decide whether the LAG !# must be bounced. !# !# Context: tsys6<->tsys7 is capped at exactly single-link speed (~943 Mbps) !# with 90K-136K retransmits on multi-stream TCP, but a clean 928 Mbps / 0 !# retransmits on single-stream. That = offered load above 1 Gbps is being !# dropped at a single egress port. We need to know if the switch hash is !# really layer-2-3-4, and whether tsys6 + tsys7 ports are correctly !# bundled into LACP groups. !# !# Paste from enable mode. Capture to: !# returned-logs/pfv-r3-tor-stor-lacp-verify.log !############################################################################### enable terminal datadump terminal length 0 ! --- 1. THE KEY COMMAND: what hash is actually active? ----------------------- ! Expected: layer-2-3-4. If it still shows source-mac / dst-mac / ! src-dst-mac (layer 2 only), the change did NOT take effect. show port-channel load-balance show port-channel protocol ! --- 2. Which LAGs exist and which physical ports are members ---------------- ! Look for the port-channels carrying tsys6 and tsys7. Confirm each has ! TWO member ports both in "bundled" / "Forwarding" state. show port-channel summary show port-channel detail ! --- 3. LACP actor/partner state per member port ---------------------------- ! Every member port should show: Actor State Flag = AcLg (Active, Aggr), ! Partner Operational, and a non-zero Partner System ID. show lacp show lacp neighbor ! --- 4. Per-port counters during/after an iperf run ------------------------- ! THIS is the switch-side equivalent of the host RX-counter test. ! Run an 8-stream iperf tsys7->tsys6 first, then immediately capture ! these so the byte counters reflect the test. The TWO tsys6-facing ! ports should show SIMILAR "RX bytes" (switch ingress from tsys6's ! bond is not the test direction; look at TX-out bytes toward tsys6, ! i.e. the ports' output counters). Replace Te1/0/x with the real port ! IDs shown by "show port-channel summary" above: show interfaces counters show interfaces counters errors ! --- 5. Running config line that set the hash (proof it was committed) ------ show running-config | include port-channel ! --- 6. Switch identity (to look up correct hash syntax for this model) ----- show version show system exit !############################################################################### !# DECISION TREE after reading the output: !# !# A) show port-channel load-balance reports layer-2-3-4 AND per-port !# counters show traffic split across BOTH tsys6-facing ports: !# -> Hash is fine. Re-test iperf; if still ~943 Mbps, the cap is !# host-side (receiver RX bridge / IRQ / CPU). !# !# B) load-balance reports layer-2-3-4 BUT per-port counters show all traffic !# on ONE tsys6-facing port: !# -> Hash is configured but the LAG needs a bounce to pick it up. !# Bounce the relevant port-channel: !# config !# interface port-channel N !# shutdown !# no shutdown !# end !# WARNING: drops all traffic on that LAG for ~2-5 s. Coordinate. !# !# C) load-balance still shows a layer-2-only policy: !# -> The earlier change didn't commit to this context. Re-apply: !# config !# port-channel load-balance layer-2-3-4 !# end !# show port-channel load-balance !# copy running-config startup-config !# Then handle as case (B) if counters still aren't split. !###############################################################################