10.1.36 (2021-09-22): 2 - initial support for as-transparent route-servers in import as-path 3 generation: now you can use -f 0 to not enforce first asn in path. 4 No actual changes for Bird and JSON, not yet supported for Nokia 5 (including MD) and OpenBGPD. Use case reported by Mikhail Grishin. 6 - correct sequencing in empty prefix-lists. Reported by Brooks Swinnerton. 7 - fix empty route-filter-lists generation. Reported by Antti Ristimäki. 8 - minor documentation cleanup: bgpq3 supports much more vendors 9 than just Cisco and Juniper. Copyright years updated. 10 - Nokia SR OS "classic" actually supports aggregation and 11 and more-specific filtering in prefix-lists. Thanks to mfisher128 12 for reporting. 13 - change log level for prefixes with wrong address family from error 14 to debugging: it's perfectly correct to have prefixes of different 15 families in route-sets. Thanks to Jay Ford for suggestion. 16 - increase select timeout to 30 sec. 17 - correct spacing for IOS-XR. Reported by Mathias Wolkert. 18 - hyperaggregation (supernets-only) mode. 19 - correct Huawei as-path-filter generation. Thanks to JKejsjwq. 20 - implement -f 0 (transparent route-server scenario) for Nokia too. 21 - document IOS-XR prefix-list limitation. Thanks to Saku Ytti. 22 230.1.35 (2018-11-30): 24 - initial support for Juniper route-filter-lists (JunOS 16.2+). 25 - too large (>124bytes) sources list was not handled correctly. 26 Reported by Pier Carlo Chiodi. 27 - initial support for Huawei format (prefix-lists and as-path filters) 28 New flag -U. Requested by Alexander Wagberg. 29 - fix ipv6 prefix-ranges. Reported by Jay Ford. 30 - OpenBGPd change: -E now generates prefix-set instead of prefix-list. 31 Based on submission by Denis Fondras 32 - new option -w, allowing to 'validate' AS numbers included in as-path 33 access-lists: only those AS having registered route-objects are allowed. 34 By default checks route[4] presence, to check route6 objects shall be 35 used together with -6. 36 - cleanup OpenBGPd prefix-sets. Submitted by Claudio Jeker. 37 - new flag -t: generate as-sets for OpenBGPD (OpenBSD 6.4+), BIRD and 38 JSON formats. Based on submission by Claudio Jeker. 39 - new flag -n: support for Nokia SR OS MD-CLI. Based on examples 40 provided by Greg Hankins. 41 - irrd queries for asn32 changed from asdot to asplain notation. 42 Thanks to Troy2914 for heads up. 43 440.1.35-rc2 (2017-06-14) 45 - OpenBSD need <sys/select.h>. Reported by Denis Fondras. 46 - OpenBGPD output shall not emit 'deny any from any' in case of empty 47 prefix-list. New flag -a <asn> introduced to allow peer-as indication. 48 When this flag is not specified, empty prefix-list is generated (will 49 not be accepted by OpenBGPD). 50 Reported by Denis Fondras 51 520.1.35-rc (2017-30-05) 53 - Nokia SR OS (formerly Alcatel-Lucent) support. Based on submission by 54 Michail Litvak. 55 - sync man-page with readme.md 56 - socket() EAFNOSUPPORT error handling 57 580.1.33 (2016-10-14) 59 - OpenBGPD support (-B). Submitted by Peter Hessler. 60 610.1.32 (2016-08-28) 62 - rollback 0.1.32-rc2 (2015-07-01) change: by default all IRRD sources 63 are allowed by default. Documentation updated to mark radb,ripe,apnic 64 as 'recommended', not as 'preset default'. 65 66untagged yet (2016-05-10) 67 - fix: was not able to build on Solaris. Thanks to Mansoor Ali Khan. 68 - feature: IOS XR mode now supports as-paths (ios-regexs). Thanks 69 to Tassos Chatzithomaoglou for examples and proofreading. 70 (additions from 2015-09-23) 71 - bugfix: stoplist shall be able to catch AS numbers as promised. 72 - bugfix: bgpq3 shall not hang at unknown escapes in -M.. 73 - gotcha: "ANY" object in recursive mode ignored: shut complaints on 74 "ERROR:unexpected object 'ANY' in expanded_macro_limit (in response 75 to !iAS-SET-SCOPESKY)" (object contains mbrs-by-ref: ANY). 76 (additions from 2015-08-30) 77 - bugfix: OpenBSD sys/queue.h does not have STAILQ_ interface. 78 Thanks to Pedro Caetano for reporting and testing. 79 - feature: alternate whois port can be configured with -h host[:port] 80 - feature: new format char %N (object name) in formatted output. 81 Thanks to Denis Fondras. 82 - feature: new format chars %m (prefix mask) and %i (inverse mask) in 83 formatted output. 84 850.1.32-rc5 (2015-07-12) 86 - feature: -L <depth>: limit recursion depth when expanding as-sets 87 (default: not limited). Based on idea by Eugene Demidov. 88 - feature: stoplist. Now you can add EXCEPT Object... at the end of 89 bgpq3 command line and corresponding as-sets and asns will not be 90 expanded (does not works for prefixes and prefix-sets yet). 91 - internals: major pipelining rewrite and some code cleanup. 92 930.1.32-rc4 (2015-07-06) 94 - change: BIRD can't handle empty lists (NAME = []), so they are not 95 generated at all. 96 970.1.32-rc3 (2015-07-01) 98 - feature: option -s can be used to generate sequence numbers in IOS 99 prefix-lists 100 - feature: option -F <fmt> can be used to generate output in user-defined 101 format. Only prefix-lists supported for now. 102 1030.1.32-rc2 (2015-07-01) 104 - bugfix: when no sources provided in command line and via IRRD_SOURCES env, 105 no source limitation were sent to IRRd. Thanks to Mikhail A. Grishin. 106 1070.1.32-rc (2015-06-28) 108 - bugfix: F source(s) unavailable message from IRRD was ignored. 109 Please note: this error is caught only when all the specified sources 110 are invalid. For example, 'bgpq3 -s nonexistant' will fail, however, 111 'bgpq3 -s nonexistant,ripe' will not fail and will use only ripe source. 112 Thanks to Mikhail A. Grishin for reporting. 113 - RIPE-style queries (-T route6 -i origin asNNN) replaced with IRRd-style 114 !6asNNN queries. 115 1160.1.31 (2015-06-23) 117 - pipelining mode now counts buffered requests and issues dequeue 118 when new request can overflow allocated buffer. So, bgpq3 shall no 119 more require TCP tuning (it is still recomended, though). 120 - tcp tuning parameters decreased in README (sx_maxsockbuf will not 121 allow buffer over 2Mb anyway). 122 1230.1.30 (2015-06-16) 124 - bugfix: private asns with number > 2^31 were printed as negative integers. 125 Thanks to Henrik Thostrup Jensen. 126 - do not use ASNs reserved for documentation purposes and private use: 127 64496-64511 For documentation and sample code; reserved by [RFC5398] 128 64512-65534 For private use; reserved by [RFC6996] 129 65535 Reserved by [RFC7300] 130 65536-65551 For documentation and sample code; reserved by [RFC5398] 131 4200000000-4294967294 For private use; reserved by [RFC6996] 132 4294967295 Reserved by [RFC7300] 133 Please, use new -p flag to include these asn's. 134 Suggested by Henrik Thostrup Jensen and Job Snijders. 135 - allow as-path generation with BIRD output. Suggested by Jiri Mikulas. 136 - merge README.md changes by Job Snijders. 137 - bugfix: incorrect asdot representation (as101. without symbols after dot) 138 is not allowed anymore. 139 1400.1.29 (2015-05-04) 141 - do not include routes registered for AS23456 (transition-as) by default. 142 Use new option -2 to restore old behaviour. 143 1440.1.28 (2015-03-10) 145 - minor changes: .spec update, non-silent failure on wrong af, 146 more room for masklen... 147 1480.1.27 (2015-03-10) 149 - bugfix: some ipv6 prefixes were not parsed correctly since 0.1.26. 150 Thanks to Job Snijders. 151 1520.1.26 (2015-02-19) 153 - RPSL <address-prefix-range> support, can be found in rs-esnetcustomers. 154 Thanks to Kris O'Connell for reporting. 155 1560.1.25 (2014-10-29) 157 - JSON support extended to handle "as-paths" too. Well, actually, as 158 there are no defined format for as-path in json, bgpq3 just creates 159 simple object like following: 160 161 snar@fri:~/compile/bgpq3>./bgpq3 -j3f 20597 as-eltel 162 {"NN": [ 163 112,5495,6857,8377,20597,34102,35357,43951, 164 52007,56764,197759,197888,198610,201499 165 ]} 166 167 Based on suggestion by Henrik Thostrup Jensen. 168 - -W len option documented. 169 1700.1.24 (2014-07-31) 171 - empty prefix-lists (Cisco), extended access-lists (Cisco), as-path 172 filters (Cisco and Juniper) and route-filters (Juniper) handling: 173 explicit 'deny any' entry now generated instead of implicit 'permit-any'. 174 Based on suggestion by Tore Anderson. 175 1760.1.23 (2014-07-30) 177 - bugfix: use of -M option caused major slowdown as it turned off 178 request pipelining... Thanks to Tore Anderson. 179 1800.1.22 (2014-07-27) 181 - bugfix: allow network object with stray spaces after prefix length. 182 Found by Tom Eichhorn in 2620:74:14::/48 (VeriSign Route6, RADB). 183 - bugfix: networks with leading zeros (02.51.252.0/22, as4787) are not 184 parsed correctly in inet_ntop.. Found by Tom Eichhorn. 185 1860.1.21 (2014-06-05) 187 - new flag -b: generate prefix-filters for BIRD (http://bird.network.cz), 188 contributed by Job Snijders. 189 1900.1.20-todo2 (2014-05-01) 191 - new flag -r <len>, allowing bgpq to generate limited set of more-specific 192 routes - only routes with prefix-length >= <len> are accepted. 193 Thanks to Pavel Gulchouck for suggesion. 194 1950.1.20-todo (2013-10-07) 196 - socket close code fixed. Thanks to Martin J. Levy. 197 - new flag -4, "force ipv4". Actually does a little more than allowing 198 for pedantic checks. Thanks to Martin J. Levy. 199 2000.1.19 (2013-05-09) 201 - CLANG compilation issues fixed. 202 - bgpq3.spec added. Thanks to Arnoud Vermeer. 203 2040.1.18 (2013-01-08) 205 - JSON output format. Thanks to Job Snijders (Atrato Networks). 206 2070.1.17 (2012-10-25) 208 - route-sets handling in command-line added. Thanks to Alexandr Turovsky 209 for pointing out. 210 - bug in aggregation documentation fixed. Thanks to Nikolay Shopik. 211 2120.1.16 (2012-01-19) 213 - new option -m <len>: maximum length of accepted prefixes. 214 Suggested by Eugene Demidov, used to discard 'too long prefixes' 215 (like /30-/32) even if they are registered in IRR. By default 216 limit is not set and all prefixes accepted. 217 - documentation redesigned into text/markdown and text/html (manpage 218 supported still). 219 2200.1.15 (2011-07-15) 221 - prefix-set's for Cisco IOS XR now supported too. 222 2230.1.14 (2011-06-18) 224 - Fixed bug in sx_maxsockbuf in rare cases of OS maxsockbuf >2M. 225 Thanks to Andreas Lundin. 226 2270.1.13 (2011-06-14) 228 - never publically released. 229 2300.1.12 (2010-10-08) 231 - Fixed bug preventing AS262144 (that's AS4.0 in asdot) to expand. 232 Thanks to Sergey Matveychuk 233 2340.1.11 (2010-04-19) 235 - Fixed another bug in aggregation (-A) mode, thanks to Dmitry Tejblum. 236 2370.1.10 (2009-06-13) 238 - Fixed bug in aggregation (-A) mode, thanks to Sergey Gonchar. 239 2400.1.9 (2009-03-27) 241 - RIPE changed ASN32 notation to asplain. And RADB does not support 242 asplain indexing (yet?).... Fixed. Thanks to Pavel Gluchouk. 243 2440.1.8 (2008-12-25) 245 - new flag -D for Cisco asdot notation. Cisco behaviour is a bit 246 strange for me, but, well, that's their decision: 247When the asdot format is enabled as the default, any regular expressions 248to match 4-byte autonomous system numbers must be written using the asdot 249format, or else the regular expression match will fail. 250 (c) http://www.cisco.com/en/US/docs/ios/12_0s/release/ntes/120SNEWF.html 251 #wp3521658 (note the URL wrap). 252 2530.1.7 (2008-12-19): 254 - man page. Finally :) 255 - option -h now means not help, but now it can be used to point to 256 alternate IRRD host, like in old bgpq. 257 2580.1.6 (2008-08-08): 259 - maxsockbuf call added, that can help with pipelining of really large 260 as-sets. 261 - new key -M <extra match condition> for juniper route-filters, f.e.: 262 bgpq3 -JEM "protocol bgp;\n community no-export" -l PolicyName/TermName 263 will generate term with additional match conditions, like: 264 265 policy-options { 266 policy-statement PolicyName { 267 term TermName { 268 replace: 269 from { 270 protocol bgp; 271 community no-export; 272 route-filter 10.0.0.0/24 exact; 273 } 274 } 275 } 276 } 277 2780.1.5 (2008-06-02): 279 - route-set's expansion added. Fully functional for IPv4 prefixes, but 280 not for IPv6 - only those prefixes explicitely marked as 'member-of: RS..' 281 will be expanded. This is due to limitation in IRRd. 282 - extended access-lists (Cisco) and route-filters (Juniper) generation 283 is supported now with new -E key. For Cisco ipv6 access-lists is not 284 yet supported. 285 2860.1.4 (2008-05-30): 287 - bugfix for juniper as-path group generation. Thanks to Alexander Shikoff. 288 2890.1.3 (2008-05-20): 290 - aggregation (-A) now supported for Cisco prefix-lists. 291 - pipelining now can be enabled for RIPE-style queries too (ipv6). 292 - more-specific routes (-R len) feature ported from bgpq 293 - pipelining now set by default. -T flag now disables pipelining. 294 - strlcpy.c imported into sources. Not found on Linux :) 295 2960.1.2 (2008-05-19): 297 - final support for asn32, now with correct syntax for Juniper. 298 - experimental 'pipelining' mode (flag -T), much faster when 299 working with big as-set's. 300 - RIPE-style query (-i origin) now requests only route6 objects. 301 3020.1.1 (2008-05-16): 303 - initial support for asn32 added (flag -3). By default it's off, 304 and when bgpq sees 32-bit asn in resolver queue, it either replaces 305 it with AS23456 (in as-path generation mode) or queries radb for 306 prefixes with that origin. 307 Note: for now only JunOS 9.1 can handle asn32, not Cisco IOS.. 308 309