* * * * *
“Why yes, I'd prefer my packets to take the slow connection”
Yesterday, the Cisco router preferred the secondary circuit [1] (a DSL
(Digital Subscriber Line) line) over the primary circuit (an Ethernet port)
and I couldn't figure why. I had programmed in weighted routes but the Cisco
seemed to read “take the Ethernet port over the DSL port” as “take not the
Ethernet port over the DSL port.”
First attempt at a fix: weight the routes heavily (as in fifteen times) in
favor of the Ethernet port. Still the Cisco took it as “take not at all the
Ethernet port over the DSL port.”
Second attempt at a fix: who knows? Maybe I have the weights backwards? So,
reverse the weight values. It was then I realized that the Cisco was in fact
hearing “do not even think of the Ethernet port unless the DSL port is down.”
Didn't matter how I weighed the routes, the Cisco would refuse to route over
the Ethernet unless the DSL was down.
Which is the exact opposite of what we want.
So G, our Cisco consultant took a look into the problem and came up with the
answer—that's the way Cisco's work.
Basically, the Cisco router will select a route according to the following:
1. All connected interfaces go first.
2. Route to the most specific subnet second.
3. Only now are weighted routes considered.
The DSL connection was being routed on a connected interface, so we could
have weighted the DSL connection with 17 tons and made the Ethernet interface
weightless, but because the DSL route is directly connected, it would be
preferred.
The problem was fixed by changing the DSL routing destination, so it was
neither directly connected, nor a specific subnet.
Sigh.
[1]
gopher://gopher.conman.org/0Phlog:2006/03/01.1
Email author at
[email protected]