Age | Commit message (Collapse) | Author |
|
cleanup diff from deraadt@.
|
|
attribute cache. Instead remove attribute and readd it after beeing changed.
This should fix the "att_diff: equal attributes encountered" error seen by
Tony Sarendal. OK henning@
|
|
the value on the wire. This solves the backward originator-ids seend by
Tony Sarendal. OK henning@
|
|
to show communites in bgpctl output. Only send these messages if it they are
requested to reduce the overhead for simple listings. Looks good henning@
|
|
Make sure that at least the address family and the prefix length are sane.
Reported and fix tested by Pete Vickers.
|
|
both directions. Manpage update follows. OK henning@
|
|
the fly to the remote AS of the current neighbor. This can be used to
simplify rulesets in a dramatic way -- going from a script based nightmare
down to a handfull rules. jajajaja henning@
|
|
the RIB after a reload so you no longer need to clear sessions because you
modified filters. Looks good henning@.
|
|
table run done later as many filter evaluations can be skipped.
From the softreconfig in tree. Looks good henning@
|
|
of path_update(). There are about 10 different ways how to update a path and
some of them are tricky. Looks good henning@
|
|
as soon as F_ORIGINAL come the counters would no longer be correct and in the
end max-prefix would no longer work. Add additinal counters for F_ORIGINAL
prefixes and bump the correct conter depending on the prefix flags.
OK henning@
|
|
the passed aspath needs to be freed in network_add(). OK henning@
|
|
First step is to define two flags F_LOCAL and F_ORIGINAL. These flags
are used to distinguish prefix in the Local-RIB and those in the Adj-
RIB-In. Adapt prefix API and add additional checks so that no Adj-RIB-
In prefixes get mistakenly selected. Currently no F_ORIGINAL prefixes
are created but this may change soon. Looks good Henning.
|
|
at many different places do it once. This simplifies the logic and makes it
easier to extend it for upcomming Adj-RIB-In addition. OK Henning.
|
|
rde_filter(). Adapt path_update() to this change too. path_update() does
a path_copy before linking the rde_aspath into the RIB. Looks good Henning.
|
|
pointer plus a ref counter to link the attributes to the path object.
Saves +/- 10M on 11 full feeds. Looks good Henning
|
|
that don't need to run if the RDE is quitting e.g. the decision process.
|
|
|
|
Makes the code more obvious.
|
|
|
|
have a separate error function. It is no porblem to call rde_update_err()
directly.
|
|
is better. Discussed on icb.
|
|
attribute" error. While this check is already present in the error handling
function it is not done while parsing. Found via regress, OK henning@
|
|
|
|
RIB -- if it got filtered before so be it.
|
|
pointer so that the size does not grow. Adding 4 bytes to struct prefix would
result in 64MB more memory usage on one of my systems.
|
|
|
|
reconfigure out run is needed or not. If the output filters did not change
no table walk is needed.
|
|
will propagte directly to the neighbors. There is no need to restart bgpd
in that case. Currently not optimal but a good start. "get it in" henning@
|
|
into own functions. Move up_dump_upcall() into rde.c and rename it
rde_up_dump_upcall(). This is needed for the next step.
up_test_update() tests if an update or withdraw is needed and up_generate()
creates the updates. "get it in" henning@ (he is eager on softreconfig out)
|
|
The default filter_sets are converted into match filter rules that get
evaluated first. Simplifies code massively -- mainly the config reload
part -- and makes softreconfig out a piece of cake. "get it in" henning@
|
|
some comments that are totaly wrong. OK henning@
|
|
processing after the MP withdraw block. OK henning@
|
|
|
|
|
|
|
|
the peer where the prefix came from so that prepend-neighbor works.
Extend rde_filter() and make sure that the correct peer is passed.
Until now most cases resulted in a NULL peer causing a nasty crash that
was found by David Ulevitch. OK henning@
|
|
and some more obscure ones. With this is it possible to run IPv6 sessions
between two bgpd.
OK if it does not break IPv4 hummpa barman Henning
|
|
Does not affect IPv4 minimaly tested for IPv6 because we still don't have an
IPv6 capable neighbor. henning@ ya
|
|
|
|
rde_free_set(), I just missed it when I was looking for it.
Kill rde_free_set() and use the more correct filterset_free() from now on.
|
|
This saves 14 bytes per aspath. OK henning@
|
|
network and neighbor statements and the routes are labeled accordingly.
While doing that fix some mem-leaks by introducing filterset_free() and
remove the free on send option of send_filterset().
This took a bit longer because we need to carefully track the rtlabel id
refcnts or bad things may happen on reloads.
henning@ looks fine
|
|
interface changes. support in the filter language and rde to come. claudio ok
|
|
|
|
(you lost, theo)
|
|
|
|
directly connected respectively all static routes. The list is auto-
matically adjusted as soon as a route changes.
OK henning@
|
|
|
|
|