summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
AgeCommit message (Collapse)Author
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
2005-03-23ssize_t -> size_t, from ntpd, there from Alexander von GernlerHenning Brauer
2005-03-15grow the receive buffer on the routing socket, pointed out by markus,Henning Brauer
ok markus claudio
2005-03-14Allow to modify the metrics in a relative way by prepending the number withClaudio Jeker
a '+' or '-'. e.g. set localpref +20. This is another gem from the FOSDEM lying around on my HD gathering dust. OK henning@
2005-03-14send a kif structure describing the interface a route relies on alongHenning Brauer
with the "show nexthop" messages, claudio ok
2005-03-11Finally commit the transparent-as and nexthop no-modify stuff I wrote on theClaudio Jeker
way to FOSDEM. With transparent-as set to ye bgpd will not prepend his own AS for sent updates. NB the neighbor needs to set "enforce neighbor-as no" or it will not like the received AS paths. With set nexthop no-modify bgpd will change the nexthop as done normaly. OK henning@ man page update with help of jmc@
2005-02-01switch the buffer size describing vars from ssize_t to size_t and adjustHenning Brauer
the API appropriately. avoid singled-compare warnings by rewriting two expressions. ok claudio
2004-12-23allow "bgpctl neighbor" to take the peer's descr as argument as wellHenning Brauer
as its address so "bgpctl neighbor upstream1 clear" now works and you don't have to remember IPs claudio ok
2004-12-23even more excellent alignment, with mickeyHenning Brauer
2004-12-23sort structs for most optimal alignment, help mickey, claudio okHenning Brauer
2004-11-23Switch from a single filter_set to a linked list of sets. With this changeClaudio Jeker
it is possible to specify multiple communities. This is also the first step to better bgpd filters. OK henning@
2004-11-19For consistency reasons rename struct as_filter to struct filter_as.Claudio Jeker
OK henning@
2004-11-18embed two struct capabilities, one for the capas announced by the peer andHenning Brauer
one for the capas we announced him, into the session_up imsg to the RDE after brainstorming with claudio
2004-11-18add an instance of struct capabilities to peer_conf, and inheritHenning Brauer
peer->capa.ann from this
2004-11-18Subsequent Address Family Indicators (SAFI) in hex and add SAFI_NONEHenning Brauer
2004-11-11New config statement "rde route-age [evaluate|ignore]". If set to evaluateClaudio Jeker
the best path selection will not only be based on the path attributes but also on the age of the prefix. This is an extension to the RFC. The default is ignore but previously it was implicitly set to evaluate. OK henning@ man page OK jaredy@ jmc@
2004-10-19allow neighbor definitions to depend on interface state.Henning Brauer
with this, if a neighbor is configured as dependent on carp0 for example, the neighbor will remain in state IDLE as long as carp0 is not master. once carp0 becomes master the session(s) depending on it immediately go to CONNECT (or ACTIVE, if they're configured passive), reducing failover time. claudio ok, with some input from ryan as well
2004-09-28Add prepend-neighbor feature. Prepend the remote-as n times similar toClaudio Jeker
prepend-self. Only for incomming UPDATEs. OK henning@
2004-09-16imsg type is really an enum imsg_type and not an intHenning Brauer
2004-09-16imsg API cleanup:Henning Brauer
-kill imsg_compose_pid, imsg_compose_fdpass and imsg_create_pid -extend the original imsg_compose/_create API to take pid & fd too -make imsg_compose do imsg_create + imsg_add + imsg_close instead of duplicating the code -adjust all callers to the new API ok claudio
2004-08-20add IMSG_CTL_NEIGHBOR_CLEAR, takes a session down and restarts it,Henning Brauer
claudio ok
2004-08-10switch nexthop in struct filter_set form struct in_addr to struct bgpd_addrClaudio Jeker
OK henning@
2004-08-06Monster diff to get one step closer to IPv6 support.Claudio Jeker
Cleanup path attribute handling. First of all kill struct attr_flags, all those infos are now in struct rde_aspath. Second move attribute parser functions into rde.c, rde_attr.c is shared between bgpd and bgpctl. Third reimplementation of the nexthop handling. Make it IPv6 ready and fix some major bug relating to "set nexthop". henning@ OK if it breaks nothing
2004-08-05rename and move prefix_equal() to prefix_compare() which returns -1, 0, 1Claudio Jeker
similar to memcmp() and all other compare functions in bgpd. OK henning@
2004-07-30Add new announce type "default-route" which will only announce the defaultClaudio Jeker
route to the specified neighbor. Idea and OK henning@
2004-07-27do not define the prefix, prefixlen and community structs used forHenning Brauer
the filters from within struct filter_match but explicit; no functional change
2004-07-05implement "set nexthop blackhole" and "set nexthop reject"Henning Brauer
blackhole/reject routes will be entered to the kernel for matching ones. this is intended to be used with the Cymru Bogon Route Server Project (http://www.cymru.com/BGP/bogon-rs.html) and similar services, claudio ok
2004-07-05fix a few KNF falloutsHenning Brauer
2004-07-03Switch mrt dumping to fd passing. This gives some speed up when extensiveClaudio Jeker
dumping is done. Acctually mrt dumps were broken because of the fd passing. The nice side effect is a much cleaner code, especially in the parent process. OK henning@
2004-06-25provide mask2prefixlen6() and prefixlen2mask6()Henning Brauer
2004-06-23Support rfc 3765 which adds a new well known community NOPEER. OK henning@Claudio Jeker
2004-06-22Make the RDE IPv6 ready missing is the message handling. The internalClaudio Jeker
prefix tree changed form a hash table to a per AF RB tree. OK henning@ some ideas are from Brent Graveland.
2004-06-22introduce kroute6, which will be used to build a seperate v6 tableHenning Brauer
(smashing them into the v4 table would raise the memory requirements far too much), and make kroute_nexthop (where we are not under such memory pressure, you don't have a hundred thousand nexthops) v4/v6. change existing callers to use the v4 part, claudio ok
2004-06-20at least somewhat consistently name the TAILQ_ENTRYs... this confused meHenning Brauer
more than once
2004-06-20implement file descriptor passing in the imsg/msgbuf framework, and useHenning Brauer
it to let the main process to prepare new listening sockets (socket() and bind()) on behalf of the session engine, which of course cannot bind() to ports < 1024 any more once it dropped privileges. with some help from theo, claudio ok
2004-06-06rework bgpd's handling of listening sockets. instead of one for eachHenning Brauer
supported address familiy, keep a tailq of an arbitary number of them. the new struct listen_addr contains the sockaddr and the fd. this fixes quite some nasty behaviour which was a consequence of the previous model. looks right deraadt@, and discussed with claudio
2004-05-21RFC 2796 bgp route reflector support. This is very useful in conjunctionClaudio Jeker
with templates. looks good, go for it henning@
2004-05-21Add support for dynamic announcements. Usefule to annouce temporaryClaudio Jeker
blackhole routes or to make network announcements dependent on a external state (e.g. for carp setups) OK henning@
2004-05-17extend filter language to allow basic setting of COMMUNITIES attribute.Damien Miller
ok claudio@
2004-05-07add a filter option to dump prefixes learned in UPDATEs into a PF table,Damien Miller
intended for building realtime BGP blacklists (e.g. with spamd); ok claudio & henning
2004-05-06we need a seperate field for the md5 key len, can't use strlen, noticedHenning Brauer
by markus some time ago
2004-05-06scale socket buffer sizes (and thus window size) up to up to 64k,Henning Brauer
but only of tcp md5sig or ipsec is in use. excellent idea by ryan some time ago, claudio and theo agree
2004-04-29sock -> fd; ok henningTheo de Raadt
2004-04-28allow ah/esp spec with IKE, markus okHenning Brauer
2004-04-28Enable route refresh in the RDE. Now peer can request route refreshes.Claudio Jeker
OK henning@
2004-04-28spacingHenning Brauer