summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
AgeCommit message (Collapse)Author
2009-07-23Send the used kroute along with the nexthop information. This allows usClaudio Jeker
to show all necessary information in bgpctl show next. OK henning@
2009-07-20Include more info in the bgpctl show nexthop ctl message. Mainly add theClaudio Jeker
gateway used for non-connected routes. This info was missing all the time and often resulted in massive confusion when the nexthop selection choosed a bad nexthop.
2009-06-12Move prefixlen2mask and inet6applymask to util.c so that we can kill theClaudio Jeker
copies in bgpctl.
2009-06-07First attempt at reload support for RIBs. There is some magic that I doClaudio Jeker
not fully understand but at least no flames are comming out of my test box anymore.
2009-06-06Reorder IMSG types to put the "exported" ones further down so they do notClaudio Jeker
change that often anymore.
2009-06-06Get ready for including imsg.h from a lib, when it comes along.Pierre-Yves Ritschard
2009-06-06sync bgpd/bgpctl with the common imsg code, making it lib ready as well.Eric Faurot
ok claudio@ pyr@
2009-06-06Make it possible to select the RIB that a show command should show.Claudio Jeker
2009-06-06Some preliminary filter magic to support multiple RIBs on the filters.Claudio Jeker
It is ugly but does the trick for now. Filters will be rewritten anyway. The rib specifier only makes sense on from rules. e.g. deny rib OMG from any
2009-06-05Make it possible to bind peers to a specified RIB. Now only filters andClaudio Jeker
bgpctl are missing to have full support of multiple RIBs.
2009-06-04Add "rde rib <name>" to the config and allow the rde to use these other RIBs.Claudio Jeker
Still a bit hackish, reload is missing and printconf as well. Looks good h@
2009-05-27add an option to change the "connect-retry" timer which defaults to 120s.Reyk Floeter
this can be used to decrease the failover time in specific carp'ed IBGP setups. ok henning@
2009-05-17Rework most of the RDE to allow multiple RIBs. This is mostly preparationClaudio Jeker
work by changing the way the RDE DB is built. struct prefix and struct pt_entry are simplified and extended with a rib_entry where the decision tree is run on. From now on a prefix can only reside on one particular RIB which simplifies the code a bit. Currently there are two fixed ribs (adj-rib-in and the local-rib) which needs to be made more dynamic in upcomming commits. This is work in progress, the RDE seems to work for me and sthen@ (no flames comming out of our testrouters but there is still a lot missing) Move into the tree to simplify developement -- henning@
2009-05-05fix a couple of comment typosStuart Henderson
2009-04-23allow bgpctl and bgpd.conf to contain 32-bit ASN written in ASPLAINStuart Henderson
format (RFC5396). ok claudio@ henning@
2009-03-26argh, do not reuse the global trans_as flag to be applied to the peerHenning Brauer
specific or we had to widen the peer specific flags without need. defien PERRFLAG_TRANS_AS instead and use that
2009-03-22make transparent-as yes|no settable peer neighbor with the global settingHenning Brauer
acting as default. per-neighbor requested by arnold nipper @ decix, ok claudio
2009-03-18Introduce local_as in the peer config. This allows per peer local AS andClaudio Jeker
simplifies some code because it is possible to get the local AS from the peer struct. Local AS needs more patching to work correctly though. OK henning@
2009-03-13Next step in mrt cleanup. Switch buf_write to a smarter version of itself.Claudio Jeker
Doing more the stuff msgbuf_write does and switch the only user -- mrt -- over to use this simpler way of writing out stuff.
2009-03-13Sync buffer API with the one from ospfd. The dynamic buffers will make otherClaudio Jeker
code much easier to write. OK henning@ some time ago.
2008-12-12Make bgpd route priority aware and while there sync in the basics to correctlyClaudio Jeker
track multipath routes. Code is mostly stolen from similar fixes to ospfd but a bit different as this kroute.c implementation is more complex because of additional task (nexthop verification for example). This change and the similar ospfd change were desperatly needed on larger complex network setups which tended to end up in situation where the kernel had a different oppinion about routing than the daemon. Now the situation should be a lot better. Tested and OK sthen@ gollo@
2008-01-23Add defines for extended communities. OK henning@Claudio Jeker
2007-12-23send timers for bgpctlshow neighbor foo timer in seperate messages afterHenning Brauer
the peer data. makes bgpctl display code independent from timer implementation internals. only running timers are displayed now, stopped ones are skipped.
2007-10-13in all these programs using the same pfctl-derived parse.y, re-unify theTheo de Raadt
yylex implementation and the code which interacts with yylex. this also brings the future potential for include support to all of the parsers. in the future please do not silly modifications to one of these files without checking if you are de-unifying the code. checked by developers in all these areas.
2007-09-11baudrate u_long -> u_int64_tHenning Brauer
2007-05-28allow matching on communities using 0 in the AS part, that is in use.Henning Brauer
that unfortunately means we cannot use 0 for "unset". ok claudio
2007-05-15Graceful restart is no longer a draft so point it to the right RFC 4724.Claudio Jeker
Additionally our as4byte support is based on draft-ietf-idr-as4bytes-13.
2007-04-23Make bgpd 4-byte AS compatible. All internal representations of AS numbersClaudio Jeker
are now 4-byte instead of the old 2-byte numbers. The only exception are communities because they can not be switched. The RDE will inflate and deflate the ASPATH and AGGREGATOR attributes on demand and create the NEW_ASPATH and NEW_AGGREGATOR field whenever needed. Both old and new stile sessions are supported and can be mixed. Currently new stile sessions with the 4-byte AS number capability turned on are only enabled if one of the AS numbers involved is a 4-byte one. This is based on an initial diff by Geoff Huston gih (at) apnic (dot) net Cleanup, testing and bug-fixes by myself (via AS 3.10). Currently mrt table dumps are producing incompatible output this will be fixed afterwards -- this diff is already big enough. "get it in if you think it is ready" henning@
2007-03-28add IMSG_CTL_SHOW_RIB_COMMUNITY, rib by given communityHenning Brauer
mostly from rivo nurges <rix@estpak.ee>, ok claudio
2007-03-16A few more s/2858/4760/ and use RFC <number> everywhere.Claudio Jeker
2007-03-16Update multiprotocol extension code to RFC 4760. This actually removesClaudio Jeker
a few things we actually never realy cared about. OK henning@
2007-03-06allow filtering on peer-as (leftmost AS in path), ok claudioHenning Brauer
2007-01-26Massiv rework of the control imsg flow. Main changes:Claudio Jeker
- dedicated pipe between the SE and the RDE for control messages - restartable RB tree dumps in the RDE - queuing limits both in the SE and RDE The result is a dramatic decrease of memory consumption on operations like bgpctl show rib. Previously all messages where first stored in the RDE then passed to the SE where they got queued in case bgpctl was not fast enough. Now only a small number of messages is generated and passed to the SE and the SE has an additional limit instead of acting like an infinite buffer. Without this the bgpd on bgpd.networx.ch would not survive a single minute. looks good henning@
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@