summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
AgeCommit message (Collapse)Author
2006-12-05implement the ttl security hack. since the pc slaves fear the word hack,Henning Brauer
they call it "Generalized TTL Security Mechanism" officially, RFC 3682. manpage with help from jmc
2006-11-28allow bgpd to work on alternate routing tables, claudio ok, jmc manpage helpHenning Brauer
2006-08-27add code to announce the restart capability according toHenning Brauer
draft-ietf-idr-restart. Do not announce actual restart capabilities, so that this only serves as indicator that we are capable of sending and receiving the End-of-RIB marker. leave disabled for now, since the code to actually send the EoR-marker is currently ifdef'd out (to be fixed soon) and we wanna play safe for 4.0. and juniper doesn't support that capability (which is not a problem per se) and at the same time has its capability negotiation code completely fucked up, if a capability is rejected they don't indicate WHICH capability they reject (which makes that a problem, tho still a small one and we cope). claudio ok
2006-08-27add buf_grow() to grow an existing buffer (realloc), claudio okHenning Brauer
2006-08-23Extend show rib interface code so that it is possible to show the adj-rib-inClaudio Jeker
and adj-rib-out. Additionally it is now possible to limit the output to a specified peer. OK henning@
2006-08-04add "restart" to max-prefix, allows sessions suspended due to reachingHenning Brauer
max-prefix to be restarted automagically after a given number of minutes requested by "Sylwester S. Biernacki" <obeer@obeer.com>, manpage help jmc, ok claudio
2006-06-17implement carp demotion control for bgpd.Henning Brauer
sessions can be configured to modify the carp demotion counter for a given interface group (usually, "carp", which has all carp interfaces) when the session is not established. once the session is established for 60 seconds, the demotion is cleared. this, used correctly, can prevent a bgpd-box which lost all sessions (and thus has no routes) to be carp master, while the backup has sessions. thought through and partially hacked on a drive from calgary to vancouver with ryan, ok claudio
2006-06-15Instead of passing three different kinds of arguments in show rib controlClaudio Jeker
request use one struct ctl_show_rib_request where all the info is encoded. OK henning@
2006-06-14Send bot nexthops (exit and true) in the bgpctl show rib cases. bgpctlClaudio Jeker
can than select which nexthop should be printed. OK henning@
2006-05-27Pass a IMSG_CTL_RESULT messgae back to bgpctl on reloads to indicate ifClaudio Jeker
the reload was successful or not. OK henning@
2006-05-23allow bgpd to request a route refresh from a neighbor if that neighborHenning Brauer
announced route refresh capabilities
2006-04-26Remove filterset_names from bgpd.h and replace it with a function becauseClaudio Jeker
the table was already out of sync now. OK henning@
2006-04-25Mark fatal and fatalx as __dead from deraadt@Claudio Jeker
2006-04-21msgbuf_writebound() and msgbuf_bounded() are leftovers from some ancientClaudio Jeker
mrt dump code. These functions are no longer used since we switched to filedescriptor passing. From deraadt@
2006-04-04add "set nexthop self", force nexthop to be set to own address even with IBGPHenning Brauer
requested & tested Falk Brockerhoff <fb@smartterra.de>, and tony sarendal tested this too. claudio ok
2006-03-22Change the way bgpd selects nexthops. Up until now every route was consideredClaudio Jeker
when calculating the nexthop. Now only non BGP routes and not the default route are used unless forced with the new config options nexthop qualify via bgp nexthop qualify via default This change is required for complex setups e.g. where an additional IGP is running. OK henning@
2006-03-22Add a new SHOW imsg to send optional attributes to bgpctl. This can be usedClaudio Jeker
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@
2006-03-15Allow the control socket to be changed on the command line. Useful if youClaudio Jeker
need to run multiple bgpds on a single box to simulate a IX. This helped me massivly debugging error reports. 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-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-24introduce "bgpctl show summary terse", shows summary in an easy to parseHenning Brauer
format, intended for monitoring puposes. claudio ok
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-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-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.
2005-11-02Mark some additional function arguments as const.Claudio Jeker
2005-11-01Switch from the per peer filter set list to a filter-only solution.Claudio Jeker
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@
2005-10-19for "bgpctl neighbor foo up/down/clear", make bgpctl not exit after sendingHenning Brauer
the request, but wait for the new IMSG_CTL_RESULT message, which contains a status code to indicate wether the request was processed successfully or wether an error occured and if so what kind of error. no more "IMSG_CTL_NEIGHBOR_ with unknown neighbor foobaz" in the log when you mistyped foobar - no bgpctl itself complains claudio ok
2005-10-19new keyword "down" in neighbor spec, when givenm, the session is notHenning Brauer
started on bgpd startup but stays in IDLE. requested by claudio
2005-09-20let "bgpctl network show" print v6 addresses correctlyHenning Brauer
2005-08-09Introduce new route decision tunable "rde med compare (always|strict)".Claudio Jeker
If set to always the med will also be compared between different AS. The default is strict which is the way the RFC specifies it. OK henning@
2005-07-04New function filterset_cmp() used two compare two struct filter_set forClaudio Jeker
equality. This function is a bit more complicated than a memcmp() because there are types that need to be considered equal e.g. ACTION_SET_MED and ACTION_SET_RELATIVE_MED. Also ACTION_SET_COMMUNITY and ACTION_SET_NEXTHOP need some special care. OK henning@
2005-07-01Switch filter_sets form SIMPLEQ to TAILQ, needed for upcomming stuff.Claudio Jeker
2005-07-01Make the pftable filter set use the name2id "cache" like the route labels.Claudio Jeker
This saves 14 bytes per aspath. OK henning@
2005-06-29rtlabel support via filter sets. Just use "set rtlabel foobar" in filtersClaudio Jeker
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
2005-06-28Try to fit 0x200 into an u_int8_t is not so clever. Pass the flags asClaudio Jeker
u_int16_t so that "bgpctl show rib 4/8 all" works again.
2005-06-25name2id prototypesHenning Brauer
2005-06-24Do not automaticaly announce routes that have RTF_DYNAMIC set. These routesClaudio Jeker
are e.g. created by the PMTU code and are removed after some time. OK henning@
2005-06-13route label support, kroute part and ID allocator as well as the internalHenning Brauer
interface changes. support in the filter language and rde to come. claudio ok
2005-06-09Change the "network connected|static" statements to "network inet|inet6Claudio Jeker
connected|static" so that it is possible to distinguish between IPv4 and IPv6 addresses. "network connected|static" is considered deprecated but will be supported as an alias for "network inet connected|static" for some time (one release) to simplify upgrades. This also solve a nasty crash when using "network connected". OK henning@
2005-05-27kroute6 support, at least partially. Get it in so that Henning can clean itClaudio Jeker
up more. OK henning@
2005-04-28Support for "network connected" and "network static" -- announce allClaudio Jeker
directly connected respectively all static routes. The list is auto- matically adjusted as soon as a route changes. OK henning@
2005-04-26unify shared code a bit again to make future syncs easierHenning Brauer
From: Alexander von Gernler <grunk@pestilenz.org>
2005-04-12Introduce a per prefix weight. The weight is used to tip prefixes with equalClaudio Jeker
long AS pathes in one or the other direction. It weights a prefix at a very late stage in the decision process. This is a nice bgpd feature to traffic engineer networks where most AS pathes are equally long. OK henning@
2005-03-28ewps, this was not supposed to creep inHenning Brauer
2005-03-28free rules_l if the initial config file parse failsHenning Brauer