[c-nsp] IOS XR BGP
Mark Tinka
mtinka at globaltransit.net
Mon Nov 28 21:35:18 EST 2011
On Tuesday, November 29, 2011 07:59:00 AM Keegan Holley
wrote:
> into BGP with one set of filters, then maintaing routing
> policy with another, possibly one for iBGP and yet
> another for upstreams is can be a bit cumbersome. I'm
> not saying it's not doable, nor am I saying it's a
> reason in and of itself to go juniper. Just that if I
> chose a juniper platform for some other reason I'm happy
> it's there. Just my personal opinion though.
Understand.
Well, it's not such a major problem for us:
o For our Juniper route reflectors, we write a
static route of the aggregate pointing to
'discard', call that via a policy statement, apply
the right BGP attributes and send the route on its
way.
o For our Cisco route reflectors, we write a static
route of the aggregate poing to 'Null0', dig it
into BGP using a 'network' statement, and apply
the right BGP attributes via a route-map and send
the route on its way. Note that like the Juniper,
one could also use a route-map to call the static
route into BGP via a tag (I think Gert has
mentioned, once or twice, that that's what he
does), negating the need for a 'network'
statement.
In either case, above, all other routers in the network
(edge, blackholing, peering, borders, e.t.c.) simply refer
to communities to get routes out to the Internet, customers
or peers. No additional "routing" is required on these
routers, just reference to communities.
> Agreed, but the network statement is part of the
> problem.. not saying it's a reason to go juniper, blah
> blah blah, see above re: import policies.
It's just an implementation style, one of many. It's not
something we touch everyday, so having to deal with it isn't
an hourly nightmare that 'network' statements would be too
cumbersome.
Personally, I prefer 'network' statements because they're
deliberate. You always know you're doing "something" as it's
a two-step process. I'm more wary of redistribution in the
global table, although, like in Gert's case, it can also be
controlled if you have the right guys at the helm.
Every solution has its risks, costs and benefits.
> I've heard this practice referred to as
> "self-documenting".
Network-authoritative documentation is bad for you :-). But
I guess we're going off-topic here :-).
> I'm not proposing we all throw out
> our various repositories and turn to our configs for
> enlightenment, but when I see a route that says protocol
> aggregate I know what it is. When I see a route to
> null0 with a short mask there's some ambiguity. Maybe I
> chose a bad example...
No, I know what you mean.
Normally, one would know the aggregates they have from their
regional registry. Also, if, like me, you originate your
aggregates form some central device such as a route
reflector, you're bound to "know" those are aggregates as
it's likely you wouldn't be originating other routes from
there.
On a more personal note, I tend to shy away from certain
explicit features that were designed for a specific task
that can be achieved in a more feature-independent fashion.
The reason for this is when you get new kit whose software
is still developing, the BU for that kit may feel the
feature you want has no place on their platform, will be
available only in 5 years because it's low priority
(industry has settled on another method), is obsolete, was
never efficient for the system, e.t.c. Of course, there are
some features you certainly can't do without, but we've hit
such issues a lot as we've deployed newer kit from vendors,
making our backbone sometimes inconsistent between old and
new boxes re: configuration.
A classic case was the IOS XR team who think that prefix
lists (which support variable subnet lengths in IOS and IOS
XE) have no place on the CRS or ASR9000 platforms in the
IOS/IOS XE-style. You can imagine how high we hit the roof
when we heard their reasons.
> It depends on your requirements. Top of the list is
> buying someone or getting bought and using their
> upstreams without changing AS number everywhere.
> Customers multi-homing with your ARIN/APNIC/RIPE space.
> I can think of a few others....
These are corner cases, which I wouldn't advertise in my
Best Practices list as the way to go, but let folk know that
kinky situations may require kinky solutions.
> If not then the statement that a particular platform is
> "99% preferred" for a certain use is arbitrary and will
> vary from one company to the next. To each his own I
> guess.
You misunderstand me, Keegan. I was saying that "IF" we were
evaluating Juniper and Cisco and "IF" Cisco turned out to be
the preferred choice for 99% of the requirements for that
particular bid, then the 'aggregate' feature on the Juniper
would not be enough to sway us away from the Cisco which
represented 99% of what we needed at that point in time.
We are a 50/50 house re: Cisco and Juniper kit. Each time we
buy kit, we evaluate our needs at that point in time and put
both vendors through their paces. The best one wins. So it's
Juniper or Cisco today for the core, Cisco or Juniper
tomorrow for the edge, Juniper or Cisco the next day for
peering, Cisco or Juniper the next day for Metro-E, e.t.c.
50/50, with no strong desire for one vendor over the other,
especially with today's state-of-the-art.
Cheers,
Mark.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <https://puck.nether.net/pipermail/cisco-nsp/attachments/20111129/0c67bbaa/attachment.sig>
More information about the cisco-nsp
mailing list