summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
AgeCommit message (Collapse)Author
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-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-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-02flesh out the address and prefix parsing, include v6 code, but reject v6Henning Brauer
upwards, claudio ok
2004-03-02Framework for rib lookups by prefix. 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-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-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-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-16add scope_id for v6 to struct bgpd_addrHenning Brauer
ok itojun, grumbling ok claudio
2004-02-16Extend imsg API so that messages can be composed on the fly. In the RDE itClaudio Jeker
happens often, that imsg consists of multiple objects. OK henning@
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-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-07send filter rules to the RDE on reloads, help & ok claudioHenning 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-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-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-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-28-struct peer_auth to store the SPIs, linked into struct peerHenning Brauer
-add pfkey_auth_establish(), which sets up flows for both directions and stores the SPIs in above struct -add (yet dummy) pfkey_auth_remove() with markus, ok claudio markus
2004-01-28pfkey_setkey: sockaddr -> bgpd_addr; ok claudioMarkus Friedl
2004-01-27log_ntoa is herewith condemned to death by claudio and yours trulyHenning Brauer
2004-01-27move strict kroute from in_addr_t for nexthop and prefix to struct in_addrHenning Brauer
ok claudio
2004-01-27constify log_addr and log_ntoa's returns, reminded by claudioHenning Brauer
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-27use SADB_GETSPI/UPDATE for setting tcpmd5 keys; ok henningMarkus Friedl
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-23provide log_addr, which takes a struct bgpd_addrHenning Brauer
intended to replace log_ntoa in most cases becaus that is IPv4 only by design
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-22make log_peer_* take a struct peer_config instead of the session engineHenning Brauer
specific struct peer, and move their prototypes to bgpd.h to make it available to whole bgpd ok claudio@
2004-01-22provide log_warnx() and log_info()Henning Brauer
2004-01-22s/log_err/log_warn/Henning Brauer
it is like warn(3), nor err(3). so use a less confusing name.
2004-01-22an RTM_IFINFO message can mean a lot. it does not necessarily mean thatHenning Brauer
the status of the interface in terms of our nexthop validation changed; it might be something like a speed change that we don't care about. save the decided state for nexthop verificartion in struct kif, and only walk through the attached (connected) routes & report upwards if the state actually changed.
2004-01-18track interface type and baudrate as wellHenning Brauer
ok claudio@
2004-01-17keep track of interface link state and invalidate connected routes dependingHenning Brauer
on the interface in question if it has no link now, if you pull the network cable all nexthops beeing in a connected network on this interface get invalidated nicely. ok claudio@
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-17keep & track interface names as well, not only indicesHenning Brauer
2004-01-17allow the interfaces as bgpd sees 'em to be queried via imsgsHenning 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-13Better update error handling. Ensure that the session goes down andClaudio Jeker
ignore all queued updates after an error. Looks good henning@
2004-01-11use bgpd_addr in the nexthop tree; change nexthop_add/_remove accordinglyHenning Brauer
ok claudio@
2004-01-11Add to the IMSG_SESSION_UP message the local and remote address of theClaudio Jeker
peer session. This is needed to set the correct nexthop address in outgoing bgp UPDATES. OK henning@
2004-01-11when sending the nexthop status message, include the kroute that makes thatHenning Brauer
nexthop reachable. needed in the RDE for calculating the to-be-announced nexthop. ok claudio@
2004-01-11use struct bgpd_addr for nexthop and gateway in struct kroute_nexthopHenning Brauer
(and thus the nexthop messages between parent and RDE) ok claudio@
2004-01-11new message IMSG_CTL_SHOW_NEXTHOP: request/send lost of BGP nexthops andHenning Brauer
the result of their validity check
2004-01-09for IMSG_CTL_KROUTEs allow matching based on flags,Henning Brauer
add IMGS_CTL_KROUTE_ADDR to match the route for a given address ok claudio@
2004-01-09flag kernel routes whch are not conencted routes as static routes.Henning Brauer
that's what they are, and it makes matching on them easier.