-
Notifications
You must be signed in to change notification settings - Fork 44
/
CHANGES
374 lines (306 loc) · 14.4 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
1.15 (2024-05-15)
- Apologies, debug code slipped into the last release
1.14 (2024-05-14)
- Small performance gain: set TCP_NODELAY on the socket
1.13 (2024-05-01)
- Fixed a bug for Mac users by removing sx_maxsockbuf()
- Fixed a comma printing bug in IOS XR as-path-set output
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..