On 2016/05/17 21:34, Stuart Henderson wrote:
> On 2016/05/17 18:35, Kevin Wier wrote:
> > I would like to submit a feature request to where networks could
> > be announced per neighbor instead of globally. This would afford the
> > benefit of manipulating inbound BGP preferences to utilize a larger
> > inbound connection by announcing the smaller ranges, being more specific
> > than the larger range announced on the other smaller links. This still
> > provides failed link redundancy as the other connections will still be
> > used when the larger connection is down. I have included proposed config
> > examples to reference.
> 
> Use "announce all" and use filters to choose what is sent to each
> neighbour.

Following up with a bit more detail..

As well as filter rules themselves you need two things in
the top part of the file:

1. The prefixes need to be created somewhere. Either coming from
another router, or redistributed from static routes or connected
routes, or generated with "network" lines e.g.:

network 10.2.0.0/18
network 10.2.4.0/24
network 10.2.5.0/24
network 10.2.6.0/24

i.e. one for each individual prefix you're announcing.

The prefixes coming from neighbours and the prefixes from
"network" lines feed into:

2. "announce" in the neighbour config selects which of the
above prefixes are passed to filter rules.  You can use
"announce all" here and do everything else in the filter
rules. Or actually (and contrary to my first mail), you
could also use "self" here, which may be helpful to avoid
mistakes in filter rules accidentally advertising transit
routes to bad places.

3. Prefixes that make it through "announce" get fed into
the filter rules. These are just the allow/deny rules like
you'll see in the sample configuration - it's PF-like and
see the FILTER and PARAMETERS sections of bgpd.conf(5)
for the syntax description.

A contrived example with the above networks:

deny to any
allow to any prefix 10.2.0.0/18
allow to group somegroup prefix {10.2.4.0/24 10.2.5.0/24}
allow to 5.6.7.8 prefix 10.2.6.0/24
allow to 5.6.7.10  # send all routes to this transit customer

Reply via email to