summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2009-08-08Make imsg_clear close and free any fds in the received fd queue as well asNicholas Marriott
freeing the msgbuf. While here also remove an unnecessary while loop. ok eric pyr
2009-08-06Implement the error handling as proposed in draft-ietf-idr-optional-transitiveClaudio Jeker
for optional transitive attributes. In short if the partial bit is set on an optional transitive attribute but the attribute fails validation ignore the attribute or mark the path as ineligible instead of killing the session with a NOTIFICATION. Tested, input and OK sthen, OK henning
2009-08-03Make announce "self" work like all others (self is a bit special becauseClaudio Jeker
it's a keyword but "self" is not). OK henning@
2009-07-24RECONF_REINIT is a bad initial reconf_action state for templates.Claudio Jeker
getpeerbyip() initializes the full peer and so there is no need to do the work a second time -- especially since there it was already in the wrong state resulting in strange behaviour. OK henning@
2009-07-23make buf_write() behave like msgbuf_write(): send out only theEric Faurot
bytes that were filled, not the whole buffer. ok pyr@ gilles@
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-23knexthop_compare() failed to compare correctly and because of this it wasClaudio Jeker
possible to corrupt the nexthop RB tree. Use the same compare logic used in the kroute compare functions. Nice side effect is a nicely sorted list in bgpctl show next. OK sthen@ 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-07-20On config reload errors free the list of ribs so that following reloadsClaudio Jeker
don't fail because of redefinition conflicts. This problem was reported by some people.
2009-07-20Flag added RIBs as F_RIB_NOFIB | F_RIB_NOEVALUATE in the no-eval case evenClaudio Jeker
though F_RIB_NOEVALUATE implicitly includes F_RIB_NOFIB.
2009-07-12Remove a semicolon at the end of an if statement so theJonathan Gray
test if a buffer isn't NULL before freeing has effect. This was harmless as it is in a failure case and free(NULL) is valid in userland.
2009-06-29Protect the other rde_send_kroute() with a F_RIB_NOFIB check.Claudio Jeker
2009-06-29Doh! Fix logic botch that disconnected the FIB from the Loc-RIB instead ofClaudio Jeker
making sure that other RIBs are not injecting routes into the FIB.
2009-06-29Unfuck mrt table dumps and plug a memory leak while there.Claudio Jeker
2009-06-25Add missing RTM_VERSION checks. Bad me, no cockies.Claudio Jeker
Tested and OK sthen@, OK henning@
2009-06-25incorrect .PATH setting, discovered with nicmTheo de Raadt
2009-06-22Log a warning when "enforce remote-as" is triggered. ok claudio@Stuart Henderson
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.