summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2010-09-02remove trailing spaces and tabs from source code; no binary changesIgor Sobrado
(verified by both sthen@ and me). ok sthen@; "just commit it" claudio@
2010-08-06Correct a problem which could cause the wrong af to be displayed.Jonathan Gray
Found via the clang static analyser. ok henning@ claudio@ deraadt@
2010-08-03fix linecount bug with comments spanning multiple linesHenning Brauer
problem reported with the obvious fix for bgpd by Sebastian Benoit <benoit-lists at fb12.de>, also PR 6432 applied to all the others by yours truly. ok theo isn't it amazing how far this parser (and more) spread?
2010-07-14Fix a mrt fd leak by moving the block which closes finished dumps.Claudio Jeker
The previous location also depended on poll results and in most cases was therefor not entered because finished dumps are not added to the poll array. Problem reported by Peter Haag, OK henning@
2010-07-12Merge duplicate log messages into one log_warn().Alexander Bluhm
ok claudio@
2010-06-28remove -r and -s from usage, these options were dropped on a previousIgor Sobrado
change to bgpd; while here, rewrite usage() in a more usual way. ok jmc@
2010-06-27right way round for macros;Jason McIntyre
2010-06-27Instead of specifying the control sockets on the command line have themClaudio Jeker
in bgpd.conf. This allows to add/modify restricted control sockets on runtime. Feature request by a few people how often forgot to add -r path when restarting bgpd (including myself). NOTE: this removes the -s and -r arguments from bgpd so pay attention when updateing. jajaja sthen@, OK henning@
2010-06-04It is actually possible to dump IPv6 tables with "dump table" and notClaudio Jeker
"dump table-mp" but this is only possible if the session and the prefixes are from the same address family. Evil little hackery (especially the IPv6 nexthop encoding) but seems to work according to libbgpdump.
2010-06-03Instead of doing a poor mans offsetof() implementation change the codeClaudio Jeker
to use an end pointer to compare against. Looks less scary and makes gcc4 happy. OK henning@
2010-05-26Move imsg into libutil and add a man page.Nicholas Marriott
Minor bump for libutil. Previous versions of this diff and man page looked at by various people. "you should just commit" deraadt
2010-05-26Rename some imsg bits to make namespace collisions less likely buf toNicholas Marriott
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE. ok henning gilles claudio jacekm deraadt
2010-05-24now that we can handle >9 args, put "-D name=value" on one line: it's a bitJason McIntyre
more readable, and fixes a spacing bug we had in smtpd.8;
2010-05-19When installing MPLS VPN routes set the RTF_MPLS bit since those routesClaudio Jeker
have MPLS information connected to them and the kernel requires the flag now. OK michele@
2010-05-19Add softreconfig support for peers changing the RIB. Done by first unloadingClaudio Jeker
the old RIB and then via softreconfig in and a special softreconfig out loading the new RIB. Feature requested and testeded by Elisa Jasinska. OK henning@
2010-05-18Be more careful in ktable_update() and ktable_new() and the fib sync flag.Claudio Jeker
Only existing tables should keep their fib sync state, new ones should set the current fib sync flag to the configured one at the end of the config load. Found the hard way by sthen@, OK sthen@
2010-05-17tweak previous;Jason McIntyre
2010-05-17Implement two new filters, max-as-len and max-as-seq. The first is limitingClaudio Jeker
the length of an AS path (matches if the path is longer then the specified lenght) the second matches when a sequence of the same AS number is longer then the specified length). max-as-len is good to protect crappy comercial bgp boxes from other crappy comercial bgp boxes. max-as-seq was a feature request from SwissIX and maybe EuroIX to find and filter prepends. Additinal testing and OK sthen@
2010-05-17Last bits of MPLS VPN support. Hook kernel routing tables and RIB together.Claudio Jeker
This adds a bit of new config to specify the mapping between an rdomain and the BGP MPLS VPN instance, example: rdomain 1 { descr "CUSTOMER1" rd 65003:1 import-target rt 65003:3 export-target rt 65003:1 depend on mpe0 network 192.168.224/24 } The "depend on mpe0" is a but ugly but for now this is the quickest way to figure out which interface bgp should use to insert the MPLS routes. A big side-effect of this diff is that networks are now internally distributed through kroute.c. This needs some kernel changes that will follow hopefully soon. OK henning@
2010-05-04Assuming that a prefixlen 32 is a host route is not clever when IPv6 comesClaudio Jeker
into play. Check the AID and use 32 or 128 based on the address family. Now bgpctl show rib <IPv6 addr> works like in the IPv4 case. Bug reported and fix made during yesterday's Swinog BE#85
2010-05-04Add some documentation about the last change (nexthop verification andClaudio Jeker
extended rde rib syntax). OK sthen
2010-05-03Make it possible to load multiple routing tables at the same time and useClaudio Jeker
those for alternate RIBs. This allows to use "rde rib TESTIT rtable 1". NOTE: nexthop verification has changed for alternate tables. For now nexthop will only be verified against the main routing table (id 0). Because of this "nexthop qualify via bgp" may now compare the nexthops against bgpd routes from a different RIB. Tested by sthen@, OK to move on by henning@
2010-04-28Allow neighbor-as in AS filter statements like:Claudio Jeker
match from any source-as neighbor-as set localpref 1000 OK henning@
2010-04-27imsg.h does not need sys/tree.h.Nicholas Marriott
ok eric
2010-04-26Add some { } for better readability and to make the code look like theClaudio Jeker
other blocks in this function.
2010-04-26Fix some memory leaks on config reload failure and move one particularClaudio Jeker
cleanup loop to parse.y where it belongs. OK henning@
2010-04-22Including bgpd.h in mrt.h is dumb.Claudio Jeker
2010-04-22Depending on capa.neg.as4byte (bgp session is using 4-byte AS numberClaudio Jeker
extension) we need to switch between _AS4 and non _AS4 types. The non _AS4 mrt types are totaly confused by 4-byte AS_PATH attributes since they expect 2-byte ones (and vice versa). Problem found and fix tested by Xiaoliang Zhao (xzhao at cernet edu cn).
2010-04-22Correct the BGP4MP subtypes according to draft-ietf-grow-mrt-11.Claudio Jeker
The _AS4 types where reversed and the local types are missing even though I'm not sure if bgpd will ever support them.
2010-04-20prefix_unlink() must remove the rib entry. Currently this was only doneClaudio Jeker
in prefix_destroy() but there is another caller of prefix_unlink() which missed the rib_remove() resulting in tree corruption and possible crashes. Doing the remove in prefix_unlink() is better since we do the same with the prefix and rib & prefix are linked. Fix some comments to match code and remove double call to pt_empty()/pt_remove(). Found while hacking on something else.
2010-04-16Memory allocated with calloc() is initialized to zero, no need to do thatClaudio Jeker
explicitly.
2010-04-13Instead of passing AF specific struct kroutes over imsgs use a structClaudio Jeker
kroute_full structure that is AF independent and has all information in it. Simplifies the communication between processes and reduces the number of imsg types. This is another step to add FIB support to BGP MPLS VPNs.
2010-04-07Remove XXX comment and just close received fd if calloc() fails.Nicholas Marriott
If this happens the imsg may no longer be usable as there may be queued messages, but this is a) already the case with the code now, and b) would be the case if recvmsg() fails anyway, so we can document that -1 from imsg_read() invalidates the struct imsgbuf. discussed with and ok eric
2010-04-07Call nexthop_delete() a bit later in nexthop_update(). The nh->state needsClaudio Jeker
to be changed before calling nexthop_delete() or the nexthop will not be correclty removed in the unlikly event when all aspathes move to a different nexthop while the lookup happens. sthen@ agrees with the logic.
2010-04-06Switch to a more address family independent nexthop imsg. Instead of passingClaudio Jeker
struct kroute or kroute6 pack the needed info into a struct bgpd_addr. No flames comming out of my and sthen@'s bgpd routers.
2010-03-31network static and network connected have been superseded by network inetClaudio Jeker
static and network inet connected a long time ago. It is time to remove the old compat code.
2010-03-30Hmpf, aid2af() leftover from the time I did the transition that should notClaudio Jeker
be there. network X set nexthop Y failed because of this.
2010-03-29I'm going to need community_ext_conv() outside of rde_attr.c soon, so moveClaudio Jeker
the prototype to rde.h
2010-03-29Since we always reload the config now there is no need to allocate theClaudio Jeker
filter list head. It is only used temporary in reconfigure(). OK henning
2010-03-29We always allocate rib ids dynamicaly so there is no need for allowingClaudio Jeker
fixed id allocation. Makes code simpler. OK henning
2010-03-29Implement a log_rd() function to print the route destinguisher in a niceClaudio Jeker
way. Use it for now in log_addr() to show VPN routes with a prepended RD. OK henning
2010-03-26pt_add() is not allowed to fail, caller expects this behaviour.Claudio Jeker
2010-03-26Be more careful when walking the tree looking for a non-empty element,Claudio Jeker
we may actually hit the end of the tree (at least in theory).
2010-03-05Allow to filter for ext-community attributes. Currently only perfect matchesClaudio Jeker
work but that's already better then nothing. OK sthen@
2010-03-03Compare against correct flag when printing "network inet6 static"Claudio Jeker
2010-03-03Replace enum rib_state with enum reconf_action since their doing the same.Claudio Jeker
NEW is now REINIT, ACTIVE is KEEP and DELETE and NONE stay the same.
2010-03-03Remove superfluous newlineClaudio Jeker
2010-02-26Fix some minor issues. 0 instead of NULL in one comparison. Set theClaudio Jeker
right flags when protecting the IPv6 loopback addr (instead of reassigning the IPv4 ones) and install the IPv4 loopback blocker as 127/8 and not as 127.0.0.1/8. First two found by Hiroki Sato hrs (at) allbsd org and I found the 127/8 issue all by myself.
2010-02-23Fix .Oo .Xo .Oc .Xc mis-nesting by just dropping the .Xo and .Xc which,Ingo Schwarze
in these cases, is useless anyway. Found by and fixing the build with mandoc; still fine with both old and new groff. ok jmc@
2010-02-23Remove some extra ().Claudio Jeker