summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.h
AgeCommit message (Collapse)Author
2005-08-10Pass the correct peer to rde_apply_set(). rde_apply_set() needs to knowClaudio Jeker
the peer where the prefix came from so that prepend-neighbor works. Extend rde_filter() and make sure that the correct peer is passed. Until now most cases resulted in a NULL peer causing a nasty crash that was found by David Ulevitch. OK henning@
2005-07-29Add another piece to the IPv6 puzzle. This time code to generate MP updates.Claudio Jeker
Does not affect IPv4 minimaly tested for IPv6 because we still don't have an IPv6 capable neighbor. henning@ ya
2005-07-01The newly introduced function filterset_free() existed already asClaudio Jeker
rde_free_set(), I just missed it when I was looking for it. Kill rde_free_set() and use the more correct filterset_free() from now on.
2005-07-01Make the pftable filter set use the name2id "cache" like the route labels.Claudio Jeker
This saves 14 bytes per aspath. OK henning@
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-10Introduce attr_optlen() to get the total lenght of an optional attributeClaudio Jeker
plus header. Soon needed.
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-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-23sort structs for most optimal alignment, help mickey, claudio okHenning 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-11Store the local v4 and v6 address of a session. For IPv4 sessions the firstClaudio Jeker
IPv6 address with global scope of the interface used by the session is used. In any case the local endpoint of the session is used for one of the two no matter what scope. OK henning@
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-10Remove no longer needed code. OK henning@Claudio Jeker
2004-09-28gcc-ism. We don't want it, we don't need it.Claudio Jeker
OK henning@ noticed by deraadt@
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-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-12Just ignore RFC2545 and the silly idea of using link local addresses asClaudio Jeker
nexthop. This makes the code a lot simpler. OK henning@
2004-08-10switch nexthop in struct filter_set form struct in_addr to struct bgpd_addrClaudio Jeker
OK henning@
2004-08-10Correctly set the MED in outgoing UPDATEs. OK henning@Claudio Jeker
2004-08-06Monster diff to get one step closer to IPv6 support.Claudio Jeker
Cleanup path attribute handling. First of all kill struct attr_flags, all those infos are now in struct rde_aspath. Second move attribute parser functions into rde.c, rde_attr.c is shared between bgpd and bgpctl. Third reimplementation of the nexthop handling. Make it IPv6 ready and fix some major bug relating to "set nexthop". henning@ OK if it breaks nothing
2004-08-05As usual cleanup on exit. OK henning@Claudio Jeker
2004-08-05Cleanup aspath specific functions and api. Mainly switch to a refcnt basedClaudio Jeker
allocation. This helps to save a bit of RAM. looks good henning@
2004-08-05rename and move prefix_equal() to prefix_compare() which returns -1, 0, 1Claudio Jeker
similar to memcmp() and all other compare functions in bgpd. OK henning@
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-28The default localpreference is 100 and not 0. Found and ok henning@Claudio Jeker
2004-07-13fix some typosJared Yanovich
ok henning otto
2004-07-05implement "set nexthop blackhole" and "set nexthop reject"Henning Brauer
blackhole/reject routes will be entered to the kernel for matching ones. this is intended to be used with the Cymru Bogon Route Server Project (http://www.cymru.com/BGP/bogon-rs.html) and similar services, claudio ok
2004-06-24First step at multiprotocol support, only partially done.Claudio Jeker
OK henning@
2004-06-22Make the RDE IPv6 ready missing is the message handling. The internalClaudio Jeker
prefix tree changed form a hash table to a per AF RB tree. OK henning@ some ideas are from Brent Graveland.
2004-06-20at least somewhat consistently name the TAILQ_ENTRYs... this confused meHenning Brauer
more than once
2004-05-21RFC 2796 bgp route reflector support. This is very useful in conjunctionClaudio Jeker
with templates. looks good, go for it henning@
2004-05-17extend filter language to allow basic setting of COMMUNITIES attribute.Damien Miller
ok claudio@
2004-05-07add a filter option to dump prefixes learned in UPDATEs into a PF table,Damien Miller
intended for building realtime BGP blacklists (e.g. with spamd); ok claudio & henning
2004-04-10move the API_* and SAFI_* defines to where they belongHenning 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-11Shutdown the RDE cleanly on exit. Plug some memleaks. OK henning@Claudio Jeker
2004-03-05Plug some memory leaks in rde. Based on a patch by Patrick Latifi.Claudio Jeker
Added attr_move() so that we can copy the attribute before calling the filter. path_update() will now use the passed attribute so it can't be simply reused. OK henning@
2004-03-01Make it possible to diable the decision process. This is a feature only usefulClaudio Jeker
for route-collectors. OK henning@
2004-02-27remove unneded peer pointer in struct prefix and change a in_addr_t toClaudio Jeker
struct in_addr. OK henning@
2004-02-26show rib infrastructure. At least full dumps and per as dumps. Per prefixClaudio Jeker
dump need some more work. 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-19Add support for basic filters. Nothing optimized and it has some issues butClaudio Jeker
this is a huge step forward. OK henning@
2004-02-18Correctly handle parse errors in aspath and prefixes. Also do input aspathClaudio Jeker
loop detection. OK henning@
2004-02-18Bring the path attribute parsing on big step closer to the RFC.Claudio Jeker
Check that evry attribut is only allowed once and ensure that the mandatory attributes are present. no objections henning@
2004-02-16Basic aspath match function needed for filters and the "show rib" bgpctlClaudio Jeker
command. OK henning@
2004-02-16Add basic functions to print aspath in human readable format. OK henning@Claudio Jeker
2004-02-16Make the path attribute handling more RFC conformant. Also move theClaudio Jeker
parser to rde_attr.c where it belongs. Still missing: better aspath loop detection (should be done afterwards) and some basic error checking for optional attributes. OK henning@
2004-02-09replace a bunch of u_long by u_int32_tHenning Brauer
2004-02-02Somehow I missed this peace in one of my last commits. OK henning@Claudio Jeker
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@