OpenBSD CVS

CVS log for src/usr.sbin/bgpd/Makefile


[BACK] Up to [local] / src / usr.sbin / bgpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 17 08:02:21 2023 UTC (13 months, 2 weeks ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, HEAD
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

Implement a basic API to work with flowspec NLRI.

Flowspec is excessivly flexible and large so there is no way to convert
the flowspec data into a struct bgpd_addr and it is better to keep it in
wireformat and add a few functions to validate and extract information
from the NLRI encoding.
OK tb@

Revision 1.38 / (download) - annotate - [select for diffs], Wed Jan 11 13:53:17 2023 UTC (16 months, 3 weeks ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

Add ASPA validation functions to the RDE.

This implements ASPA validation based on the current draft. Implementing
this showed various weaknesses in the current ASPA draft which I hope to
fix in the near future.

Unlike the algorithm specified in the draft our version validates the
AS_PATH attribute in a single path doing one or two lookups depending on
the sessions BGP role.

The code is not yet hooked up into the RDE (see the NOTYET blocks).
Missing are reload logic, bgpctl integration and the loading of the
merged ASPA set from the rtr process.

OK tb@

Revision 1.37 / (download) - annotate - [select for diffs], Tue Feb 16 08:29:16 2021 UTC (3 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

Add RTR support to OpenBGPD. Add basic support for the protocol.
The RTR client runs in a new process where the protocol handling is done
and when new data is available all sources are merged into one ROA set
which is then loaded into the RDE. The roa-set from the config is also
handled by the new RTR engine.
Tested by and ok job@

Revision 1.36 / (download) - annotate - [select for diffs], Wed Jan 1 07:25:04 2020 UTC (4 years, 5 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

Instead of processing all imsg when reading them store peer specific
messages on a per peer queue. This queue is later processed one at a
time resulting in a fairer processing of work and avoiding big table
dumps to delay processing of other updates.
OK denis@ benno@

Revision 1.35 / (download) - annotate - [select for diffs], Mon Jun 17 11:02:19 2019 UTC (4 years, 11 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Completley rewrite the community matching and handling code. All community
attributes are put into a new data structure when parsing the UPDATE.
The filter code can quickly lookup and modify this data structure.
When creating an UPDATE the data is put back into wire format.
Setups using a lot of communities benefit a lot from this.
Input and OK benno@

Revision 1.34 / (download) - annotate - [select for diffs], Fri Sep 7 10:49:22 2018 UTC (5 years, 8 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.33: +3 -2 lines
Diff to previous 1.33 (colored)

Implement a fast presix-set lookup. This magic trie is able to match a
prefix addr/plen to a prefix-set spec addr/plen prefixlen min - max (a
prefix including prefixlen range). Every addr/plen pair is a node in the
trie and the prefixlen is added as a bitmask to those nodes.
For the lookup the any match is OK, there is no need to do longest or
best prefix matching.
Inspiration for this solution comes from the way bird implements this
which was done by Ondrej Zajicek santiago (at) crfreenet.org
OK benno@

Revision 1.33 / (download) - annotate - [select for diffs], Fri Sep 7 05:43:33 2018 UTC (5 years, 8 months ago) by claudio
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

Implement as-set a fast lookup table to be used instead of long list of
AS numbers in source-as, AS and transit-as filterstatements. These table
use bsearch to quickly verify if an AS is in the set or not.
The filter syntax is not fully set in stone yet.
OK denis@ benno@ and previously OK deraadt@

Revision 1.32 / (download) - annotate - [select for diffs], Mon Aug 21 14:43:33 2017 UTC (6 years, 9 months ago) by phessler
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.31: +1 -2 lines
Diff to previous 1.31 (colored)

undo unintentional commits

Revision 1.31 / (download) - annotate - [select for diffs], Mon Aug 21 14:41:22 2017 UTC (6 years, 9 months ago) by phessler
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

When 'enforce neighbor-as no' is set, don't do a config-time check for the neighbor-as, as it is dynamic.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Sep 2 14:00:29 2016 UTC (7 years, 9 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

work on making log.c similar in all daemons:

move daemon-local functions into new logmsg.c, and reduce
the (mostly whitespace) differences so that log.c's can be diffed easily.

ok claudio@, feedback from henning@, deraadt@, reyk@

Revision 1.29 / (download) - annotate - [select for diffs], Wed May 26 16:44:32 2010 UTC (14 years ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.28: +4 -2 lines
Diff to previous 1.28 (colored)

Move imsg into libutil and add a man page.

Minor bump for libutil.

Previous versions of this diff and man page looked at by various people.

"you should just commit" deraadt

Revision 1.28 / (download) - annotate - [select for diffs], Thu Jun 25 14:14:54 2009 UTC (14 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.27: +1 -3 lines
Diff to previous 1.27 (colored)

incorrect .PATH setting, discovered with nicm

Revision 1.27 / (download) - annotate - [select for diffs], Thu Dec 20 17:08:47 2007 UTC (16 years, 5 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

rework timers.
stop changing tienmr values directly, always use new
timer_(get/set/stop/running) functions. preparation for more to come :)
ok claudio

Revision 1.26 / (download) - annotate - [select for diffs], Fri Dec 8 22:31:15 2006 UTC (17 years, 5 months ago) by itojun
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.25: +1 -4 lines
Diff to previous 1.25 (colored)

no need for KAME_SCOPEID; just check __KAME__.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jun 17 14:06:09 2006 UTC (17 years, 11 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

implement carp demotion control for bgpd.
sessions can be configured to modify the carp demotion counter for a
given interface group (usually, "carp", which has all carp interfaces)
when the session is not established. once the session is established for
60 seconds, the demotion is cleared.
this, used correctly, can prevent a bgpd-box which lost all sessions (and
thus has no routes) to be carp master, while the backup has sessions.
thought through and partially hacked on a drive from calgary to vancouver
with ryan, ok claudio

Revision 1.24 / (download) - annotate - [select for diffs], Tue Jan 3 22:19:59 2006 UTC (18 years, 5 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Move functions shared with bgpctl into new file util.c. Simplifies the
link between bgpctl and bgpd mostly because of rde_attr.c.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Jun 13 21:16:18 2005 UTC (18 years, 11 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

route label support, kroute part and ID allocator as well as the internal
interface changes. support in the filter language and rde to come. claudio ok

Revision 1.22 / (download) - annotate - [select for diffs], Mon Mar 28 15:16:45 2005 UTC (19 years, 2 months ago) by henning
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

ewps, this was not supposed to creep in

Revision 1.21 / (download) - annotate - [select for diffs], Mon Mar 28 15:03:33 2005 UTC (19 years, 2 months ago) by henning
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

free rules_l if the initial config file parse fails

Revision 1.20 / (download) - annotate - [select for diffs], Thu Nov 11 16:59:47 2004 UTC (19 years, 6 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.19: +4 -1 lines
Diff to previous 1.19 (colored)

Unbreak peer_localaddr() because Link Local Addresses reported by
getifaddrs() have the scope id added to the address and so fuck up in the
compare later. This part has bin stolen from ifconfig/ifconfig.c and shows
the beauty of IPv6. Thank you KAME.
disgusting but OK henning@

Revision 1.19 / (download) - annotate - [select for diffs], Fri May 7 10:06:15 2004 UTC (20 years, 1 month ago) by djm
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

add a filter option to dump prefixes learned in UPDATEs into a PF table,
intended for building realtime BGP blacklists (e.g. with spamd);
ok claudio & henning

Revision 1.18 / (download) - annotate - [select for diffs], Thu Mar 11 12:16:46 2004 UTC (20 years, 2 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Type in Makefile. CLFAGS != CFLAGS and we don't want -Wredundant-decls the
standard include files are full of redundant declarations. OK henning@

Revision 1.17 / (download) - annotate - [select for diffs], Thu Feb 19 23:07:00 2004 UTC (20 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Add support for basic filters. Nothing optimized and it has some issues but
this is a huge step forward. OK henning@

Revision 1.16 / (download) - annotate - [select for diffs], Sun Feb 8 23:44:57 2004 UTC (20 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

factor out functions to print the configuration (rules only for now)
will become more and needed by bgpctl too

Revision 1.15 / (download) - annotate - [select for diffs], Wed Feb 4 09:18:03 2004 UTC (20 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Move BGP path attribute handling functions in a own file. henning@ conceptual ok

Revision 1.14 / (download) - annotate - [select for diffs], Wed Feb 4 09:07:44 2004 UTC (20 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Move the update generation into a separate file. The update generation has
nothing to do with the decision process. henning@ "conceptual ok ;-)"

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jan 26 14:42:47 2004 UTC (20 years, 4 months ago) by henning
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

first cut at tcpmd5 setup seupport from within bgpd. works so far.
with help from hshoexer@ and markus@
ok claudio@ hshoexer@ markus@

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jan 5 02:55:28 2004 UTC (20 years, 5 months ago) by espie
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

include path fixes for gcc3.
tests otto@, okay millert@

Revision 1.11 / (download) - annotate - [select for diffs], Fri Jan 2 00:04:07 2004 UTC (20 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.10: +15 -3 lines
Diff to previous 1.10 (colored)

compile like it used to

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jan 1 23:53:43 2004 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

add bgpdctl

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jan 1 23:49:10 2004 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.8: +3 -15 lines
Diff to previous 1.8 (colored)

prepare for bgpdctl

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jan 1 23:46:47 2004 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.7: +5 -4 lines
Diff to previous 1.7 (colored)

listen on a AF_LOCAL socket for imsgs too.
only implemented type yet is IMSG_CTL_SHOW_NEIGHBOR which sends back
the struct peer for all neighbors.
will be used by bgpdctl

Revision 1.7 / (download) - annotate - [select for diffs], Tue Dec 23 17:06:32 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

bloody attempt at the other manpage.
this time with (non-bloody) help from jmc@

Revision 1.6 / (download) - annotate - [select for diffs], Mon Dec 22 15:22:13 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

o add low-level functions for adding/chaining/removing kernel routes
o define new imsg types for this
o process these imsgs in the parent process

now "only" debugging and the rde sending these messages is missing.

ok claudio@

Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 22 00:10:33 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

my bloody attempt at a manpage. to be fleshed out.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 20 20:46:08 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.3: +2 -3 lines
Diff to previous 1.3 (colored)

zap -Werror and -Wcast-align

Revision 1.3 / (download) - annotate - [select for diffs], Sat Dec 20 15:10:33 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.2: +6 -5 lines
Diff to previous 1.2 (colored)

better set of warning opts

Revision 1.2 / (download) - annotate - [select for diffs], Wed Dec 17 12:34:06 2003 UTC (20 years, 5 months ago) by henning
Branch: MAIN
Changes since 1.1: +1 -6 lines
Diff to previous 1.1 (colored)

oups, kill (then helpful) shit from the time when it live out of the tree...
noticed by Dries Schellekens <gwyllion@ace.ulyssis.org>

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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.