summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2011-07-04LINK_STATE_IS_UP() cleanup userland part. There is no need to specialClaudio Jeker
case carp(4) interfaces anymore. LINK_STATE_IS_UP() almost always does the right job. OK deraadt@ henning@ This needs a -current kernel or link state may be not reported correctly.
2011-06-23Use a common text explaining how the various configuration parsers usingStuart Henderson
the standard OpenBSD-style parse.y handle continuing lines with backslashes, paying particular attention to how comments are handled (which can cause nasty side-effects if you're not expecting it). Most wording from jmc@, with suggestions from fgsch@, marc@, Richard Toohey, patrick keshishian and Florian Obser, ok jmc@.
2011-05-05ibuf_add returns 0 or -1. adding up the return values in errs and thenHenning Brauer
checking errs > 0 is not going to work... also make errs signed in 2 cases triggered by Milosz Jakubowski <milosz.jakubowski at gmail.com> pointing out a few cases, diff written from scratch to cover all of them. unsigned errs noticed by sthen. ok claudio sthen
2011-05-01On reload the filtersets attached to a network need to be moved to theClaudio Jeker
existing network element. First free the old filterset and then move the new on top of it. This solves the reload issue with changing network statements. OK henning@
2011-05-01Free cname and rcname on exit. Found by Milosz JakubowskiClaudio Jeker
2011-04-30no need to escape |, pointed out by jmc@Stuart Henderson
"it's worth killing, if just to stop it being copied all over the place"
2011-03-07continguous -> contiguousHenning Brauer
From: "Anthony J. Bentley" <anthonyjbentley at gmail dot com>
2011-02-15Use log_as() to print the offending neighbor-as instead of printing itClaudio Jeker
as an int. This way 4-byte ASes should be printed nicely. OK deraadt@ henning@
2011-01-29improve error msg when enforce-neighbor-as is on and the path doesn'tHenning Brauer
start with the neighbor-as. makes finding the offender easier. from Sebastian Benoit <benoit-lists at fb12.de>, claudio agrees
2011-01-27change a logged error from 'enforce remote-as' to the correctStuart Henderson
'enforce neighbor-as'; from Sebastian Benoit on tech@.
2011-01-14plug memleak in err path; from zinovik, ok claudioHenning Brauer
2010-12-31Add missing #includes instead of assuming that some system header pulls inPhilip Guenthe
the needed bits ok deraadt@, millert@
2010-12-23Increase the DATA limit in the RDE to the max value and do the sameClaudio Jeker
for NOFILE in the session engine. OK henning, sthen@
2010-12-09The PF_KEY socket is like the routing socket. It must be polled all theClaudio Jeker
time to consume broadcasted messages or the socket gets full and own messages that are needed are lost. This fixes an infinit loop in pfkey_reply that happens when bgpd tcp md5sum is used on a system that also runs a larger IPsec setup. OK henning, lot of patience, debuging and testing by Thomas Boernert
2010-11-30Do what the comment actually says. Ignore the full attribute not only theClaudio Jeker
header. ATTR_UNDEF is still a bit strange though but at least it will now parse and ignore such a freak attribute correctly.
2010-11-29Deny prefixes that have F_ATTR_PARSE_ERR set by default. Now theyClaudio Jeker
will not leak into the Loc-RIB or other RIBs but act as withdraws. The invalid prefixes would not been selected anyway but it is better to keep them out of all RIBs but the Adj-RIB-In.
2010-11-24fix spelling in an error messageStuart Henderson
2010-11-18Log sent notification messages as well having them in the log mayClaudio Jeker
help to figure out the cause of flapping session faster. OK henning@ sthen@
2010-11-18Accept but ignore (treat as withdraw) updates with AS_CONFED_* pathClaudio Jeker
segments. Bgpd does not support confederations but it is too extreme to close a session because a path contained such elements. OK henning@, sthen@
2010-11-10Make sure that the initial configuration of the child is zeroed outClaudio Jeker
by using calloc(). This fixes an issue where the RDE would start up as route-collector because uninitialized memory made the RDE switch to that mode. OK henning@, sthen@, phessler@
2010-10-29malloc -> calloc for ctl_connHenning Brauer
pt out by cppcheck/jasper, ok sthen claudio
2010-10-24spacing and irrelevant glitches which disrupt lintTheo de Raadt
2010-10-24the subtype should be printed unsigned; ok claudioTheo de Raadt
2010-10-23Reorder the wording where we talk about tagging kernel route table prefixes,Stuart Henderson
following misc@ discussion with Tony Sarendal. ok phessler@
2010-10-22Free attributes that just got allocated beforehands and do not hold anyClaudio Jeker
reference in case attr_optadd() errors out. Found by and diff provided by Igor Zinovik, OK henning@
2010-10-15Add the FSM suberrors specified in draft-ietf-idr-fsm-subcode. ThisClaudio Jeker
should help identifying FSM errors since the state is know known. OK henning@ sthen@
2010-10-15Add a few more wanrings to the UPDATE parser. Mainly to warn whenClaudio Jeker
attributes are ignored or UPDATEs are invalidated and withdrawn. While there use % to check if a attribute is a multiple of X. OK henning@, sthen@
2010-10-13'socket "path" [restricted]' needs quotes around path; make it clearStuart Henderson
in the manual. Help from jmc@.
2010-10-11bgpd needs to see all routing messages so set the ROUTE_TABLEFILTER toClaudio Jeker
RTABLE_ANY. OK henning@
2010-09-30Only 6 elements of mib are used so do allocate 6 not 7.Claudio Jeker
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