# How Linux ARP Behavior Can Break Static-Route Tests with Multiple Next Hops

DevFeed: [How Linux ARP Behavior Can Break Static-Route Tests with Multiple Next Hops](<https://devfeed.tech/articles/how-arp-killed-a-static-route-11174.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2025/04/static-routes-arp/>)

Published: 2025-04-22T05:55:00Z

Content type: article

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Network](<https://devfeed.tech/topics/network.md>), [Ethernet](<https://devfeed.tech/topics/ethernet.md>)

Tags: [arp](<https://devfeed.tech/tags/arp.md>), [ethernet](<https://devfeed.tech/tags/ethernet.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [linux](<https://devfeed.tech/tags/linux.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [network](<https://devfeed.tech/tags/network.md>), [route](<https://devfeed.tech/tags/route.md>), [tests](<https://devfeed.tech/tags/tests.md>), [validation](<https://devfeed.tech/tags/validation.md>)

## AI overview

The article investigates a netlab integration-test failure involving static routes with two next hops. It finds that default ARP behavior on a multi-subnet Linux host can cause Linux to send an ARP request using the IP address of another interface, while Junos does not answer it, causing the ping test to fail until the ARP cache is warmed.

## Source excerpt

The amount of weird stuff we discover in netlab integration tests is astounding, or maybe I have a knack for looking into the wrong dark corners (my wife would definitely agree with that). Today's special: when having two next hops kills a static route. TL&DR: default ARP settings on a multi-subnet Linux host are less than optimal. We use these principles when creating netlab integration tests: They should contain a single device-under-test and a bunch of attached probes. They should test a single feature. They should not rely on the device-under-test. All validation has to be done on probes. How do you test static routes under these restrictions? Here's what we did: Read more ...