summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2009-06-12Move prefixlen2mask and inet6applymask to util.c so that we can kill theClaudio Jeker
copies in bgpctl.
2009-06-08revert this change by eric@:David Gwynne
Make the imsg protocol network-safe. it might be network safe, but half the imsg based daemons on my firewalls dont run anymore.
2009-06-07Change the way fds passed over a socket are retreived on the receiving side.Eric Faurot
Currently the receiver fetches an imsg via imsg_get() and if he expects an fd, he then calls imsg_get_fd() to fetch the next fd queued on the imsgbuf from which the imsg came. This changes hides the fd queueing mechanism to the API user. When closing an imsg with an fd, the message is flagged so that the receiving end knows it must dequeue the fd in imsg_get() and return it with the imsg structure. This way there is no (less) possible screw up from imsg_get_fd() not being called directly after imsg_get() by the user. The retreived imsg is self-contained. ok pyr@, "I like that" henning@
2009-06-07Make the imsg protocol network-safe.Eric Faurot
ok pyr@
2009-06-07Initial documentation for the new stuffClaudio Jeker
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-06change the imsg header fields a bit to prepare for upcoming changes.Eric Faurot
add a flag field, use u_int32_t for pid_t and extend type to 32 bits for padding. ok pyr@
2009-06-06Reorder IMSG types to put the "exported" ones further down so they do notClaudio Jeker
change that often anymore.
2009-06-06Fix bgpctl show rib prefix/len command. Problem reported by Insan Praja.Claudio Jeker
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-06Only the main Loc-RIB should update the FIB for now. So introduce aClaudio Jeker
F_RIB_NOFIB flag and apply it on all RIBs that are not F_RIB_NOEVALUATE.
2009-06-06Only generate updates for peers that are member of the RIB that update isClaudio Jeker
comming from.
2009-06-06Minor cleanup.Claudio Jeker
2009-06-05rtm->rtm_hdrlen conversionChris Cappuccio
ok claudio@, henning@
2009-06-05Don't call the main RIB DEFAULT but Loc-RIB. Makes more sense.Claudio Jeker
2009-06-05Adjust print_config to all the stuff added in the last days.Claudio Jeker
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-05Change the way we do mrt dumps in the rde (from the retarded only one dumpClaudio Jeker
possible to as many as you like). The mrt dumps are now done with the same tree walking code as the control messages. Makes the RDE respond a bit faster and use less memory while dumping.
2009-06-04Make mrt understand alternate RIB plus remove some other static rib references.Claudio Jeker
There is still a problem with the mrt dumps because we only allow one in the RDE. This needs some additional work.
2009-06-04Implement rib_find and add a rib id to struct rde_peer.Claudio Jeker
2009-06-04Export networks to be redistributed into all ribs for now.Claudio Jeker
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-06-04Document that we accept ASPLAIN format 32-bit ASN.Stuart Henderson
2009-06-03Allocate all rib contextes for tree walks and don't use static stack memory.Claudio Jeker
This will make interruptable walks a lot easier.
2009-06-03Initial stab at rib_free() until now unused.Claudio Jeker
2009-06-03Better way to allocate new RIBs.Claudio Jeker
2009-06-03Make prefix_destroy more generic and use it in prefix_remove this is possibleClaudio Jeker
because path_remove was changed to remove the prefixes in a slightly different way.
2009-06-02Make show rib as and show rib community use the same dump code as the otherClaudio Jeker
show rib commands. This makes the output sorted by prefix and not some rather randomly output.
2009-06-02Move the rest of the rib dump functions into rde_rib.c where it belongs.Claudio Jeker
2009-06-01Use only one list to queue the dump contextes on. Use the list in structClaudio Jeker
rib_context instead of the ctl specific rde_dump_ctx to make it more general.
2009-06-01Do not call the upcall twice on some prefixes. Move the upcall back toClaudio Jeker
where it was beforhands.
2009-06-01Holy simplification batman. Use the per rib entry flags to lock entriesClaudio Jeker
when interrupting rib dumps and now we no longer need evil RB magic to find the next entry on restart.
2009-06-01Instead of storing a pointer to the RIB head in the RIB element use thatClaudio Jeker
space for a flags field and the RIB id. In the end bgpd will be able to lock RIB elements and therefore make it possible to interrupt all tree walks.
2009-05-30Only use a single tree for all address families. There is no need for multipleClaudio Jeker
trees and the rib trees are also not split. Looks good henning@
2009-05-27Move update and withdraw code into own functions to simplify the necessaryClaudio Jeker
changes to make multiple RIB functional. Also change the way we account the prefixes per peer (for maxprefix check). Every prefix that was added to any RIB is counted. OK henning@
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-25In dispatch_rtmsg_addr() don't fatal on missing multipath deletes. Not 100%Claudio Jeker
sure why it happens but it is not a fatal condition. A warning should still be logged because it is not good to miss updates.
2009-05-21Make it possible to turn off the decision process per RIB. This is mainlyClaudio Jeker
used for the Adj-Rib-In. Also initialize the Adj-Rib-In correctly and mark it a noevaluate.
2009-05-17F_LOCAL and F_ORIGINAL are gone. The Adj-Rib-In is now a distinct tree.Claudio Jeker
Fix pf table code by checking if the aspath has a pftableid set or not instead of doing the F_LOCAL dance. This works because the in the Adj-Rib-In it is impossible to set pftableid.
2009-05-17Simplify the IMSG_CTL_SHOW_NETWORK case and make it actually work by sendingClaudio Jeker
the imsgs back to the right pid and not some more or less random address.
2009-05-17rib_dump_r needs to check the af of the prefix because there is no rib perClaudio Jeker
address family. In rib_restart fix a possible use after free.
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-11Make bgpctl show network print both AF_INET and AF_INET6 as mentioned in theClaudio Jeker
man page. Problem found by Rod Whitworth. OK sthen@
2009-05-05fix a couple of comment typosStuart Henderson
2009-05-05check that an IMSG_CTL_SHOW_RIB_PREFIX request has a validStuart Henderson
address family before passing it to the RDE. ok henning@ claudio@
2009-04-29de-static some functions. Helps handling the monster change I'm working on.Claudio Jeker
2009-04-26Unused defines from a time long long ago.Claudio Jeker