OpenBSD CVS

CVS log for src/usr.sbin/bgpctl/Attic/irr_prefix.c


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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.22, Tue Jun 25 07:44:20 2019 UTC (4 years, 11 months ago) by claudio
Branch: MAIN
CVS Tags: HEAD
Changes since 1.21: +1 -1 lines
FILE REMOVED

Remove irrfilter from bgpctl. The current code is not very useful.
Trying to parse RPSL has shown to be impossible. For now tools like
bgpq3 (in ports) can be used to generate AS and prefix sets based on
IRR data.
OK job@ deraadt@ sthen@ benno@

Revision 1.21 / (download) - annotate - [select for diffs], Mon Oct 5 14:18:33 2015 UTC (8 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.20: +1 -2 lines
Diff to previous 1.20 (colored)

these 3 files do not need sys/socket.h

Revision 1.20 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:15 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.19: +1 -2 lines
Diff to previous 1.19 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.19 / (download) - annotate - [select for diffs], Wed Oct 8 16:15:37 2014 UTC (9 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Use reallocarray() throughout to spot multiplicative int overflow.
ok henning benno

Revision 1.18 / (download) - annotate - [select for diffs], Mon May 10 02:00:50 2010 UTC (14 years, 1 month ago) by krw
Branch: MAIN
CVS Tags: 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.17: +2 -2 lines
Diff to previous 1.17 (colored)

Various comment typos. 'wether' -> 'whether' (most popular), 'possiblity' ->
'possibility', 'optins' -> 'options', 'resposne' -> 'response', 'unecessary' -> 'unnecessary', 'desination' -> 'destination'. Collected from various misc@
and tech@ postings, many by Brad Tilley.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Sep 8 16:11:36 2009 UTC (14 years, 9 months ago) by sthen
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.16: +4 -2 lines
Diff to previous 1.16 (colored)

Add -4 and -6 flags to irrfilter mode, allowing you to only fetch (you
guessed it) v4 or v6 from the IRR.  Reduces size of the filter file (and
thus router resource use) when you only speak IPv4 but you want to
filter peers who announce lots of v6 space.  ok claudio@

Revision 1.16 / (download) - annotate - [select for diffs], Tue Sep 8 15:40:25 2009 UTC (14 years, 9 months ago) by claudio
Branch: MAIN
Changes since 1.15: +65 -21 lines
Diff to previous 1.15 (colored)

Update irrfilter to support IPv6 and 4-byte AS numbers. IPv6 support based
on work by Tonnerre Lombard I just cleaned it up. OK henning, sthen

Revision 1.15 / (download) - annotate - [select for diffs], Sun May 27 18:54:25 2007 UTC (17 years ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

initialize pfx->pfx_maxlen too, rotting in my tree for some time

Revision 1.14 / (download) - annotate - [select for diffs], Tue Mar 6 16:45:34 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.13: +8 -2 lines
Diff to previous 1.13 (colored)

prepare, but leave disabled, verbose operation so that you can see what is
going on (helps when the damn thing runs for hours). will be enabled with
a -v somewhen in the future

Revision 1.13 / (download) - annotate - [select for diffs], Tue Mar 6 00:27:33 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.12: +16 -6 lines
Diff to previous 1.12 (colored)

another completely bogus route entry, this time openface in their own RR:
route:          198.73.251.0
no prefixlen...
overhaul error handling in prefixset_addmember(). for prefixes without
prefixlen or ones where inet_net_pton reports an invalid format, complain
and ignore the prefix, but don't err out completely.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Mar 5 22:10:50 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.11: +3 -2 lines
Diff to previous 1.11 (colored)

better diagnostics on inet_net_pton failing

Revision 1.11 / (download) - annotate - [select for diffs], Mon Mar 5 16:43:24 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

gremlins keep putting tiny KNF violations in my code in the hope I don't
spot 'em

Revision 1.10 / (download) - annotate - [select for diffs], Mon Mar 5 16:40:10 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

better error msg

Revision 1.9 / (download) - annotate - [select for diffs], Mon Mar 5 16:16:42 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.8: +24 -20 lines
Diff to previous 1.8 (colored)

loop over the list calling prefix_aggregate until nothing can be aggregated
any more. since aggregated entries might be further aggregatable...
shaves of another 1200 lines (of ~16900) from the generated ruleset for my AS

Revision 1.8 / (download) - annotate - [select for diffs], Mon Mar 5 15:06:35 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.7: +7 -8 lines
Diff to previous 1.7 (colored)

lint happiness

Revision 1.7 / (download) - annotate - [select for diffs], Mon Mar 5 13:57:59 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.6: +11 -0 lines
Diff to previous 1.6 (colored)

in prefix_aggregate(), when we look at two neighbor prefixes, see wether
they can be expressed as one with shorter prefixlen. if so, adjust the
first prefix accordingly and return 1 so the second gets removed.
shrinks the ruleset for my AS from 19533 to 16892 rules.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 5 13:45:52 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

do the prefix masking in network byte order

Revision 1.5 / (download) - annotate - [select for diffs], Mon Mar 5 12:57:56 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.4: +80 -7 lines
Diff to previous 1.4 (colored)

sort out more specifics and mark the less specific covering them in a way
that the resulting rule allows more specifics. i. e.
10.0.0.0/16, 10.0.1/24, 10.0.128/17 -> prefix 10.0.0.0/16 prefixlen <= 24
implementation: sort prefixes per AS by address family, prefix, prefixlen.
for every entry, check wether the prefix with the previous entry's mask
applied matches the previous entry's prefix & mask. Only move the previous
pointer forward if not so. Fill the holes we create in the process on the
fly; shrink the array afterwards.
shrinks the generated filters for our AS from over 100k to under 20k lines.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Mar 4 20:36:39 2007 UTC (17 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

correct include order

Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 4 20:31:22 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.2: +11 -11 lines
Diff to previous 1.2 (colored)

rename struct prefix -> irr_prefix

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 4 20:05:11 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN
Changes since 1.1: +49 -10 lines
Diff to previous 1.1 (colored)

store prefixes in binary format. we'll need that for aggregation.
discussed with pyr

Revision 1.1 / (download) - annotate - [select for diffs], Sat Mar 3 11:45:30 2007 UTC (17 years, 3 months ago) by henning
Branch: MAIN

add irrfilter mode.
generates bgpd filter rules from the Internet Routing Registry aka IRR aka
the aut-num, as-set and route objects in the RIPE, ARIN, APNIC ... databases
accessed via whois, using the Routing Policy Specificaion Language RPSL.
implement the whois query interface, an RPSL parser (of course only the
parts we need), recursive as-set resolver, prefixes per AS lookup,
and an ouput module to make up the rules.
work in progress, not ready for general consumption yet.
import agreed by theo & claudio

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.