BGP Multihoming Partial vs. Full Routes

I know this topic must have been covered before, but I can find no search tool for the NANOG archives. I did google and reference Halabi's book as well as Avi's howto, but I still don't feel I fully understand the pros and cons of Full vs. Partial routes in a dual/multihomed network.

Cisco's position these days seems to be "you don't need to carry full views unless you like tinkering with optimizig paths and such."

Tinkering isn't the issue. Full reachability to servers on this network from EVERYone, including both upstreams' customers, regardless of the status of each upstream connection is. Ditto in the event that one upstream has some kind of core or regional router meltdown, which I've seen more than once. I see conflicting advice as to whether partial routes will suffice for this.

Helpful links and/or synopsese appreciated.

James Smallacombe PlantageNet, Inc. CEO and Janitor
up@3.am http://3.am

Not sure why Cisco's position is relevant, but let me restate it.

Cisco will happily sell you all the memory you care to pay for. That said, for an edge network with a competent upstream, full routes are generally not as useful as one might expect. You're at least as well off with default routes for your upstreams plus what we call "Optimized Edge Routing", which allows you to identify (dynamically, for each prefix/peer you care about) which of your various ISPs gives you a route that *you* would prefer in terms of reachability and RTT. In the words of a prominent hardware store in my region, "you can do it, we can help".

+1.

additionally, one could filter on reasonable RIR allocation 'boundaries' per /8, cutting the fib down substantially. Cisco and a host of others maintain such a list of ready-to-use examples here:

ftp://ftp-eng.cisco.com/cons/isp/security/Ingress-Prefix-Filter-Templates/

lastly, one could do something far more crude (yet strangely effective), like so:

ip prefix-list longs permit 0.0.0.0/0 ge 23
ip prefix-list shorts permit 0.0.0.0/0 le 22

ip as-path access-list 10 permit (^_[0-9]+$|^_[0-9]+_[0-9]+$|^_[0-9]+_[0-9]+_[0-9]+$)

route-map provider-in permit 10
match ip address prefix-list longs
match as-path 10

route-map provider-in permit 20
match ip address prefix-list shorts

...etc

-Tk

Most providers will give you just their on net prefixes. This is useful if multihomed but you do not really need full tables.

Then you can default or similar for the rest of the net.

Jared Mauch