Up to [local] / src / usr.sbin / bgpd
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.117 / (download) - annotate - [select for diffs], Wed May 22 08:41:14 2024 UTC (2 weeks, 5 days ago) by claudio
Branch: MAIN
CVS Tags: HEAD
Changes since 1.116: +2 -2 lines
Diff to previous 1.116 (colored)
Convert bgpid, remote_bgpid and clusterid to host byte order. Before the RDE used host byte order for remote_bgpid but all the other code used network byte order. The reason for that was that bgpid was initially an IPv4 address but since RFC 6286 in 2011 this is much more relaxed and so it makes more sense to just treat them as numbers and so host byte order. OK tb@
Revision 1.116 / (download) - annotate - [select for diffs], Fri Jul 14 10:30:53 2023 UTC (10 months, 3 weeks ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4
Changes since 1.115: +276 -257 lines
Diff to previous 1.115 (colored)
Cleanup mrt message handling. Remove the DUMP_XYZ() macros and replace them with direct calls to for example ibuf_add_n16(). Further cleanup the error handling and use goto fail in most places. Remove many of the error messages and combine all the possible ibuf errors in one place. For this remove most warnings from internal functions (also mark all internal helper functions with static to make that more obvious). There are still some cases where an error will result in to warnings but those errors are unreachable in normal operations. OK tb@
Revision 1.115 / (download) - annotate - [select for diffs], Wed Jul 12 14:45:42 2023 UTC (10 months, 4 weeks ago) by claudio
Branch: MAIN
Changes since 1.114: +19 -21 lines
Diff to previous 1.114 (colored)
Update OpenBGPD to use new ibuf API. This replaces the old way of using a static buffer and a len to build UPDATEs with a pure ibuf solution. The result is much cleaner and a lot of almost duplicate code can be removed because often a version for ibufs and one for this static buffer was implemented (e.g. for mrt or bgpctl). With and OK tb@
Revision 1.114 / (download) - annotate - [select for diffs], Wed Apr 19 09:03:00 2023 UTC (13 months, 3 weeks ago) by claudio
Branch: MAIN
Changes since 1.113: +10 -1 lines
Diff to previous 1.113 (colored)
Add minimal support for flowspec in the table-mp MRT format. In general people should use table-v2 which handles flowspec just fine. OK tb@
Revision 1.113 / (download) - annotate - [select for diffs], Tue Mar 28 15:17:34 2023 UTC (14 months, 1 week ago) by claudio
Branch: MAIN
Changes since 1.112: +8 -12 lines
Diff to previous 1.112 (colored)
Instead of exracting the prefix into a bgpd_addr and passing that to prefix_write() rename prefix_write() to pt_write() and pass a pt_entry to the function. Removes an extra conversion step. OK tb@
Revision 1.112 / (download) - annotate - [select for diffs], Tue Mar 28 09:52:08 2023 UTC (14 months, 2 weeks ago) by claudio
Branch: MAIN
Changes since 1.111: +19 -18 lines
Diff to previous 1.111 (colored)
Refactor mrt_dump_entry_v2() to use a dynamic buffer to hold the prefix. Especially flowspec "prefixes" are variable size and so using a static buffer there is not going to work in the long run. OK tb@
Revision 1.111 / (download) - annotate - [select for diffs], Wed Dec 28 21:30:16 2022 UTC (17 months, 1 week ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE,
OPENBSD_7_3
Changes since 1.110: +4 -4 lines
Diff to previous 1.110 (colored)
spelling fixes; from paul tagliamonte any parts of his diff not taken are noted on tech
Revision 1.110 / (download) - annotate - [select for diffs], Thu Sep 1 13:23:24 2022 UTC (21 months, 1 week ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE,
OPENBSD_7_2
Changes since 1.109: +30 -12 lines
Diff to previous 1.109 (colored)
Switch the rde_peer hashtable and peer list to a single RB tree. Only the RDE used a hashtable for lookups while the session engine switched from a list to RB tree some time ago. Use peer_foreach() in the mrt code instead of passing the peer list as an argument. OK benno@ tb@
Revision 1.109 / (download) - annotate - [select for diffs], Wed Aug 17 15:15:26 2022 UTC (21 months, 3 weeks ago) by claudio
Branch: MAIN
Changes since 1.108: +4 -4 lines
Diff to previous 1.108 (colored)
Convert bzero() to memset(), bcmp() to memcmp() and bcopy() to memcpy(). The memory regions passed to memcpy() can not overlap so no need for memmove(). OK tb@ deraadt@
Revision 1.108 / (download) - annotate - [select for diffs], Thu Jul 28 13:11:48 2022 UTC (22 months, 1 week ago) by deraadt
Branch: MAIN
Changes since 1.107: +2 -2 lines
Diff to previous 1.107 (colored)
whitespace found during a read-thru; ok claudio
Revision 1.107 / (download) - annotate - [select for diffs], Tue Mar 22 10:53:08 2022 UTC (2 years, 2 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.106: +3 -3 lines
Diff to previous 1.106 (colored)
Switch from a LIST to TAILQ for the structure to store prefixes on a rib_entry. Mostly mechanical, this simplifies prefix_insert() and prefix_remove() since the redo queue can now just use TAILQ_INSERT_TAIL(). rde_softreconfig_sync_reeval() needs to use TAILQ_CONCAT() to move the list of prefixes over to the local TAILQ_HEAD to reapply them later. OK tb@
Revision 1.106 / (download) - annotate - [select for diffs], Sun Feb 6 09:51:19 2022 UTC (2 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.105: +45 -45 lines
Diff to previous 1.105 (colored)
Switch from u_intX_t types to stdint.h uintX_t. Mostly mechanical with a few reindents. OK florian@ tb@
Revision 1.105 / (download) - annotate - [select for diffs], Fri Sep 3 07:48:24 2021 UTC (2 years, 9 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE,
OPENBSD_7_0
Changes since 1.104: +255 -64 lines
Diff to previous 1.104 (colored)
Add add-path support in MRT dumps (RFC8050). This works for table-v2 formats and also for the all and update dumps. For the latter the code needs to inspect the UPDATE message to guess if add-path is used in that message or not. Add-path can be enabled per AFI and alters the NLRI encoding without any way to detect. For table dumps we decided to dump RIB_GENERIC entires the same way as gobgp and not use the encoding from the RFC. The RFC specifies that RIB_GENERIC (non-IPv4/v6) entries in a way that is not only different but also against the normal codeflow. Only gobgp seems to implement RIB_GENERIC encoding (neither bird nor frr/quagga do) and so it makes sense to follow their way. OK benno@
Revision 1.104 / (download) - annotate - [select for diffs], Thu Jun 24 10:04:05 2021 UTC (2 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.103: +8 -4 lines
Diff to previous 1.103 (colored)
aspath_deflate() did free the passed in data but since the way aspaths are processed in the Adj-RIB-Out this is no longer needed since the passed in pointer is still referenced and is not allowed to be freed. Adjust the mrt code similar to how up_generate_attr() uses aspath_deflate(). OK sthen@
Revision 1.103 / (download) - annotate - [select for diffs], Thu Jan 9 11:55:25 2020 UTC (4 years, 5 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7
Changes since 1.102: +7 -4 lines
Diff to previous 1.102 (colored)
Convert the lastchange of a prefix from time(NULL) to getmonotime() which uses CLOCK_MONOTONIC. Convert the control messages to return the relative age of the prefix instead of the absolute age. Adjust the mrt dump code to stil dump the route age in seconds since epoch as defined in the RFC. With this all times in bgpd are now based on CLOCK_MONOTONIC. OK denis@
Revision 1.102 / (download) - annotate - [select for diffs], Wed Jan 8 18:01:22 2020 UTC (4 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)
eye burning whitespace
Revision 1.101 / (download) - annotate - [select for diffs], Tue Dec 31 12:02:47 2019 UTC (4 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.100: +5 -4 lines
Diff to previous 1.100 (colored)
In mrt_dump_hdr_rde() use clock_gettime(CLOCK_REALTIME, ) like it is done in mrt_dump_hdr_se(). Table dumps don't need time.tv_nsec like used in the _ET formats like for message and state changes but it keeps to code similar.
Revision 1.100 / (download) - annotate - [select for diffs], Thu Aug 8 20:06:29 2019 UTC (4 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.99: +2 -2 lines
Diff to previous 1.99 (colored)
Use O_CLOEXEC or SOCK_CLOEXEC on every open or socket call. Even though some sockets are open for a short time it does not hurt and it ensures that there is no file descriptor leak. OK deraadt@ bluhm@
Revision 1.99 / (download) - annotate - [select for diffs], Wed Jul 24 08:58:24 2019 UTC (4 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.98: +38 -16 lines
Diff to previous 1.98 (colored)
Cleanup and fix some obvious shortcomings in the mrt dump code. Also implement the missing bits to dump MPLS VPN prefixes in the table-mp case. Missing support noticed by benno@ because of King Bula warning. OK benno@
Revision 1.98 / (download) - annotate - [select for diffs], Wed Jul 17 10:13:26 2019 UTC (4 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.97: +3 -10 lines
Diff to previous 1.97 (colored)
Change the Adj-RIB-Out to a per peer set of RB trees. The way RIB data structures are linked does not scale for the Adj-RIB-Out and so inserts and updates into the Adj-RIB-Out did not scale because of some linear list traversals in hot paths. A synthetic test with 4000 peers announcing one prefix each showed that the initial convergence time dropped from around 1 hout to around 6min. Note: because the Adj-RIB-Out is now per peer the order in which prefixes are dumped in 'bgpctl show rib out' changed. Tested and OK job@, benno@, phessler@
Revision 1.97 / (download) - annotate - [select for diffs], Tue Jun 25 21:33:55 2019 UTC (4 years, 11 months ago) by benno
Branch: MAIN
Changes since 1.96: +2 -2 lines
Diff to previous 1.96 (colored)
ibuf_write() returns -1 on error. ok claudio@
Revision 1.96 / (download) - annotate - [select for diffs], Mon Jun 24 06:39:49 2019 UTC (4 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.95: +16 -8 lines
Diff to previous 1.95 (colored)
mrt dumps lost communities after the community rewrite. Readd them by dumping them explicitly. Tested by and OK benno@
Revision 1.95 / (download) - annotate - [select for diffs], Sat Jun 22 05:44:05 2019 UTC (4 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.94: +12 -12 lines
Diff to previous 1.94 (colored)
Add a direct pointer from struct prefix to struct pt_entry. This changes makes it possible to not use the struct rib_entry pointer which will be used to optimize the Adj-RIB-Out. Also adjust pt_ref() and pt_unref() so that the code can be written a bit more compact. Also prefix_cmp() no longer needs to go via rib_compare() and calls pt_prefix_cmp() directly. OK phessler@
Revision 1.94 / (download) - annotate - [select for diffs], Thu Mar 7 07:42:36 2019 UTC (5 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.93: +2 -4 lines
Diff to previous 1.93 (colored)
Do a better job at cleaning up the config on shutdown. Remove bits that were missed before (e.g. network related objects). This helps to detect memory leaks. Start using new_config() and free_config() in all places where bgpd_config structure are used. This way the struct is properly initialised and cleaned up. Introduce copy_config() to only copy the values into the other struct leaving the pointers as they were. Looks good to benno@
Revision 1.93 / (download) - annotate - [select for diffs], Wed Feb 27 04:31:56 2019 UTC (5 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.92: +13 -19 lines
Diff to previous 1.92 (colored)
Convert the remote and local addresses in struct peer to be bgpd_addrs instead of sockaddr_storage. This again helps protability and simplifies some code. sa2addr now takes an optional pointer to return the port of the sockaddr. OK benno@
Revision 1.92 / (download) - annotate - [select for diffs], Thu Feb 14 13:13:33 2019 UTC (5 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.91: +6 -5 lines
Diff to previous 1.91 (colored)
mrt_timeout should just return -1 when there is no timeout set instead of some strange maximum. The poll loop in bgpd.c already limits the maximum wait time so there is no need to double it. While there switch to using time_t for the calculation. OK phessler@
Revision 1.91 / (download) - annotate - [select for diffs], Thu Feb 14 10:38:04 2019 UTC (5 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.90: +3 -4 lines
Diff to previous 1.90 (colored)
Revert part of last commit, this stuff is unrelated.
Revision 1.90 / (download) - annotate - [select for diffs], Thu Feb 14 10:34:54 2019 UTC (5 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.89: +5 -4 lines
Diff to previous 1.89 (colored)
Use -1 instead of the less portable INFTIM for the poll timeout. Result is the same.
Revision 1.89 / (download) - annotate - [select for diffs], Mon Jan 21 02:07:56 2019 UTC (5 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.88: +8 -1 lines
Diff to previous 1.88 (colored)
Use Adj-RIB-Out to push UPDATE messages to peers instead of having another set of RB trees of prefixes and atribute. Refactor most of the update code which removes some strange buffer handling. By building the output queue directly in the Adj-RIB-Out the top memory usage during startup is greatly reduced which should help busy server. Tested by phessler@ and myself
Revision 1.88 / (download) - annotate - [select for diffs], Sun Dec 30 13:53:07 2018 UTC (5 years, 5 months ago) by denis
Branch: MAIN
Changes since 1.87: +10 -1 lines
Diff to previous 1.87 (colored)
add support for IPv6 VPN routes The kernel bits are missing as of now. With input from claudio@ and kn@ OK claudio@
Revision 1.87 / (download) - annotate - [select for diffs], Wed Oct 24 08:26:37 2018 UTC (5 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.86: +2 -4 lines
Diff to previous 1.86 (colored)
Major refactoring of the RIB handling code. Mainly change how the RIB is walked. rib_dump_r() is now an internal function and instead the code gets an additional callback for throttling the rib_dump code. This removes a lot of similar code used to make sure the RDE is not walking to fast and replaces it with simpler callbacks. The other big change is the removal of struct rib pointers in other data structures. The rib pointers are not stable because of a realloc() call happening when extending the array so instead use the RIB ID as a reference. Tested and OK denis@ and benno@
Revision 1.86 / (download) - annotate - [select for diffs], Tue Jul 24 10:10:58 2018 UTC (5 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.85: +4 -4 lines
Diff to previous 1.85 (colored)
Use prefix_nexthop() to access the nexthop instead of dereferencing the field in asp directly. This is a step to move the prefix from rde_aspath to struct prefix. OK benno@
Revision 1.85 / (download) - annotate - [select for diffs], Tue Jul 17 07:02:11 2018 UTC (5 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.84: +13 -11 lines
Diff to previous 1.84 (colored)
Switch to MSG_PROTOCOL_BGP4MP_ET formats for update and state mrt messages. The _ET format adds an additional microsecond time field which makes those message dumps more informative. The various table dumps are not modified since there the time especially between entries plays a secondary role. OK benno@
Revision 1.84 / (download) - annotate - [select for diffs], Mon Feb 5 03:55:54 2018 UTC (6 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3
Changes since 1.83: +31 -25 lines
Diff to previous 1.83 (colored)
Change struct prefix a bit. Make the aspath pointer opaque and remove the direct pointer to the pt_prefix struct. To getter functions prefix_aspath() and prefix_peer() added to make access of the opaque pointers possible. Looks good henning@ and benno@
Revision 1.83 / (download) - annotate - [select for diffs], Sat May 27 10:55:45 2017 UTC (7 years ago) by phessler
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE,
OPENBSD_6_2
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (colored)
this expects 2byte ASN, so use that, instead of an asn that may or may not fit noticed by and OK claudio@
Revision 1.82 / (download) - annotate - [select for diffs], Tue Jan 24 04:22:42 2017 UTC (7 years, 4 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.81: +2 -1 lines
Diff to previous 1.81 (colored)
sync log.c from relayd et al to bgpd. there is still a little difference regarding handling of the verbosity value that will be handled later. ok claudio@ florian@
Revision 1.81 / (download) - annotate - [select for diffs], Wed Dec 30 12:06:56 2015 UTC (8 years, 5 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0,
OPENBSD_5_9_BASE,
OPENBSD_5_9
Changes since 1.80: +5 -9 lines
Diff to previous 1.80 (colored)
now that ibuf_free() checks for null, we can remove the check here. ok mmcc@ millert@ tb@ claudio@
Revision 1.80 / (download) - annotate - [select for diffs], Sat Dec 5 18:28:04 2015 UTC (8 years, 6 months ago) by benno
Branch: MAIN
Changes since 1.79: +11 -11 lines
Diff to previous 1.79 (colored)
cleanup some log messages with wrong function names etc. ok henning,claudio
Revision 1.79 / (download) - annotate - [select for diffs], Tue Oct 27 18:19:33 2015 UTC (8 years, 7 months ago) by mmcc
Branch: MAIN
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored)
calloc -> malloc when the memory is immediately overwritten with memcpy. ok claudio@
Revision 1.78 / (download) - annotate - [select for diffs], Thu Aug 20 22:39:29 2015 UTC (8 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.77: +2 -3 lines
Diff to previous 1.77 (colored)
stdlib.h is in scope; do not cast malloc/calloc/realloc* ok millert krw
Revision 1.77 / (download) - annotate - [select for diffs], Sat Apr 19 15:43:17 2014 UTC (10 years, 1 month ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE,
OPENBSD_5_8,
OPENBSD_5_7_BASE,
OPENBSD_5_7,
OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.76: +4 -2 lines
Diff to previous 1.76 (colored)
Try to be clear why struct mrt_config nodes are allocated and assigned to struct mrt pointers. I may need to rethink this later but lets hope this does not confuse more people and analyzers.
Revision 1.76 / (download) - annotate - [select for diffs], Wed Nov 13 20:41:01 2013 UTC (10 years, 6 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.75: +2 -2 lines
Diff to previous 1.75 (colored)
from claudio "Let msgbuf_write return -1 with errno EAGAIN. The users then must check if this was the case and readd the event or poll again. The current handling in the imsg code is wrong for sure." ok gilles, benno
Revision 1.75 / (download) - annotate - [select for diffs], Thu May 30 20:29:27 2013 UTC (11 years ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.74: +16 -9 lines
Diff to previous 1.74 (colored)
When removing "dump (all|updates)" from bgpd.conf and reloading, tell the session engine to actually stop logging. Found the hard way by benno@. with & ok benno@ input & ok claudio@
Revision 1.74 / (download) - annotate - [select for diffs], Mon May 20 11:25:02 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.73: +3 -2 lines
Diff to previous 1.73 (colored)
Call pt_getaddr() a bit earlier so that addr.aid is available when first accessed. Found by magic clang skill of blambert@
Revision 1.73 / (download) - annotate - [select for diffs], Thu Nov 15 18:06:36 2012 UTC (11 years, 6 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3
Changes since 1.72: +21 -21 lines
Diff to previous 1.72 (colored)
buf_* -> ibuf_* in various log entries to reflect correct function names. ok claudio@
Revision 1.72 / (download) - annotate - [select for diffs], Sun Nov 6 10:29:05 2011 UTC (12 years, 7 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE,
OPENBSD_5_2,
OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.71: +2 -1 lines
Diff to previous 1.71 (colored)
Add a #include that's currently picked up via another header that's violating namespace rules ok claudio@
Revision 1.71 / (download) - annotate - [select for diffs], Sat Sep 17 16:29:44 2011 UTC (12 years, 8 months ago) by claudio
Branch: MAIN
Changes since 1.70: +268 -41 lines
Diff to previous 1.70 (colored)
Implement new mrt table dump format as specified in draft-ietf-grow-mrt. Tested with IP and IPv6 sessions and against the libbgpdump parser. OK henning@
Revision 1.70 / (download) - annotate - [select for diffs], Thu Sep 2 14:03:21 2010 UTC (13 years, 9 months ago) by sobrado
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE,
OPENBSD_5_0,
OPENBSD_4_9_BASE,
OPENBSD_4_9
Changes since 1.69: +2 -2 lines
Diff to previous 1.69 (colored)
remove trailing spaces and tabs from source code; no binary changes (verified by both sthen@ and me). ok sthen@; "just commit it" claudio@
Revision 1.69 / (download) - annotate - [select for diffs], Fri Jun 4 10:13:00 2010 UTC (14 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.68: +64 -15 lines
Diff to previous 1.68 (colored)
It is actually possible to dump IPv6 tables with "dump table" and not "dump table-mp" but this is only possible if the session and the prefixes are from the same address family. Evil little hackery (especially the IPv6 nexthop encoding) but seems to work according to libbgpdump.
Revision 1.68 / (download) - annotate - [select for diffs], Wed May 26 13:56:07 2010 UTC (14 years ago) by nicm
Branch: MAIN
Changes since 1.67: +56 -56 lines
Diff to previous 1.67 (colored)
Rename some imsg bits to make namespace collisions less likely buf to ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE. ok henning gilles claudio jacekm deraadt
Revision 1.67 / (download) - annotate - [select for diffs], Thu Apr 22 08:21:18 2010 UTC (14 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.66: +11 -3 lines
Diff to previous 1.66 (colored)
Depending on capa.neg.as4byte (bgp session is using 4-byte AS number extension) we need to switch between _AS4 and non _AS4 types. The non _AS4 mrt types are totaly confused by 4-byte AS_PATH attributes since they expect 2-byte ones (and vice versa). Problem found and fix tested by Xiaoliang Zhao (xzhao at cernet edu cn).
Revision 1.66 / (download) - annotate - [select for diffs], Tue Dec 1 14:28:05 2009 UTC (14 years, 6 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.65: +15 -13 lines
Diff to previous 1.65 (colored)
Use an artificial address family id in struct bgpd_addr and almost everywhere else. Adds conversion functions to map AFI/SAFI and the Unix AF_ values from and into AID used in bgpd. This is needed to support things like MPLS VPN and other upcomming changes that need to play a lot with AFI/SAFI pairs. Mostly mechanical change, henning@ has no particular issues with this. Must go in so that I can continue working.
Revision 1.65 / (download) - annotate - [select for diffs], Mon Oct 26 09:27:58 2009 UTC (14 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.64: +3 -2 lines
Diff to previous 1.64 (colored)
Better error handling when doing mrt dumps (e.g. when there is no more space on the disk). Before the SE spinned and the RDE may even crash in these events. Found by Elisa Jasinska. OK henning@
Revision 1.64 / (download) - annotate - [select for diffs], Sun Jul 12 15:36:41 2009 UTC (14 years, 11 months ago) by jsg
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)
Remove a semicolon at the end of an if statement so the test if a buffer isn't NULL before freeing has effect. This was harmless as it is in a failure case and free(NULL) is valid in userland.
Revision 1.63 / (download) - annotate - [select for diffs], Mon Jun 29 12:22:16 2009 UTC (14 years, 11 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6
Changes since 1.62: +12 -12 lines
Diff to previous 1.62 (colored)
Unfuck mrt table dumps and plug a memory leak while there.
Revision 1.62 / (download) - annotate - [select for diffs], Fri Jun 5 17:36:49 2009 UTC (15 years ago) by claudio
Branch: MAIN
Changes since 1.61: +11 -11 lines
Diff to previous 1.61 (colored)
Change the way we do mrt dumps in the rde (from the retarded only one dump possible to as many as you like). The mrt dumps are now done with the same tree walking code as the control messages. Makes the RDE respond a bit faster and use less memory while dumping.
Revision 1.61 / (download) - annotate - [select for diffs], Thu Jun 4 22:08:19 2009 UTC (15 years ago) by claudio
Branch: MAIN
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored)
Make mrt understand alternate RIB plus remove some other static rib references. There is still a problem with the mrt dumps because we only allow one in the RDE. This needs some additional work.
Revision 1.60 / (download) - annotate - [select for diffs], Sun May 17 12:25:15 2009 UTC (15 years ago) by claudio
Branch: MAIN
Changes since 1.59: +3 -6 lines
Diff to previous 1.59 (colored)
Rework most of the RDE to allow multiple RIBs. This is mostly preparation work by changing the way the RDE DB is built. struct prefix and struct pt_entry are simplified and extended with a rib_entry where the decision tree is run on. From now on a prefix can only reside on one particular RIB which simplifies the code a bit. Currently there are two fixed ribs (adj-rib-in and the local-rib) which needs to be made more dynamic in upcomming commits. This is work in progress, the RDE seems to work for me and sthen@ (no flames comming out of our testrouters but there is still a lot missing) Move into the tree to simplify developement -- henning@
Revision 1.59 / (download) - annotate - [select for diffs], Wed Apr 29 20:04:30 2009 UTC (15 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.58: +14 -17 lines
Diff to previous 1.58 (colored)
de-static some functions. Helps handling the monster change I'm working on.
Revision 1.58 / (download) - annotate - [select for diffs], Thu Mar 19 07:00:06 2009 UTC (15 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.57: +277 -301 lines
Diff to previous 1.57 (colored)
First big chunk of mrt rewrite. Simplifies code hopefully and fixes table dumps that were wrong because of the 4byte AS support. Dumps I took seemed to work so far. "Put it in" henning@
Revision 1.57 / (download) - annotate - [select for diffs], Wed Mar 18 19:45:09 2009 UTC (15 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.56: +4 -3 lines
Diff to previous 1.56 (colored)
Correctly check for MRT_TABLE_DUMP_MP and don't send the config to the SE. Make mrt table-mp dumps actually work. Found on the plane from NRT to ZRH. OK henning@
Revision 1.56 / (download) - annotate - [select for diffs], Fri Mar 13 06:25:04 2009 UTC (15 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.55: +6 -15 lines
Diff to previous 1.55 (colored)
Next step in mrt cleanup. Switch buf_write to a smarter version of itself. Doing more the stuff msgbuf_write does and switch the only user -- mrt -- over to use this simpler way of writing out stuff.
Revision 1.55 / (download) - annotate - [select for diffs], Fri Mar 13 05:43:50 2009 UTC (15 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.54: +17 -24 lines
Diff to previous 1.54 (colored)
Move mrt code over to use the msgbuf way of queuing buffers instead of rolling an own version. More cleanup to come.
Revision 1.54 / (download) - annotate - [select for diffs], Thu Feb 19 21:34:40 2009 UTC (15 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE,
OPENBSD_4_5
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)
Use a bob sized header for IPv6 not the default pedro sized one. Seems like nobody ever tried to dump IPv6 tables. Found while reworking this code.
Revision 1.53 / (download) - annotate - [select for diffs], Mon Apr 23 13:04:24 2007 UTC (17 years, 1 month ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE,
OPENBSD_4_4,
OPENBSD_4_3_BASE,
OPENBSD_4_3,
OPENBSD_4_2_BASE,
OPENBSD_4_2
Changes since 1.52: +8 -8 lines
Diff to previous 1.52 (colored)
Make bgpd 4-byte AS compatible. All internal representations of AS numbers are now 4-byte instead of the old 2-byte numbers. The only exception are communities because they can not be switched. The RDE will inflate and deflate the ASPATH and AGGREGATOR attributes on demand and create the NEW_ASPATH and NEW_AGGREGATOR field whenever needed. Both old and new stile sessions are supported and can be mixed. Currently new stile sessions with the 4-byte AS number capability turned on are only enabled if one of the AS numbers involved is a 4-byte one. This is based on an initial diff by Geoff Huston gih (at) apnic (dot) net Cleanup, testing and bug-fixes by myself (via AS 3.10). Currently mrt table dumps are producing incompatible output this will be fixed afterwards -- this diff is already big enough. "get it in if you think it is ready" henning@
Revision 1.52 / (download) - annotate - [select for diffs], Mon Feb 12 19:15:14 2007 UTC (17 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE,
OPENBSD_4_1
Changes since 1.51: +32 -7 lines
Diff to previous 1.51 (colored)
Switch address and AS fields in mrt dump messages for incoming traffic so that source and destination match the actual traffic flow. Found and initial diff by Adam Chappell (Adam.Chappell at interoute dot com)
Revision 1.51 / (download) - annotate - [select for diffs], Mon Feb 12 13:12:30 2007 UTC (17 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.50: +5 -5 lines
Diff to previous 1.50 (colored)
Fix some log_warn() messages.
Revision 1.50 / (download) - annotate - [select for diffs], Wed Feb 8 14:49:58 2006 UTC (18 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE,
OPENBSD_4_0,
OPENBSD_3_9_BASE,
OPENBSD_3_9
Changes since 1.49: +6 -2 lines
Diff to previous 1.49 (colored)
For now dump only stuff from the local-RIB into mrt table dumps. Issue found by Andre Oppermann.
Revision 1.49 / (download) - annotate - [select for diffs], Thu Jan 5 16:00:07 2006 UTC (18 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.48: +12 -5 lines
Diff to previous 1.48 (colored)
Cache optional BGP attributes (mostly communities) and use a simple pointer plus a ref counter to link the attributes to the path object. Saves +/- 10M on 11 full feeds. Looks good Henning
Revision 1.48 / (download) - annotate - [select for diffs], Tue Nov 29 21:11:07 2005 UTC (18 years, 6 months ago) by claudio
Branch: MAIN
Changes since 1.47: +5 -3 lines
Diff to previous 1.47 (colored)
Add a flags field to struct prefix which will be used shortly. Remove the peer pointer so that the size does not grow. Adding 4 bytes to struct prefix would result in 64MB more memory usage on one of my systems.
Revision 1.47 / (download) - annotate - [select for diffs], Thu Dec 23 16:09:26 2004 UTC (19 years, 5 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE,
OPENBSD_3_8,
OPENBSD_3_7_BASE,
OPENBSD_3_7
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)
KNF
Revision 1.46 / (download) - annotate - [select for diffs], Thu Nov 11 13:06:44 2004 UTC (19 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored)
Store the local v4 and v6 address of a session. For IPv4 sessions the first 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@
Revision 1.45 / (download) - annotate - [select for diffs], Thu Sep 16 17:36:29 2004 UTC (19 years, 8 months ago) by henning
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)
imsg API cleanup: -kill imsg_compose_pid, imsg_compose_fdpass and imsg_create_pid -extend the original imsg_compose/_create API to take pid & fd too -make imsg_compose do imsg_create + imsg_add + imsg_close instead of duplicating the code -adjust all callers to the new API ok claudio
Revision 1.44 / (download) - annotate - [select for diffs], Fri Aug 13 14:03:20 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE,
OPENBSD_3_6
Changes since 1.43: +181 -19 lines
Diff to previous 1.43 (colored)
Fix minor issues with IPv6 dumps and add a function for dumping the RIB table protocol independent. This new dump format is not (yet) supported by the mrtd route_btoa tool. OK henning@
Revision 1.43 / (download) - annotate - [select for diffs], Wed Aug 11 16:48:45 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.42: +27 -19 lines
Diff to previous 1.42 (colored)
mrt dumps for cloned sessions did not work because the wrong address was used. OK henning@
Revision 1.42 / (download) - annotate - [select for diffs], Wed Aug 11 09:37:11 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)
buf_write() returns -1 on error and -2 on connection closed. Treat both as errors for mrt dumps.
Revision 1.41 / (download) - annotate - [select for diffs], Tue Aug 10 13:50:10 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.40: +8 -1 lines
Diff to previous 1.40 (colored)
Always free message buffer on error.
Revision 1.40 / (download) - annotate - [select for diffs], Tue Aug 10 13:46:28 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.39: +35 -7 lines
Diff to previous 1.39 (colored)
Support IPv6 in message and state transition dumps. Table dumps still unsupported. OK henning@
Revision 1.39 / (download) - annotate - [select for diffs], Fri Aug 6 12:04:08 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.38: +17 -9 lines
Diff to previous 1.38 (colored)
Monster diff to get one step closer to IPv6 support. 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
Revision 1.38 / (download) - annotate - [select for diffs], Thu Aug 5 16:26:56 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)
struct prefix has a pointer to the peer so use it everywhere directly instead of the detour via aspath.
Revision 1.37 / (download) - annotate - [select for diffs], Tue Aug 3 14:00:15 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)
Make mrt dumps mrt compliant. I already fixed one of those but this one slipped my attention. Now all bgpd dumps can be read with mrt's route_btoa.
Revision 1.36 / (download) - annotate - [select for diffs], Wed Jul 28 16:00:02 2004 UTC (19 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.35: +2 -28 lines
Diff to previous 1.35 (colored)
The hole dance to close a mrt file after fd passing in the parent is not needed as the fd is closed while beeing passed. looks good henning@
Revision 1.35 / (download) - annotate - [select for diffs], Wed Jul 7 21:18:06 2004 UTC (19 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)
Stupid typo that may cause a lot of pain. Found by Patrick Latifi. Thanks.
Revision 1.34 / (download) - annotate - [select for diffs], Wed Jul 7 21:15:18 2004 UTC (19 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)
Bad interpretation of the oh so well documented mrt spec. Found by Stefan Wahl.
Revision 1.33 / (download) - annotate - [select for diffs], Sat Jul 3 17:19:59 2004 UTC (19 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.32: +171 -337 lines
Diff to previous 1.32 (colored)
Switch mrt dumping to fd passing. This gives some speed up when extensive dumping is done. Acctually mrt dumps were broken because of the fd passing. The nice side effect is a much cleaner code, especially in the parent process. OK henning@
Revision 1.32 / (download) - annotate - [select for diffs], Tue Jun 22 20:28:58 2004 UTC (19 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.31: +4 -2 lines
Diff to previous 1.31 (colored)
Make the RDE IPv6 ready missing is the message handling. The internal prefix tree changed form a hash table to a per AF RB tree. OK henning@ some ideas are from Brent Graveland.
Revision 1.31 / (download) - annotate - [select for diffs], Sun Jun 20 18:35:12 2004 UTC (19 years, 11 months ago) by henning
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored)
at least somewhat consistently name the TAILQ_ENTRYs... this confused me more than once
Revision 1.30 / (download) - annotate - [select for diffs], Thu Apr 29 19:56:04 2004 UTC (20 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.29: +9 -9 lines
Diff to previous 1.29 (colored)
sock -> fd; ok henning
Revision 1.29 / (download) - annotate - [select for diffs], Wed Apr 28 01:13:36 2004 UTC (20 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)
spacing
Revision 1.28 / (download) - annotate - [select for diffs], Fri Feb 27 20:53:56 2004 UTC (20 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE,
OPENBSD_3_5
Changes since 1.27: +3 -2 lines
Diff to previous 1.27 (colored)
remove unneded peer pointer in struct prefix and change a in_addr_t to struct in_addr. OK henning@
Revision 1.27 / (download) - annotate - [select for diffs], Wed Feb 25 19:48:18 2004 UTC (20 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.26: +44 -96 lines
Diff to previous 1.26 (colored)
Rewrite some parts of the mrt dump handling. It is no longer possible to dump the filtered updates but therefore it is now possible to dump per neighbor and also to dump the outgoing messages. OK henning@
Revision 1.26 / (download) - annotate - [select for diffs], Thu Feb 19 13:54:58 2004 UTC (20 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored)
Make the code more portable. Add some missing header files and make the use of the queue(3) makros more portable. OK henning@ some time ago.
Revision 1.25 / (download) - annotate - [select for diffs], Mon Feb 2 21:29:50 2004 UTC (20 years, 4 months ago) by henning
Branch: MAIN
Changes since 1.24: +5 -5 lines
Diff to previous 1.24 (colored)
* use macro expansion instead of hardcoding 'buf'. From: Patrick Latifi <pat@eyeo.org>, claudio ok
Revision 1.24 / (download) - annotate - [select for diffs], Tue Jan 27 16:49:53 2004 UTC (20 years, 4 months ago) by henning
Branch: MAIN
Changes since 1.23: +6 -6 lines
Diff to previous 1.23 (colored)
use a struct bgpd_addr instead of sockaddr_in for peer_config->local_addr and ->remote_addr for easier multiprotocol support ok claudio@
Revision 1.23 / (download) - annotate - [select for diffs], Thu Jan 22 20:34:56 2004 UTC (20 years, 4 months ago) by henning
Branch: MAIN
Changes since 1.22: +27 -27 lines
Diff to previous 1.22 (colored)
use log_warnx and log_info. reclassify a few messages in the process and fix a few messages. ok claudio@
Revision 1.22 / (download) - annotate - [select for diffs], Sun Jan 11 21:47:20 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)
Move all struct in_addr to either struct bgpd_addr or in_addr_t whichever is more appropriate. The rde uses now in most cases struct bgpd_addr. OK henning@
Revision 1.21 / (download) - annotate - [select for diffs], Sun Jan 11 01:00:07 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.20: +13 -15 lines
Diff to previous 1.20 (colored)
The buffer changes produced some fallout in the mrt code. Wait until all data has been written out before closing the file and fix some obvious misstakes. OK henning@
Revision 1.20 / (download) - annotate - [select for diffs], Sat Jan 10 16:20:29 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.19: +84 -8 lines
Diff to previous 1.19 (colored)
RDE update generation. First we queue all updates and withdraws on a per peer basis. A queue runner will dequeue and package those messages to valid bgp UPDATE messages and send them to the SE. Not yet done is per peer type attribute handling (like aspath prepends and nexthop modifications) and the queue runner could be a tad smarter. All in all this gives us a good starting point for the missing parts. OK henning@
Revision 1.19 / (download) - annotate - [select for diffs], Wed Jan 7 12:34:23 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)
Duh. Fixing stupid braino. OK henning@
Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 6 21:48:07 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.17: +15 -2 lines
Diff to previous 1.17 (colored)
Free buf on error and correct of by one in strlcpy. From Patrick Latifi <pat at eyeo.org> OK henning@
Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 6 10:51:14 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)
2004 OK henning@
Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 6 10:42:50 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.15: +31 -4 lines
Diff to previous 1.15 (colored)
Fix reopening of dump files. OK henning@
Revision 1.15 / (download) - annotate - [select for diffs], Mon Jan 5 22:57:58 2004 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.14: +399 -194 lines
Diff to previous 1.14 (colored)
Big overhaul of the mrt code. Dumping of incomming bgp messages is now possible and dumping the (not yet) filtered updates works too. Per neighbor dumps are still missing. OK henning@
Revision 1.14 / (download) - annotate - [select for diffs], Thu Jan 1 21:18:13 2004 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.13: +16 -16 lines
Diff to previous 1.13 (colored)
conf -> mconf causes a conflicht with upcoming changes
Revision 1.13 / (download) - annotate - [select for diffs], Fri Dec 26 18:07:32 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.12: +17 -17 lines
Diff to previous 1.12 (colored)
when this project started and i added the fatal() function, I made it take the error number as parameter instead of accessing errno, because in one place the error number was not in errno but fetched from a socket. now, of course it makes much more sense to just set errno to the error number just fecthed in this one place instead of having hundreds of fatal() calls all transfer the errno round and round and round... fix this, and also provide a fatalx, which does not care for errno and doesn't invoke strerror. oh, btw, in the place where we fetch the err # from the socket, we don't call fatal anymore anyway...
Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 26 00:34:01 2003 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.11: +9 -2 lines
Diff to previous 1.11 (colored)
In the mrt state machine one state was forgotten. This caused the parent process to quit it a fatal buf_close error message. Noticed and reported by jakob@ OK henning@
Revision 1.11 / (download) - annotate - [select for diffs], Thu Dec 25 17:35:53 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.10: +1 -2 lines
Diff to previous 1.10 (colored)
free where it was allocated; much easier to verify
Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 24 13:28:02 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)
handle write() returning 0 correctly, adjust the msgbuf API appropriately, and make all callers cope.
Revision 1.9 / (download) - annotate - [select for diffs], Tue Dec 23 19:14:49 2003 UTC (20 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)
spacing
Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 21 23:26:37 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.7: +12 -12 lines
Diff to previous 1.7 (colored)
wrap read & write buffers for imsgs into a struct. finally gives us read buffers per pipe instead of per process, eleminating a possible race. also gets us a real imsg_init() that does all the boring init work
Revision 1.7 / (download) - annotate - [select for diffs], Sun Dec 21 22:16:53 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.6: +36 -44 lines
Diff to previous 1.6 (colored)
overhaul the write buffering code. introduce msgbuf API and bundle all info needed for the write buffers in a struct msgbuf. also switch to a write queue per handled connection (each bgp session, each pipe) instead of one big one. fixes some subtle problems and is overall nicer. ok claudio@
Revision 1.6 / (download) - annotate - [select for diffs], Sun Dec 21 16:11:33 2003 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.5: +11 -8 lines
Diff to previous 1.5 (colored)
yet more from the castathon; most aspath functions where accessing non- aligned memory (u_int16_t) therefor crashed the RDE on my sparc64. All buffer specific functions use now void * instead of u_char * so most cast are now history. Tested on sparc64 and i386. OK henning@
Revision 1.5 / (download) - annotate - [select for diffs], Sat Dec 20 21:43:45 2003 UTC (20 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.4: +5 -5 lines
Diff to previous 1.4 (colored)
knf. OK henning@
Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 20 21:14:55 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.3: +7 -7 lines
Diff to previous 1.3 (colored)
let buf_add take void *data instead of u_char *data and save a zillion evil casts
Revision 1.3 / (download) - annotate - [select for diffs], Sat Dec 20 20:53:30 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.2: +5 -1 lines
Diff to previous 1.2 (colored)
few missing break; in default: cases in switch; one noticed by tedu@
Revision 1.2 / (download) - annotate - [select for diffs], Fri Dec 19 01:15:47 2003 UTC (20 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +3 -2 lines
Diff to previous 1.1 (colored)
knf & 64-bit cleanup; henning ok
Revision 1.1 / (download) - annotate - [select for diffs], Wed Dec 17 11:46:54 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
welcome, bgpd started by me some time ago with moral support from theo, the proceeded up to the point where the session engine worked correctly. claudio jeker joined then and did a lot of work in the RDE. it is not particulary usefull as application right now as parts are still missing but is imported to enable more people to work on it. status: BGP sessions get established fine, OPEN messages and then KEEPALIVEs exchanged etc. session FSM works fine; NOTIFICATIONs are handled fine, and all connection drops etc I provoked get handled fine. Incoming UPDATE messgages are parsed well and the data entered to the RIB, the decision process is not yet there, neither is outgoing UPDATEs or sync to the kernel routing table. not connected to the builds yet.