
Hat
译者 + 校对
⚠️ 注意
本文为译者手工翻译,可能存在错误或不准确的地方,如果您发现了错误,欢迎 参与贡献。
💡 技巧小贴士
Ctrl/Command + F 快速查找本页面的关键词。/ 键快速全文检索关键词。show route for 命令恢复为仅显示最长前缀匹配local_metric 属性show route 命令新增 v2 兼容层 (CLI v2 compatibility layer)otc 属性重命名为 bgp_otcexports 和 imports 的代码逻辑filter 和 protocol)stats)Internal protocol)show route export 命令的缺陷reload) 的关键性缺陷import tables) 内联至父级配置,简化配置结构attribute buckets) 合并,简化配置结构none 及导入目标为 allshow bfd sessions 命令local address 配置选项这是一个问题修复版本。
allow bgp_med 选项注意:
<epoch>.<major>.<minor> 改为更常见的 <major>.<minor>.<patch>。此后,BIRD 2.13.x 将严格按照仅修复错误的方式发布,而 BIRD 2.14 将同时包含新特性。onlink 路由属性min hold time 和 min keepalive time 选项next hop prefer global 选项[] 表示空集注意:
configure undo 命令有微小变更:在重新配置失败后,该命令不再可用,因为旧配置已被释放。strict bind 选项240.0.0.0/4 用作私有地址段show route in <prefix> 命令free bind 选项invalid next hop 错误报告netlink rx buffer 选项以指定 netlink 套接字缓冲区大小注意:
src/dst 访问器weight 路由属性quitbird 命令allow as sets 和 enforce first as 选项ignore max length 选项注意:
show ospf neighbors)默认输出所有协议实例的信息,这导致日志和 CLI 输出有一些微小变化。如果脚本监控了日志或 CLI 输出,建议谨慎对待。注意:
next hop keep 和 next hop self 选项src 访问器支持ifname 属性可修改注意:
next hop keep 选项的默认值已更改为更合适的值。ospf_metric1 和 ospf_metric2 属性导出到 OSPF 时,现在会作为 OSPF-E2 路由(而非 OSPF-E1 路由)传播。--enable-debug 编译 BIRD 不再自动激活调试模式(-d 选项)或本地模式(-l 选项)。此外,将调试输出写入文件(-D 选项)也不再强制前台模式(-f 选项)。--runstatedir,旧选项 --with-runtimedir 已弃用。disable after cease 选项注意:
prefix:netmask 语法已被移除。请直接使用 prefix/pxlen 格式。注意:
LOCAL_PREFshow route 命令注意:
net type) 定义。协议和路由表现在通过显式的频道 (channel) 连接,大多数相关的协议选项(如 table、import、export 等)现在都是频道选项。请参考 doc/bird.conf.example2 获取配置示例。部分选项已被移除或替换。Version 3.3.0 (2026-05-25)
o BGP: Export memory consumption optimization
o BGP: Fix hostentry handling of MPLS and EVPN routes
o BGP: Block connections on explicitly disabled instances
o Proto/CLI: Lock show-commands
o Proto: Loop persists through down state
o Nest/CLI: Show only the longest prefix match in 'show route for'
o Nest: Lockless attribute cache
o Removed locking in random number generation
o ASPA: Fix downstream validation
o BMP: Fix route sending
o BGP: Fix route refresh after restart
o BGP: Fix dynamic peer connection
o Filters: Fix string attributes
o Filters: Fix ROA check autoreload reconfiguration
o Logging: Fix error handling
o Kernel: Fix graceful recovery
o Pipe: Fix rare collision bug
o Config: Allow keyword redefinition
o Merged 2.19
Version 3.2.1 (2026-04-01)
o ASPA: Fix downstream validation
o BMP: Fix route sending
o BGP: Fix route refresh after restart
o BGP: Fix dynamic peer connection
o Filters: Fix string attributes
o Filters: Fix ROA check autoreload reconfiguration
o Logging: Fix error handling
o Kernel: Fix graceful recovery
o Pipe: Fix rare collision bug
o Config: Allow keyword redefinition
Version 3.2.0 (2025-12-26)
o BGP: Listening socket rework
o IGP metric: Split out local_metric again
o Table: Optimal and Any Export refactoring
o Various race condition fixes
o All fixes included in 3.1.0 -- 3.1.5
o Merged 2.18
Version 3.1.0 (2025-04-01)
o CLI v2 compatibility layer for show route
o Thread configuration rework
o Merged 2.17
Version 3.0.2 (2025-04-01)
o Multiple route propagation crash fixes
o BGP export table route source leak
o Kernel export of source.specific routes fix
o Filter gw setting fix
o Merged 2.16.2
Version 3.0.1 (2025-01-10)
o BGP: Fixed crash in dynamic spawn
o BGP: Fixed crash in graceful recovery
o BGP: Fixed crash with deterministic med
o BGP: Renamed the otc attribute to bgp_otc
o BFD: Fixed crash in session reconfiguration
o Kernel: Fixed crash with merged paths
o Kernel: Simplified initial scan
o Tables: Fixed old best route propagation
o Tables: Fixed debug configuration propagation
o Tables: Fixed initial feeds
o CLI: Fixed buffer allocation heap bloating
o Reduced route attribute normalization heap bloating
o Merged 2.16.1
Version 3.0.0 (2024-12-17)
- from 2.16
o Multithreaded execution
o Decoupled exports from imports
o Unified route attribute names
o Slightly different log format
o Separate reload command for filters and protocols
o BGP: Export tables show the state as on wire
o Lots of internal changes
- from 3.0alpha3
o Merged changes from 2.16
o BMP and MRT converted to the new API and working
o Internal protocol state journal
o Optimized table journal cleanup
o Fixed "show route export"
o Fixed minor bugs
Version 3.0alpha3 (2024-07-01)
o Merged 2.15.1
o Fixed major issues with channel reloads
o Fixed data inconsistencies in many corner cases
o Fixed internal scheduler corner cases
o MRT and BMP still switched off
o Expected one more alpha before stable
Version 3.0alpha2 (2023-05-11)
o Fixed memory leaks and use-after free bugs
o Simple thread work balancing
o MRT switched off
o Slow kernel route synchronization to be fixed later
Version 3.0alpha1 (2023-04-18)
o Worker threads for BGP, Pipe, RPKI and BFD
o Configurable number of threads
o Asynchronous route export
o Flat attribute structure
o Inline import tables
o Export tables merged with BGP prefix / attribute buckets
o Fixed ROA check locking inversion in route table dumps
o MRT switched off
Version 3.0-alpha0 (2022-02-07)
o Removal of fixed protocol-specific route attributes
o Asynchronous route export
o Explicit table import / export hooks
o Partially lockless route attribute cache
o Thread-safe resource management
o Thread-safe interface notifications
o Thread-safe protocol API
o Adoption of BFD IO loop for general use
o Parallel Pipe protocol
o Parallel RPKI protocol
o Parallel BGP protocol
o Lots of refactoring
o Bugfixes and improvements as they came along
Version 2.19.0 (2026-05-25)
o BGP/MPLS Ethernet VPNs using VXLAN tunnels
o BGP: PMSI tunnel attribute
o Linux Netlink implementation for bridge interfaces
o BGP: Automatic peering based on discovered neighbors
o RAdv: Router discovery based on incoming Router Advertisments
o Nest: Add message when attempting to reload protocol that is not UP
o BMP: Fix off-by-one buffer overflow
o OSPF: Fix infinite loop in OSPF Graceful Restart
o ASPA: Fix downstream validation
o Filters: Fix string attributes
o Logging: Fix error handling
o Minor filter improvements
o Various documentation fixes
Version 2.18 (2025-12-26)
o BGP: Support for dynamic onlink and link-local connections
o BGP: Listening socket refactoring
o BGP: Fix restart behavior on outgoing next hop setting
o BGP: Configuring global/link-local IPv6 nexthop
o BGP: Disallow AS Sets by default
o L3VPN: Support for import/export target none and import target all
o RAdv: P-flag to prefer prefix delegation in DHCPv6
o Filter: Merging of case intervals
o Filter: Append operator
o ASPA: Paths containing AS_SET are invalid
o Doc: Update website to bird.nic.cz
o CI: Upstream packaging cleanup and reproducible builds
o Various minor fixes in code, comments, documentation and tooling
Version 2.17.1 (2025-04-29)
o BSD: Fix build on NetBSD
o BGP: Fix crash when incoming connection for disabled protocol arrives
o Documentation fixes
Version 2.17 (2025-04-01)
o Babel: next hop control for IPv4
o BGP: link-local next hop format configuration
o TCP-AO implementation for Linux
Version 2.16.2 (2025-04-01)
o BFD: password reconfiguration crash fix
o L3VPN attribute fix
o Table removal rare crash fix
o Logging minor fix
Version 2.16.1 (2025-01-10)
o ASPA: fixed parser bug in static protocol
o ASPA: fixed static protocol reconfiguration
o Babel: fixed seqno comparison
o BSD: fixed onlink flag assumption with Netlink
o Fixed memory alignment issues
o Fixed possible rte src collisions in L3VPN
Version 2.16 (2024-12-04)
o BFD: Set password per session
o BFD: Accept zero checksum for IPv6-UDP
o BMP: Refactoring and optimizations
o OSPF: Allow loopback nexthop in OSPFv3-IPv4
o RPKI: TCP-MD5 authentication option
o Filters: Add enum types to filter grammar
o CLI: Configurable additional control sockets
o CLI: Timeformat command
o CLI: Dump commands need a target file
o ASPA support in filters, Static and RPKI
o Formalized contributions and credits policy
o Many bugfixes and improvements
Version 2.15.1 (2024-03-22)
o OSPF: Fix regression in handling PtP links
o RPKI: Handle connection resets properly
o Static: Reject invalid combination of options
o Fix builds with limited set of protocols
Version 2.15 (2024-03-10)
o BGP: Send hold timer
o BGP: New options to specify required BGP capabilities
o BFD: Improvements to 'show bfd sessions' command
o RPKI: New 'local address' configuration option
o Linux: Support for more route attributes, including
TCP congestion control algorithm
o Support for UDP logging
o Static routes can have both nexthop and interface specified
o Completion of command options in BIRD client
o Many bugfixes and improvements
Version 2.14 (2023-10-06)
o MPLS subsystem
o L3VPN: BGP/MPLS VPNs (RFC 4364)
o BGP: Access to unknown route attributes
o RAdv: Custom options
o Babel: RTT metric extension
o BMP: Refactored route monitoring
o BMP: Multiple instances of BMP protocol
o BMP: Both pre-policy and post-policy monitoring
o Experimental route aggregation
o Filter: Method framework
o Filter: Functions have return type statements
o Filter: New bytestring data type
o Kernel: Option to learn kernel routes
o Many bugfixes and improvements
Notes:
User-defined filter functions that return values now should have return type
statements. We still accept functions without such statement, if they could be
properly typed.
For loops allowed to use both existing iterator variables or ones defined in
the for statement. We no longer support the first case, all iterator variables
must be defined in the for statement (e.g. 'for int i in bgp_path ...').
Due to oversight, VRF interfaces were not included in respective VRFs, this is
fixed now.
Version 2.13.1 (2023-06-23)
o BGP: Fix role check when no capability option is present
o Filter: Fixed segfault when a case option had an empty block
This is a bugfix version.
Version 2.13 (2023-04-21)
o Babel: IPv4 via IPv6 extension (RFC 9229)
o Babel: Improve authentication on lossy networks
o BGP: New 'allow bgp_med' option
o BSD: Support for IPv4 routes with IPv6 nexthop on FreeBSD
o Experimental BMP protocol implementation
o Important bugfixes
Notes:
We changed versioning scheme from <epoch>.<major>.<minor> to more common
<major>.<minor>.<patch> . From now on, you may expect that BIRD 2.13.x will be
strictly only fixing bugs found in 2.13, whereas BIRD 2.14 will also contain
new features.
This BIRD version contains an alpha release of BMP protocol implementation.
It is not ready for production usage and therefore it is not compiled by
default and have to be enabled during installation.
Version 2.0.12 (2023-01-23)
o Filter: New 'onlink' route attribute
o Compile-time option to use 4-way tries instead of 16-way ones
o BSD: Support for kernel route metric and other improvements
o Important bugfixes
Version 2.0.11 (2022-11-12)
o BGP roles (RFC 9234)
o BGP: Keepalive time scaling
o BGP: New 'min hold time' and 'min keepalive time' options
o BGP: New 'next hop prefer global' option
o Filter: For loops and direct recursion
o Filter: Mixed declarations of local variables
o Filter: Improved static type checks
o Filter: Literal [] for empty set
o Linux: Netlink KRT improvements
o BSD: Experimental support for Netlink API
o Memory management improvements
o Many bugfixes
Notes:
In contrast to prior versions, configured keepalive time in BGP now scales
with negotiated hold time to maintain proportion between the keepalive time
and the hold time.
The Linux KRT was updated to use the recent API for IPv6 ECMP routes instead
of the legacy one. Consequently, the Linux versions older than 4.11 are no
longer supported, at least for IPv6 ECMP routes. Also, routing table scanning
now runs separately for each table to avoid congestion.
There is a minor change in recursive next hop processing. Previously,
recursive next hop must be resolved through a non-recursive route, now it must
be resolved through a prefix where both the best route and all routes with the
same preference (as the best route) are non-recursive. The old behavior might
lead in some corner cases to an infinite loop of recursive next hop resolution
due to a priority inversion.
There is a minor change in the 'configure undo' command, it is no longer
available after failed reconfiguration, as the old configuration is already
released.
Version 2.0.10 (2022-06-16)
o BGP performance improvements
o BFD: New 'strict bind' option
o RPKI: VRF support
o Allow use of 240.0.0.0/4 as a private range
o BIRD client uses exit status to report errors
o Important bugfixes
Version 2.0.9 (2022-02-09)
o BGP: Flowspec validation procedure
o Babel: MAC authentication support
o Routing table configuration blocks
o Optional prefix trie in routing table for faster LPM/interval queries
o CLI: New 'show route in <prefix>' command
o Filter: Faster (16-way) prefix sets
o Filter: MPLS label route attribute
o Filter: Operators to pick community components
o Filter: Operators to find minimum and maximum element of lists
o BGP: New 'free bind' option
o BGP: Log route updates that were changed to withdraws
o BGP: Improved 'invalid next hop' error reporting
o OSPF: Allow ifaces with host address as unnumbered PtP or PtMP ifaces
o OSPF: All packets on PtP networks should be sent to AllSPFRouters address
o Scripts for apkg-powered upstream packaging for deb and rpm
o Support for Blake2s and Blake2b hash functions
o Security keys / passwords can be entered in hexadecimal digits
o Memory statistics split into Effective and Overhead
o Linux: New option 'netlink rx buffer' to specify netlink socket buffer size
o BSD: Assume onlink flag on ifaces with only host addresses
o Many bugfixes
Notes:
For OSPF on PtP network, BIRD now sends all packets to multicast AllSPFRouters
address (as required in RFC 2328 8.1). This likely breaks setups with multiple
neighbors on a network configured as PtP, which worked in previous versions.
Such links should be configured as PtMP.
Since Linux 5.3, netlink socket can be flooded by route cache entries during
route table scan. This version mitigates that issue by using strict netlink
filtering.
Version 2.0.8 (2021-03-18)
o Automatic channel reloads based on RPKI changes
o Multiple static routes with the same network
o Use bitmaps to keep track of exported routes
o Per-channel debug flags
o CLI commands show info from multiple protocols
o Linux: IPv4 routes with IPv6 nexthops
o Filter: Optimized redesign of prefix sets
o Filter: Improved type checking of user filters
o Filter: New src/dst accessors for Flowspec and SADR
o Filter: New 'weight' route attribute
o Filter: BGP path mask loop operator
o Filter: Remove quitbird command
o RIP: Demand circuit support (RFC 2091)
o BGP: New 'allow as sets' and 'enforce first as' options
o BGP: Support for BGP hostname capability
o BGP: Support for MD5SIG with dynamic BGP
o BFD: Optional separation of IPv4 / IPv6 BFD instances
o BFD: Per-peer session options
o RPKI: Allow build without libSSH
o RPKI: New 'ignore max length' option
o OSPF: Redesign of handling of unnumbered PtPs
o OSPF: Allow key id 0 in authentication
o Babel: Use onlink flag for routes with unreachable next hop
o Many bugfixes
Notes:
Automatic channel reloads based on RPKI changes are enabled by default,
but require import table enabled when used in BGP import filter.
BIRD now uses bitmaps to keep track of exported routes instead of
re-evaluation of export filters. That should improve speed and accuracy in
route export handling during reconfiguration, but takes some more memory.
Per-channel debug logging and some CLI commands (like 'show ospf neighbors')
defaulting to all protocol instances lead to some minor changes in log and
CLI output. Caution is recommended when logs or CLI output are monitored by
scripts.
Version 2.0.7 (2019-10-11)
o BGP: Accumulated IGP metric (RFC 7311)
o Important filter reconfiguration bugfix
o Several other bugfixes
Version 2.0.6 (2019-09-10)
o RAdv: Solicited unicast RAs
o BGP: Optional Adj-RIB-Out
o BGP: Extended optional parameters length
o Filter: Sets and set expressions in path masks
o Several important bugfixes
Version 2.0.5 (2019-08-01)
o OSPF Graceful restart (RFC 3623, RFC 5187)
o BGP: Dynamic BGP
o BGP: Promiscuous ASN mode
o BGP: Mandatory option for channels
o BFD: Support for VRFs
o Graceful restart command
o Redesigned filtering code
o Many bugfixes
Notes:
Previous version introduced an error in handling of OSPF NSSA-LSA, causing
compatibility issues with proper implementations. The error is fixed in this
version, therefore there are compatibility issues in OSPF NSSA areas between
this and previous version.
Version 2.0.4 (2019-02-27)
o OSPF: Opaque LSAs (RFC 5250)
o OSPF: DN-bit handling (RFC 4576)
o Preferred route counters are back
o Important BGP bugfix
o Several bugfixes related to route propagation
o some minor bugfixes
Version 2.0.3 (2019-01-05)
o MRT table dumps (RFC 6396)
o BGP Long-lived graceful restart
o BGP: Optional import table (Adj-RIB-In)
o BGP: Extend 'next hop keep' and 'next hop self' options
o BGP: Improved VRF support
o OSPF: Authentication trailer for OSPFv3 (RFC 7166)
o Babel: New option to randomize router ID
o Filter: Custom route attributes
o Filter: Support for src accessor to SADR source prefix
o Filter: Support for VPN_RD sets
o Filter: Make ifname attribute modifiable
o Perf: Protocol to measure BIRD performance internally
o More verbose error messages in config processing
o Log file size limit / log rotation
o Many bugfixes
Notes:
Export of routes to RS EBGP (route server) sessions from other sources than
RS EBGP sessions was changed that ASN is no longer prepended to BGP_PATH in
that case. The change does not affect regular BGP configurations or regular
route servers that have only RS EBGP peers.
For BGP route servers and route reflectors, the default value of option
'next hop keep' was changed to a more appropriate value.
Attributes for OSPF and Babel metrics are no longer reset when exported to
these protocols and could be set anywhere in BIRD. As a result, OSPF metric is
kept when a route is reannounced between OSPF instances. Also, when route is
exported to OSPF with both ospf_metric1 and ospf_metric2 attributes it is now
propagated as OSPF-E2 route instead of as OSPF-E1 route.
Compiling BIRD with --enable-debug no longer automatically activates debug
mode (-d option) nor local mode (-l option). Also, debug mode with output to
file (-D option) no longer not forces foreground mode (-f option).
The configure script now uses standard option --runstatedir, the old option
--with-runtimedir is deprecated.
Version 2.0.2 (2018-03-22)
o Source-specific routing support for Linux kernel and Babel
o BGP: New option 'disable after cease'
o Filter: Allow silent filter execution
o Filter: Fixed stack overflow in BGP mask expressions.
o Several bugfixes
Notes:
Syntax prefix:netmask for IPv4 prefixes was dropped. Just use prefix/pxlen.
Version 2.0.1 (2018-01-16)
o Linux MPLS kernel support
o Better handling of channels inherited from templates
o Default EBGP Route Propagation Behavior without Policies (RFC 8212)
o Many bugfixes
Notes:
To satisfy requirements of RFC 8212, external BGP protocols now require
explicit configuration of import and export policies.
Version 2.0.0 (2017-12-11)
o Integrated IPv4 + IPv6 design
o Support for MPLS next hops
o Support for VPNv4 and VPNv6 networks
o Microsecond timers infrastructure
o Basic VRF support
o Babel: Support for dual-stack IPv4/IPv6
o Babel: Many improvements and bugfixes
o Major BGP protocol redesign
o Full support for Multiprotocol BGP
o BGP multicast support (SAFI 2)
o BGP flowspec support (RFC 5575)
o BGP with MPLS labels (RFC 3107)
o BGP MPLS/VPN support (RFC 4364)
o BGP 6PE - IPv6 NLRI over IPv4 MPLS (RFC 4798)
o BGP IPv4 NLRI with an IPv6 Next Hop (RFC 5549)
o BGP Confederations (RFC 5065)
o BGP Shutdown communication (RFC 8203)
o BGP: Allow exchanging LOCAL_PREF with eBGP peers
o BGP: Allow to specify interface for regular sessions
o OSPF: Support of address families in OSPFv3
o OSPF: Enable ECMP and Link detection by default
o RAdv: Support for more specific routes (RFC 4191)
o RAdv: Proper handling of prefix retraction
o RIP: Enable ECMP and Link detection by default
o Redesign of RPKI handling
o New RPKI-Router protocol
o Static: Minor overhaul
o Static: Support for all new route types
o Kenrel: Default Linux kernel metric changed to 32
o Kernel: Fix IPv6 ECMP handling with Linux 4.11+
o Update of show route command
o BIRD client persistent history
o New build system
o Unit tests
o ...
Notes:
Tables are now defined with appropriate net type keyword. Protocols and tables
are now connected by explicit channels, most related protocol options (table,
import, export, ...) are now channel options. See doc/bird.conf.example2 for
configuration examples. Some options were removed/replaced.
译者 + 校对
遵循协议: CC BY-NC-SA 4.0
译者: Hat
翻译时间: 2017-12-11
更新时间: 2026-05-30
本文链接: https://bird.xmsl.dev/pages/changelog.html