summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/parse.y
AgeCommit message (Collapse)Author
2006-05-26\<char> is <char> except for \<newline> -- no exceptions. much like howTheo de Raadt
other things work. ok henning
2006-04-26Remove filterset_names from bgpd.h and replace it with a function becauseClaudio Jeker
the table was already out of sync now. OK henning@
2006-04-18cannot see the string self in the ANNOUNCE STRING prod any more sinceHenning Brauer
self is a token now
2006-04-18Fix "announce self" that got broken by "nexthop self". Found by Thomas Bader.Claudio Jeker
OK henning@
2006-04-04add "set nexthop self", force nexthop to be set to own address even with IBGPHenning Brauer
requested & tested Falk Brockerhoff <fb@smartterra.de>, and tony sarendal tested this too. claudio ok
2006-03-22Change the way bgpd selects nexthops. Up until now every route was consideredClaudio Jeker
when calculating the nexthop. Now only non BGP routes and not the default route are used unless forced with the new config options nexthop qualify via bgp nexthop qualify via default This change is required for complex setups e.g. where an additional IGP is running. OK henning@
2006-03-07Fix a bug reported by Xavier Beaudouin. On config reloads set parametersClaudio Jeker
inside group blocks were reset to default values. The problem was that group ids changed on reload as soon as a new peer was added to one group. Make sure that group ids remain the same over reloads a similar thing is already done for peer ids. ok henning@
2006-03-04Typos grab bag of the month, eyeballed by jmc@Miod Vallat
2006-02-10Make it possible to turn suftreconfig in/out on or off. Default is on forClaudio Jeker
both directions. Manpage update follows. OK henning@
2006-02-09Implement "set community delete 65001:*" and friends. This will removeClaudio Jeker
communities from the path attributes. Useful to make sure that the ones you set later are set by a (evil) peer. OK henning@
2006-02-02Implement new special community "neighbor-as". neighbor-as is expanded onClaudio Jeker
the fly to the remote AS of the current neighbor. This can be used to simplify rulesets in a dramatic way -- going from a script based nightmare down to a handfull rules. jajajaja henning@
2006-01-07Add COMMUNITY_NO_PEER to the list of known wellknown communities else itClaudio Jeker
is not possible to use NO_PEER as community in the config.
2005-11-29superfluous ; OK henning@Claudio Jeker
2005-11-01Sort filter_set with equal type as well. This affects communityClaudio Jeker
attributes and set nexthop. Now the full filter set list is sorted.
2005-11-01Relative metrics should be stored in relative and not metric. The oneClaudio Jeker
is singed the other not.
2005-11-01Make sure, that the list of filter_sets is ordered. Makes comparing easier.Claudio Jeker
2005-11-01Switch from the per peer filter set list to a filter-only solution.Claudio Jeker
The default filter_sets are converted into match filter rules that get evaluated first. Simplifies code massively -- mainly the config reload part -- and makes softreconfig out a piece of cake. "get it in" henning@
2005-10-19new keyword "down" in neighbor spec, when givenm, the session is notHenning Brauer
started on bgpd startup but stays in IDLE. requested by claudio
2005-08-09Introduce new route decision tunable "rde med compare (always|strict)".Claudio Jeker
If set to always the med will also be compared between different AS. The default is strict which is the way the RFC specifies it. OK henning@
2005-07-28keywords have to be sorted, and I can't sort properlyHenning Brauer
2005-07-28allow the to be announced SAFIs to be specified per peer, that is part of theHenning Brauer
multiprotocol shitz claudi needs this to proceed with v6 stuff in the RIB, print stuff and manpage later from whatthehack, claudio ok, marcm schnell schnell schnell
2005-07-04New function filterset_cmp() used two compare two struct filter_set forClaudio Jeker
equality. This function is a bit more complicated than a memcmp() because there are types that need to be considered equal e.g. ACTION_SET_MED and ACTION_SET_RELATIVE_MED. Also ACTION_SET_COMMUNITY and ACTION_SET_NEXTHOP need some special care. OK henning@
2005-07-04Switch some parser rules from "string" to "STRING". "string" is to greedyClaudio Jeker
and hides possible typos. e.g. set { rtlabel foo localperf 100 } was a valid syntax but the result was a route label with name "foo localperf 100". OK henning@
2005-07-01Switch filter_sets form SIMPLEQ to TAILQ, needed for upcomming stuff.Claudio Jeker
2005-06-29rtlabel support via filter sets. Just use "set rtlabel foobar" in filtersClaudio Jeker
network and neighbor statements and the routes are labeled accordingly. While doing that fix some mem-leaks by introducing filterset_free() and remove the free on send option of send_filterset(). This took a bit longer because we need to carefully track the rtlabel id refcnts or bad things may happen on reloads. henning@ looks fine
2005-06-09Change the "network connected|static" statements to "network inet|inet6Claudio Jeker
connected|static" so that it is possible to distinguish between IPv4 and IPv6 addresses. "network connected|static" is considered deprecated but will be supported as an alias for "network inet connected|static" for some time (one release) to simplify upgrades. This also solve a nasty crash when using "network connected". OK henning@
2005-05-24Remove unnecessary error check that is already done in parsecommunity().Claudio Jeker
2005-04-28Support for "network connected" and "network static" -- announce allClaudio Jeker
directly connected respectively all static routes. The list is auto- matically adjusted as soon as a route changes. OK henning@
2005-04-17and don't try to free a null set eitherHenning Brauer
2005-04-17fix null pointer deref on filter rules without set partHenning Brauer
problem reported by "Alexey E. Suslikov" <cruel@texnika.com.ua>
2005-04-13filter_set cleanup. Plug some memleaks and fix an obvious bug in theClaudio Jeker
network case. OK henning@
2005-04-12Introduce a per prefix weight. The weight is used to tip prefixes with equalClaudio Jeker
long AS pathes in one or the other direction. It weights a prefix at a very late stage in the decision process. This is a nice bgpd feature to traffic engineer networks where most AS pathes are equally long. OK henning@
2005-04-12Fix some yyerror messages. Ja ja, INT_MAX is to small... OK henning@Claudio Jeker
2005-03-29walk & free network and filter lists after parse errorsHenning Brauer
ok claudio theo
2005-03-28walk & free peer_l after failed config parsing attemptsHenning Brauer
2005-03-23Move the neighbor checking code from merge_config() to neighbor_consistent()Claudio Jeker
where it belongs. OK henning@
2005-03-16don't try to merge the freshly parsed config into the running one ifHenning Brauer
we had parser failures... debugging session with claudio and jason ackley ok claudio norby deraadt
2005-03-14Allow to modify the metrics in a relative way by prepending the number withClaudio Jeker
a '+' or '-'. e.g. set localpref +20. This is another gem from the FOSDEM lying around on my HD gathering dust. OK henning@
2005-03-13s/to many/too many/, from jmcHenning Brauer
2005-03-11Finally commit the transparent-as and nexthop no-modify stuff I wrote on theClaudio Jeker
way to FOSDEM. With transparent-as set to ye bgpd will not prepend his own AS for sent updates. NB the neighbor needs to set "enforce neighbor-as no" or it will not like the received AS paths. With set nexthop no-modify bgpd will change the nexthop as done normaly. OK henning@ man page update with help of jmc@
2004-12-23KNFHenning Brauer
2004-11-23Switch from a single filter_set to a linked list of sets. With this changeClaudio Jeker
it is possible to specify multiple communities. This is also the first step to better bgpd filters. OK henning@
2004-11-19For consistency reasons rename struct as_filter to struct filter_as.Claudio Jeker
OK henning@
2004-11-19Make "set network 127.0.0.1" work and use = instead of |= for theClaudio Jeker
blackhole/reject case as $$ is not zeroed. This caused funny results in merge_filterset(). OK henning@
2004-11-18add an instance of struct capabilities to peer_conf, and inheritHenning Brauer
peer->capa.ann from this
2004-11-11New config statement "rde route-age [evaluate|ignore]". If set to evaluateClaudio Jeker
the best path selection will not only be based on the path attributes but also on the age of the prefix. This is an extension to the RFC. The default is ignore but previously it was implicitly set to evaluate. OK henning@ man page OK jaredy@ jmc@
2004-11-05memleaks in error pathes, again awesome work from Patrick LatifiHenning Brauer
2004-11-04(try to) open the config file earlier, makes the error handling easier inHenning Brauer
case we cannot. in fact there was one missing free(), thus this diff plugs a little memory hole (without real-world relevance I guess). From Patrick Latifi, thanks!
2004-10-19allow neighbor definitions to depend on interface state.Henning Brauer
with this, if a neighbor is configured as dependent on carp0 for example, the neighbor will remain in state IDLE as long as carp0 is not master. once carp0 becomes master the session(s) depending on it immediately go to CONNECT (or ACTIVE, if they're configured passive), reducing failover time. claudio ok, with some input from ryan as well
2004-09-28Add prepend-neighbor feature. Prepend the remote-as n times similar toClaudio Jeker
prepend-self. Only for incomming UPDATEs. OK henning@