1
0
mirror of https://github.com/bgp/bgpq4.git synced 2024-05-11 05:55:05 +00:00
bgp-bgpq4/CHANGES
Job Snijders 424770be0b Set TCP_NODELAY on the socket
Nagle's algorithm probably serves no purpose with whois queries
often being tiny.
2024-05-10 09:41:28 +00:00

371 lines
14 KiB
Plaintext

1.14
- Set TCP_NODELAY on the whois socket
1.13 (2024-05-01)
- Fixed a bug for Mac users by removing sx_maxsockbuf()
1.12 (2024-02-12)
- Fix a bug in the mikrotik printer
1.11 (2023-06-20)
- disallow AS 23456 as origin (can be bypassed via -p)
1.10 (2023-06-03)
- Add support for Nokia SR Linux IP prefix lists / ACL filters
- Accept -3 as a no-op for bgpq3 compatibility
1.9 (2023-03-05)
- Bugfix for -S problem (bgpq4#83) by James Bensley
1.8 (2023-01-20)
- Downgrade 'key not found' to DEBUG level to reduce noise
- Re-introduce -p for private ASN support option
1.7 (2022-11-03)
- Support SOURCE:: syntax (contributed by James Bensley)
1.6 (2022-09-07)
- Fix a bug in address prefix range parsing
1.5 (2022-07-25)
- Add support for the new Junos as-path-origins feature
1.4 (2021-08-20)
- Fix BIRD aspath output
1.3 (2021-08-20)
- Change versioning from X.Y.Z to Y.Z
- The repository file hierachy has been reorganized (compat/ include/)
- Man page has been extended
- Large portions of code have been reformatted to adhere to OpenBSD's source
file style guide to improve readability.
- Refactor: replace two-dimensional array for ASN storage with Red-Black tree
- Reduced memory usage
0.0.9 (2021-08-18)
- Fix various memory errors
0.0.8 (2021-08-17)
- Reorganize automake files and includes
- Normalize code to adhere to KNF
- Fix all compiler warnings
0.0.6 (2020-03-12):
- Bugfixes - Thanks Chris Caputo!
0.0.5 (2020-01-01):
- Bugfixes
0.0.4 (2019-12-31):
- Remove the '-3' command line option, assume all devices are
32-bit ASN safe
0.0.3 (2019-12-30):
- Remove the '-2' command line option
- Significant code reformating
- Improve performance by using IRRd 4's A query when available
0.0.2 (2019-12-14):
- Add Mikrotik support
- Remove ASDDOT support
0.0.1 (2019-12-14):
- Fork bgpq3 into bgpq4
0.1.36-pre (2019-11-08):
- minor documentation cleanup: bgpq3 supports much more vendors
than just Cisco and Juniper. Copyright years updated.
- Nokia SR OS "classic" actually supports aggregation and
and more-specific filtering in prefix-lists. Thanks to mfisher128
for reporting.
- change log level for prefixes with wrong address family from error
to debugging: it's perfectly correct to have prefixes of different
families in route-sets. Thanks to Jay Ford for suggestion.
0.1.35 (2018-11-30):
- initial support for Juniper route-filter-lists (JunOS 16.2+).
- too large (>124bytes) sources list was not handled correctly.
Reported by Pier Carlo Chiodi.
- initial support for Huawei format (prefix-lists and as-path filters)
New flag -U. Requested by Alexander Wagberg.
- fix ipv6 prefix-ranges. Reported by Jay Ford.
- OpenBGPd change: -E now generates prefix-set instead of prefix-list.
Based on submission by Denis Fondras
- new option -w, allowing to 'validate' AS numbers included in as-path
access-lists: only those AS having registered route-objects are allowed.
By default checks route[4] presence, to check route6 objects shall be
used together with -6.
- cleanup OpenBGPd prefix-sets. Submitted by Claudio Jeker.
- new flag -t: generate as-sets for OpenBGPD (OpenBSD 6.4+), BIRD and
JSON formats. Based on submission by Claudio Jeker.
- new flag -n: support for Nokia SR OS MD-CLI. Based on examples
provided by Greg Hankins.
- irrd queries for asn32 changed from asdot to asplain notation.
Thanks to Troy2914 for heads up.
0.1.35-rc2 (2017-06-14)
- OpenBSD need <sys/select.h>. Reported by Denis Fondras.
- OpenBGPD output shall not emit 'deny any from any' in case of empty
prefix-list. New flag -a <asn> introduced to allow peer-as indication.
When this flag is not specified, empty prefix-list is generated (will
not be accepted by OpenBGPD).
Reported by Denis Fondras
0.1.35-rc (2017-30-05)
- Nokia SR OS (formerly Alcatel-Lucent) support. Based on submission by
Michail Litvak.
- sync man-page with readme.md
- socket() EAFNOSUPPORT error handling
0.1.33 (2016-10-14)
- OpenBGPD support (-B). Submitted by Peter Hessler.
0.1.32 (2016-08-28)
- rollback 0.1.32-rc2 (2015-07-01) change: by default all IRRD sources
are allowed by default. Documentation updated to mark radb,ripe,apnic
as 'recommended', not as 'preset default'.
untagged yet (2016-05-10)
- fix: was not able to build on Solaris. Thanks to Mansoor Ali Khan.
- feature: IOS XR mode now supports as-paths (ios-regexs). Thanks
to Tassos Chatzithomaoglou for examples and proofreading.
(additions from 2015-09-23)
- bugfix: stoplist shall be able to catch AS numbers as promised.
- bugfix: bgpq3 shall not hang at unknown escapes in -M..
- gotcha: "ANY" object in recursive mode ignored: shut complaints on
"ERROR:unexpected object 'ANY' in expanded_macro_limit (in response
to !iAS-SET-SCOPESKY)" (object contains mbrs-by-ref: ANY).
(additions from 2015-08-30)
- bugfix: OpenBSD sys/queue.h does not have STAILQ_ interface.
Thanks to Pedro Caetano for reporting and testing.
- feature: alternate whois port can be configured with -h host[:port]
- feature: new format char %N (object name) in formatted output.
Thanks to Denis Fondras.
- feature: new format chars %m (prefix mask) and %i (inverse mask) in
formatted output.
0.1.32-rc5 (2015-07-12)
- feature: -L <depth>: limit recursion depth when expanding as-sets
(default: not limited). Based on idea by Eugene Demidov.
- feature: stoplist. Now you can add EXCEPT Object... at the end of
bgpq3 command line and corresponding as-sets and asns will not be
expanded (does not works for prefixes and prefix-sets yet).
- internals: major pipelining rewrite and some code cleanup.
0.1.32-rc4 (2015-07-06)
- change: BIRD can't handle empty lists (NAME = []), so they are not
generated at all.
0.1.32-rc3 (2015-07-01)
- feature: option -s can be used to generate sequence numbers in IOS
prefix-lists
- feature: option -F <fmt> can be used to generate output in user-defined
format. Only prefix-lists supported for now.
0.1.32-rc2 (2015-07-01)
- bugfix: when no sources provided in command line and via IRRD_SOURCES env,
no source limitation were sent to IRRd. Thanks to Mikhail A. Grishin.
0.1.32-rc (2015-06-28)
- bugfix: F source(s) unavailable message from IRRD was ignored.
Please note: this error is caught only when all the specified sources
are invalid. For example, 'bgpq3 -s nonexistant' will fail, however,
'bgpq3 -s nonexistant,ripe' will not fail and will use only ripe source.
Thanks to Mikhail A. Grishin for reporting.
- RIPE-style queries (-T route6 -i origin asNNN) replaced with IRRd-style
!6asNNN queries.
0.1.31 (2015-06-23)
- pipelining mode now counts buffered requests and issues dequeue
when new request can overflow allocated buffer. So, bgpq3 shall no
more require TCP tuning (it is still recomended, though).
- tcp tuning parameters decreased in README (sx_maxsockbuf will not
allow buffer over 2Mb anyway).
0.1.30 (2015-06-16)
- bugfix: private asns with number > 2^31 were printed as negative integers.
Thanks to Henrik Thostrup Jensen.
- do not use ASNs reserved for documentation purposes and private use:
64496-64511 For documentation and sample code; reserved by [RFC5398]
64512-65534 For private use; reserved by [RFC6996]
65535 Reserved by [RFC7300]
65536-65551 For documentation and sample code; reserved by [RFC5398]
4200000000-4294967294 For private use; reserved by [RFC6996]
4294967295 Reserved by [RFC7300]
Please, use new -p flag to include these asn's.
Suggested by Henrik Thostrup Jensen and Job Snijders.
- allow as-path generation with BIRD output. Suggested by Jiri Mikulas.
- merge README.md changes by Job Snijders.
- bugfix: incorrect asdot representation (as101. without symbols after dot)
is not allowed anymore.
0.1.29 (2015-05-04)
- do not include routes registered for AS23456 (transition-as) by default.
Use new option -2 to restore old behaviour.
0.1.28 (2015-03-10)
- minor changes: .spec update, non-silent failure on wrong af,
more room for masklen...
0.1.27 (2015-03-10)
- bugfix: some ipv6 prefixes were not parsed correctly since 0.1.26.
Thanks to Job Snijders.
0.1.26 (2015-02-19)
- RPSL <address-prefix-range> support, can be found in rs-esnetcustomers.
Thanks to Kris O'Connell for reporting.
0.1.25 (2014-10-29)
- JSON support extended to handle "as-paths" too. Well, actually, as
there are no defined format for as-path in json, bgpq3 just creates
simple object like following:
snar@fri:~/compile/bgpq3>./bgpq3 -j3f 20597 as-eltel
{"NN": [
112,5495,6857,8377,20597,34102,35357,43951,
52007,56764,197759,197888,198610,201499
]}
Based on suggestion by Henrik Thostrup Jensen.
- -W len option documented.
0.1.24 (2014-07-31)
- empty prefix-lists (Cisco), extended access-lists (Cisco), as-path
filters (Cisco and Juniper) and route-filters (Juniper) handling:
explicit 'deny any' entry now generated instead of implicit 'permit-any'.
Based on suggestion by Tore Anderson.
0.1.23 (2014-07-30)
- bugfix: use of -M option caused major slowdown as it turned off
request pipelining... Thanks to Tore Anderson.
0.1.22 (2014-07-27)
- bugfix: allow network object with stray spaces after prefix length.
Found by Tom Eichhorn in 2620:74:14::/48 (VeriSign Route6, RADB).
- bugfix: networks with leading zeros (02.51.252.0/22, as4787) are not
parsed correctly in inet_ntop.. Found by Tom Eichhorn.
0.1.21 (2014-06-05)
- new flag -b: generate prefix-filters for BIRD (http://bird.network.cz),
contributed by Job Snijders.
0.1.20-todo2 (2014-05-01)
- new flag -r <len>, allowing bgpq to generate limited set of more-specific
routes - only routes with prefix-length >= <len> are accepted.
Thanks to Pavel Gulchouck for suggesion.
0.1.20-todo (2013-10-07)
- socket close code fixed. Thanks to Martin J. Levy.
- new flag -4, "force ipv4". Actually does a little more than allowing
for pedantic checks. Thanks to Martin J. Levy.
0.1.19 (2013-05-09)
- CLANG compilation issues fixed.
- bgpq3.spec added. Thanks to Arnoud Vermeer.
0.1.18 (2013-01-08)
- JSON output format. Thanks to Job Snijders (Atrato Networks).
0.1.17 (2012-10-25)
- route-sets handling in command-line added. Thanks to Alexandr Turovsky
for pointing out.
- bug in aggregation documentation fixed. Thanks to Nikolay Shopik.
0.1.16 (2012-01-19)
- new option -m <len>: maximum length of accepted prefixes.
Suggested by Eugene Demidov, used to discard 'too long prefixes'
(like /30-/32) even if they are registered in IRR. By default
limit is not set and all prefixes accepted.
- documentation redesigned into text/markdown and text/html (manpage
supported still).
0.1.15 (2011-07-15)
- prefix-set's for Cisco IOS XR now supported too.
0.1.14 (2011-06-18)
- Fixed bug in sx_maxsockbuf in rare cases of OS maxsockbuf >2M.
Thanks to Andreas Lundin.
0.1.13 (2011-06-14)
- never publically released.
0.1.12 (2010-10-08)
- Fixed bug preventing AS262144 (that's AS4.0 in asdot) to expand.
Thanks to Sergey Matveychuk
0.1.11 (2010-04-19)
- Fixed another bug in aggregation (-A) mode, thanks to Dmitry Tejblum.
0.1.10 (2009-06-13)
- Fixed bug in aggregation (-A) mode, thanks to Sergey Gonchar.
0.1.9 (2009-03-27)
- RIPE changed ASN32 notation to asplain. And RADB does not support
asplain indexing (yet?).... Fixed. Thanks to Pavel Gluchouk.
0.1.8 (2008-12-25)
- new flag -D for Cisco asdot notation. Cisco behaviour is a bit
strange for me, but, well, that's their decision:
When the asdot format is enabled as the default, any regular expressions
to match 4-byte autonomous system numbers must be written using the asdot
format, or else the regular expression match will fail.
(c) http://www.cisco.com/en/US/docs/ios/12_0s/release/ntes/120SNEWF.html
#wp3521658 (note the URL wrap).
0.1.7 (2008-12-19):
- man page. Finally :)
- option -h now means not help, but now it can be used to point to
alternate IRRD host, like in old bgpq.
0.1.6 (2008-08-08):
- maxsockbuf call added, that can help with pipelining of really large
as-sets.
- new key -M <extra match condition> for juniper route-filters, f.e.:
bgpq3 -JEM "protocol bgp;\n community no-export" -l PolicyName/TermName
will generate term with additional match conditions, like:
policy-options {
policy-statement PolicyName {
term TermName {
replace:
from {
protocol bgp;
community no-export;
route-filter 10.0.0.0/24 exact;
}
}
}
}
0.1.5 (2008-06-02):
- route-set's expansion added. Fully functional for IPv4 prefixes, but
not for IPv6 - only those prefixes explicitely marked as 'member-of: RS..'
will be expanded. This is due to limitation in IRRd.
- extended access-lists (Cisco) and route-filters (Juniper) generation
is supported now with new -E key. For Cisco ipv6 access-lists is not
yet supported.
0.1.4 (2008-05-30):
- bugfix for juniper as-path group generation. Thanks to Alexander Shikoff.
0.1.3 (2008-05-20):
- aggregation (-A) now supported for Cisco prefix-lists.
- pipelining now can be enabled for RIPE-style queries too (ipv6).
- more-specific routes (-R len) feature ported from bgpq
- pipelining now set by default. -T flag now disables pipelining.
- strlcpy.c imported into sources. Not found on Linux :)
0.1.2 (2008-05-19):
- final support for asn32, now with correct syntax for Juniper.
- experimental 'pipelining' mode (flag -T), much faster when
working with big as-set's.
- RIPE-style query (-i origin) now requests only route6 objects.
0.1.1 (2008-05-16):
- initial support for asn32 added (flag -3). By default it's off,
and when bgpq sees 32-bit asn in resolver queue, it either replaces
it with AS23456 (in as-path generation mode) or queries radb for
prefixes with that origin.
Note: for now only JunOS 9.1 can handle asn32, not Cisco IOS..