summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/parse.y
AgeCommit message (Collapse)Author
2004-04-25reserve upper half of the (internal) ID space for cloned neighbors, claudio okHenning Brauer
2004-04-25fix check wether local-address and neighbor are of same address family -Henning Brauer
we have to delay this because the current context might be a group nd not a single neighbor, claudio ok
2004-04-25add "neighbor cloning", allowing you to specify a prefix and prefixlengthHenning Brauer
instead of the neighbor's IP address. WHen a connection comes in matching that mask we clone the neighbor spec. IPv6 match code by itojun, rde feeding by claudio, ok claudio
2004-04-24some rather boring windows talk at cansecwest made me hack initial supportHenning Brauer
for IPv6 transport parts based on a diff from Brent Graveland ok itojun@ claudio@
2004-03-11There is no cnumber token in the parser so don't define a type for it.Claudio Jeker
2004-03-11yes, the keyword table has to be sorted ;-)Henning Brauer
2004-03-11Add basic support for communities. Currently it is only possible to filterClaudio Jeker
on communities, e.g match from any community 24640:* set localpref 666 OK henning@
2004-03-10oupsHenning Brauer
2004-03-10implement framework to announce capabilities in the open messages we send.Henning Brauer
this includes handling "unsupported optional parameter" notifications from the peer and retrying without capability announcement. claudio ok
2004-03-08mem leaks in error pathes, mostly from Patrick LatifiHenning Brauer
2004-03-08typo in format strin (ugh!) and few missing free()s, partitially fromHenning Brauer
Patrick Latifi
2004-03-06plug a memory leak in the lexer.Henning Brauer
the issue is this code fragement from yylex(): . token = lookup(buf); . yylval.v.string = strdup(buf); . if (yylval.v.string == NULL) . fatal("yylex: strdup"); . return (token); lookup() tries to match buf against a list of keywords, and returns the associated token if it has a match, or the token STRING otherwise. STRING is the only token that needs (and free()s) yylval.v.string. however, we assigned memory for it with the strdup in yylex for each and every token. the fix is obviously only setting yylval.v.string when lookup() returns STRING. Patrick Latifi noticed that something was leaking with token handling, analysis and fix by me. ok deraadt@
2004-03-05plug a couple of memory leaks, Patrick LatifiHenning Brauer
2004-03-02KNFHenning Brauer
2004-03-02flesh out the address and prefix parsing, include v6 code, but reject v6Henning Brauer
upwards, claudio ok
2004-03-01make sure AS doesn't exceed upper bound, issue pointed out byHenning Brauer
Brent Graveland <brent@graveland.net>
2004-03-01KNFHenning Brauer
2004-03-01Sync printconfig.c with parse.y. OK henning@Claudio Jeker
2004-03-01Make it possible to diable the decision process. This is a feature only usefulClaudio Jeker
for route-collectors. OK henning@
2004-02-26Implement "enforce neighbor-as yes|no" which is by default on for ebgpClaudio Jeker
neighbors. While doing that check also that the nexthop is valid (not class D or E and not in 127/8 range). Kill some TODO and XXX and rename the british neighbour to neighbor as used everywhere else. OK henning@
2004-02-26No comma at the end of the keywords array. OK henning@Claudio Jeker
2004-02-26Add per netwok definition filter sets. So you can now useClaudio Jeker
network 10.0.0.0/8 set localpref 100 OK henning@
2004-02-25Rewrite some parts of the mrt dump handling. It is no longer possible toClaudio Jeker
dump the filtered updates but therefore it is now possible to dump per neighbor and also to dump the outgoing messages. OK henning@
2004-02-25kill "updates" keyword and use a ordinary string + strcmp at the one placeHenning Brauer
where it's needed, claudio ok
2004-02-24Enhance filters. prefixlen knows now 8-24 and 8><24. It is possible to useClaudio Jeker
prefix 10.0.0.0/8 prefixlen >= 8 and set localpref 100 can be set on a per neighbor basis. OK henning@
2004-02-19Make the code more portable. Add some missing header files and make the useClaudio Jeker
of the queue(3) makros more portable. OK henning@ some time ago.
2004-02-10enforce config file secrecy (correct owner, no rights for group/world)Henning Brauer
help and ok theo
2004-02-09make max_prefix an u_int32_t instead of an u_long and change itsHenning Brauer
meaning as in 0 means no limit insytead of setting it to ULONG_MAX for no limit
2004-02-09move printing the config to where it belongsHenning Brauer
2004-02-08factor out functions to print the configuration (rules only for now)Henning Brauer
will become more and needed by bgpctl too
2004-02-06use a struct bgpd_addr for the address token instead of a in_addr, claudio okHenning Brauer
2004-02-06initial cut at the filtering language.Henning Brauer
structs etc to describe a rule, filter rule list management parser groks filter defs now. claudio ok, discussion & help also jakob theo
2004-02-05allocate curpeer little earlier.Henning Brauer
there's a rather obscure error path where teh later allocation causes trouble, claudio ok
2004-02-05error message tuningHenning Brauer
more power!
2004-02-05introduce group IDs. will be needed for filtering (or rather, ease thingsHenning Brauer
there) just assign them from the neighbor ID pool - fortunately, that is rather simple, we just have to make sure that all members of the group and (later) all filter rules pointing to the group agree on the ID, but it does not need to stay the same across config reloads. ok claudio@
2004-02-03replace the previous hack for the internal peer id allocator (which just usedHenning Brauer
the peer's ip address as u_int32_t) by a real id allocator that tries to keep locality high. claudio ok
2004-02-03defer free()ing the previous peer list until after parsing the config fileHenning Brauer
so in the parser we can access it. will be needed soon.
2004-02-01Set sane default announce types according to the peer type. For IBGP useClaudio Jeker
announce all and for EBGP use announce self. OK henning@
2004-01-28properly whine when password is too long instead of silently truncatingHenning Brauer
2004-01-28implementHenning Brauer
tcp md5sig password so that the key can be given in ascii, what unfortunately limits the key space (cisco/juniper compat...) we keep the ability to specify the key in hex whithout these limits. help & ok markus
2004-01-27use a struct bgpd_addr instead of sockaddr_in for peer_config->local_addr andHenning Brauer
->remote_addr for easier multiprotocol support ok claudio@
2004-01-26rename "tcp signature" to "tcp md5sig" - the name is misleading, wetherHenning Brauer
ietf wants to call it so or not prodded by theo
2004-01-26first cut at tcpmd5 setup seupport from within bgpd. works so far.Henning Brauer
with help from hshoexer@ and markus@ ok claudio@ hshoexer@ markus@
2004-01-24eek, no, ERROR is of course not unusedHenning Brauer
2004-01-24Remove unused terminals.Ryan Thomas McBride
ok henning@
2004-01-22provide a log_debug and use it in rde.c.Henning Brauer
with this, logit() can be a private function. we don't need to include syslog.h in bgpd.h any more; log.c and parse.y who need it include it directly now.
2004-01-17Make it possible to announce own networks. In the RDE these prefixes areClaudio Jeker
attached to a pseudo peer and inserted like all other prefixes into the RIB. OK henning@
2004-01-17KNFHenning Brauer
2004-01-13Implement a max-prefix and a announce none | self | all neighbor statement.Claudio Jeker
The first limits the number of sent prefixes per peer the latter controls which prefix we do annouce to the neighbor. Another looks good from henning@
2004-01-06small bug that was not so easy to fix: we did not allow empty lines (orHenning Brauer
comment-only lines) in the middle of neighbor/group blocks. as first or last line in thise blocks they were accepted, but not in between. ok deraadt@