summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2006-02-23Use the new rtm_fmask feature to reset blackhole and reject routes onClaudio Jeker
RTM_CHANGE. Until now it was not possible to get rid of these flags. Until now a fib decouple, fib couple combo was needed to get rid from blackholed routes. OK henning@
2006-02-10Make it possible to turn suftreconfig in/out on or off. Default is on forClaudio Jeker
both directions. Manpage update follows. OK henning@
2006-02-09Implement "set community delete 65001:*" and friends. This will removeClaudio Jeker
communities from the path attributes. Useful to make sure that the ones you set later are set by a (evil) peer. OK henning@
2006-02-09When comparing community type, cast to u_int16_t. The same is done for theClaudio Jeker
AS. OK henning@
2006-02-09attr_free() should not modify others_len as it does not resize the othersClaudio Jeker
array. It just clears on entry by setting it to NULL and moving that NULL to the end of the array. With this it will be possible to remove attributes without readding them right afterwards. Because of this attr_diff() needs to be more careful because of passed NULL pointers. OK henning@
2006-02-08For now dump only stuff from the local-RIB into mrt table dumps.Claudio Jeker
Issue found by Andre Oppermann.
2006-02-08fix logic both in the decision when to re-init the capabilities negotiationHenning Brauer
structures
2006-02-05tweaks; ok claudioJason McIntyre
2006-02-04Document the new special community part "neighbor-as". OK henning@Claudio Jeker
2006-02-03If the aspath gets copied because it is modified use the copy for filterClaudio Jeker
matching. With this it is possible to make later filters depend on previous filter changes -- e.g. via community attributes.
2006-02-03Doh! Fix stupid copy paste error. Setting the community type to the AS insteadClaudio Jeker
of the more obvious type produces really funny errors and gives you some happy hours of debugging.
2006-02-02Implement new special community "neighbor-as". neighbor-as is expanded onClaudio Jeker
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@
2006-01-31Dynamic routes (PMTU, etc) are not redistributable even for IPv6.Claudio Jeker
Sure henning@
2006-01-24add -r to synopsis, and tweak its description a little;Jason McIntyre
2006-01-24introduce "bgpctl show summary terse", shows summary in an easy to parseHenning Brauer
format, intended for monitoring puposes. claudio ok
2006-01-24bgpd does not and will never support route flap damping as defined in theClaudio Jeker
mentioned RFC. Even RIPE (RIPE-229) realized that route flap damping should be considered evil.
2006-01-24Last bits for softreconfig in support. Now bgpd will automaticaly rei-filterClaudio Jeker
the RIB after a reload so you no longer need to clear sessions because you modified filters. Looks good henning@.
2006-01-24Functions in the poll() loop should only be moved around if there are noClaudio Jeker
side-effects. Revert last changes and make bgpctl reload work again.
2006-01-24Check if filter changed on a per peer basis. This should speed up theClaudio Jeker
table run done later as many filter evaluations can be skipped. From the softreconfig in tree. Looks good henning@
2006-01-24Finally start using the Adj-RIB-In. The most complex part is the modificationClaudio Jeker
of path_update(). There are about 10 different ways how to update a path and some of them are tricky. Looks good henning@
2006-01-24It is possible that a prefix is part of two RIBs in that case prefix_remove()Claudio Jeker
needs to be extra careful and only remove the prefix from the specified RIB. Looks good henning@
2006-01-24Update comment to match reality.Claudio Jeker
2006-01-24document -rHenning Brauer
2006-01-24missing space in error message, and make it slightly betterer while thereHenning Brauer
2006-01-24KNFHenning Brauer
2006-01-24zap now unused varHenning Brauer
2006-01-24introduce a second control socket, which is restricted to certain messages,Henning Brauer
nameley the show ones. needed for looking glass style applications, monitoring etc. claudio ok
2006-01-20Proactively fix prefix counters. Currently only F_LOCAL prefixes exist butClaudio Jeker
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@
2006-01-20Pass flags to prefix_move() so that a prefix that has both F_ORIGINAL andClaudio Jeker
F_LOCAL set can be moved correctly. This is more like a add as we have one prefix more afterwards. Looks good henning@
2006-01-20No need to calloc() others if others_len is 0. The 0 malloc() does not hurtClaudio Jeker
(we do not access it) but does not help either. Finally it reduces head scratching when debugging the RIB. OK henning@
2006-01-20Doh. > not < and attr_compare() starts to work correctly. OK henning@Claudio Jeker
2006-01-20Don't leak a aspath in network_add(). path_update() copies the aspath soClaudio Jeker
the passed aspath needs to be freed in network_add(). OK henning@
2006-01-14Small step in supporting the Adj-RIB-In additionaly to the Local-RIB.Claudio Jeker
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.
2006-01-13Simplify evaluation process. Instead of checking the reachability of a prefixClaudio Jeker
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.
2006-01-12Copy AS path in rde_filter() on demand instead of doing it before callingClaudio Jeker
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.
2006-01-10The attributes cache broke the set community filterset because community_set()Claudio Jeker
modified the attribute data directly and corrupted the cache by doing it. It is no longer allowed to modify attributes via attr_optget() -> change attr->data. Instead remove the old attribute from the aspath and then add a new modifed one again. Included in this change is the removal of a "feature" that allowed only one community per AS. If you had problems to add multiple communities via filters then this was the problem. Looks good Henning.
2006-01-10In attr_diff() compare the attributes flags too. They may be different andClaudio Jeker
especially they are accounted in the hash. While there change a 0 to NULL.
2006-01-09Ups. Inverse logic.Claudio Jeker
2006-01-07Add COMMUNITY_NO_PEER to the list of known wellknown communities else itClaudio Jeker
is not possible to use NO_PEER as community in the config.
2006-01-05Kill ENSURE(), remove ensure.h, say bye bye to fatal_ensure() andClaudio Jeker
one hip hip hooray from Henning.
2006-01-05Cache optional BGP attributes (mostly communities) and use a simpleClaudio Jeker
pointer plus a ref counter to link the attributes to the path object. Saves +/- 10M on 11 full feeds. Looks good Henning
2006-01-04Fix a mem leak of the unusual kind. In some cases a new aspath was addedClaudio Jeker
to the RIB without checking if there was a equal path already available. Modify path_update() so that we do not link a new aspath without calling path_lookup() before to check if the aspath is not already in the RIB. Found via bgpctl show rib mem. OK henning
2006-01-04Simplify shutdown function and sprinkle some rde_quit checks into functionsClaudio Jeker
that don't need to run if the RDE is quitting e.g. the decision process.
2006-01-04If the decision process is turned of but a prefix is still active decrease theClaudio Jeker
active prefix counter.
2006-01-04Correctly count the number of allocated BGP attributes. Needs a own counter.Claudio Jeker
2006-01-03Track some (memory) statistics in the RDE. Accessible via bgpctl.Claudio Jeker
2006-01-03Move functions shared with bgpctl into new file util.c. Simplifies theClaudio Jeker
link between bgpctl and bgpd mostly because of rde_attr.c.
2006-01-03Plug some mem leaks.Claudio Jeker
2006-01-03Kill WFLAG macro. Should have been included in the rde_attr_parse() merge.Claudio Jeker
Makes the code more obvious.
2006-01-03Move the signal handler flags check between the poll() call and the pollClaudio Jeker
fd handling. Do not access poll fd in case of an error or timeout. With and OK dlg@