summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/parse.y
AgeCommit message (Collapse)Author
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@
2004-08-24don't do the pftable_exists() check if we are running -n, needs rootHenning Brauer
2004-08-24correctly inherit conf->opts from xconf->opts in parse_config(),Henning Brauer
foudn by claudio
2004-08-24back out rev. 1.136. I commited that unintentionally and it does not workClaudio Jeker
without other nastier changes in parse.y.
2004-08-20Grrr. copy paste error. Dump MED and not local-pref. OK henning@Claudio Jeker
2004-08-20foobar-AS -> foobar-as as already done in some places. mIXeD cASe keywordsClaudio Jeker
are not fluffy. OK henning@
2004-08-17Merge set constructs in neighbor statements. This fixes a common problem:Claudio Jeker
previous sets were cleared by the last one. OK henning@
2004-08-13Fix minor issues with IPv6 dumps and add a function for dumping the RIB tableClaudio Jeker
protocol independent. This new dump format is not (yet) supported by the mrtd route_btoa tool. OK henning@
2004-08-10switch nexthop in struct filter_set form struct in_addr to struct bgpd_addrClaudio Jeker
OK henning@
2004-08-05tab at EOLClaudio Jeker
2004-08-03deny hilarious prepends. OK henning@Claudio Jeker
2004-08-02Fix a possible mem leak and add a missing yyerror(). OK henning@Claudio Jeker
2004-07-30Add new announce type "default-route" which will only announce the defaultClaudio Jeker
route to the specified neighbor. Idea and OK henning@
2004-07-28allow "set metric" as synonym for "set med", from discussion with & ok claudioHenning Brauer
2004-07-28allow prefix lists inside prefix listsHenning Brauer
2004-07-28allow AS lists inside AS listsHenning Brauer
2004-07-28prevent the filter elements from beeing given more than onceHenning Brauer
2004-07-28add list expansion for AS in filter rulesHenning Brauer
actually, it's list expansion on steroids, this works: deny from any { source-AS { 3320 852 } AS { 4589 174 } }
2004-07-28rework the filter_match production and everything below - fixesHenning Brauer
a couple of bugs