|
|
|
# Notes for transition from BIRD 1.6 to BIRD 2.0
|
|
|
|
|
|
|
|
## Tables
|
|
|
|
|
|
|
|
Instead of default table named *master*, there are two default tables named *master4* and *master6*, for IPv4 and IPv6.
|
|
|
|
|
|
|
|
Table definitions now specify network type. Instead of `table xyz;` it is now `ipv4 table xyz;` or `ipv6 table xyz;`. There are more network / table types than just *ipv4* or *ipv6*, see documentation for more details.
|
|
|
|
|
|
|
|
ROA tables are no longer a special structure, but just a variant of routing table of network type *roa4* or *roa6*. Therefore, they can be defined by `roa4 table xyz;` or `roa6 table xyz;`. The definition cannot preinitialize the table with ROA records, but it is possible to use static protocol for that purpose. It is no longer possible to use commands *show/add/delete/flush roa*, but can be examined by regular *show route* command.
|
|
|
|
|
|
|
|
## Channels
|
|
|
|
|
|
|
|
Protocols and tables are now connected by explicit channels, most related protocol options (*table*, *import*, *export*, ...) are now channel options. Most protocols need (implicit or explicit) channel definition. IPv4 and IPv6 channels are defined by *ipv4* and *ipv6* keywords in protocol sections. For simple protocol with default edit parameters, it is just:
|
|
|
|
|
|
|
|
```
|
|
|
|
protocol static {
|
|
|
|
ipv4;
|
|
|
|
route 10.10.0.0/16 via 10.1.1.1;
|
|
|
|
...
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
In most cases some channel options are used. For example instead of:
|
|
|
|
|
|
|
|
```
|
|
|
|
table xyz;
|
|
|
|
|
|
|
|
protocol ospf {
|
|
|
|
table xyz;
|
|
|
|
export where source = RTS_STATIC;
|
|
|
|
interface "eth*" { ... };
|
|
|
|
}
|
|
|
|
```
|
|
|
|
It is now:
|
|
|
|
|
|
|
|
```
|
|
|
|
ipv4 table xyz;
|
|
|
|
|
|
|
|
protocol ospf {
|
|
|
|
ipv4 {
|
|
|
|
table xyz;
|
|
|
|
export where source = RTS_STATIC;
|
|
|
|
};
|
|
|
|
interface "eth*" { ... };
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
Some protocols can use multiple channels, For example:
|
|
|
|
|
|
|
|
```
|
|
|
|
protocol direct {
|
|
|
|
ipv4;
|
|
|
|
ipv6;
|
|
|
|
}
|
|
|
|
|
|
|
|
protocol babel {
|
|
|
|
ipv4 { export all; };
|
|
|
|
ipv6 { export all; };
|
|
|
|
interface "*" { ... };
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Miscellaneous
|
|
|
|
|
|
|
|
Global option *listen bgp* was removed. Use *strict bind* BGP option instead.
|
|
|
|
|
|
|
|
For BGP, many protocol options are now channel options, as they are limited to each AFI/SAFI represented by that channel. See documentation for details.
|
|
|
|
|
|
|
|
OSPF and RIP use ECMP and link detection by default.
|
|
|
|
|
|
|
|
On linux, default value for kernel option *metric* is changed to 32.
|
|
|
|
|
|
|
|
Kernel option *device routes* was removed. Device routes are handled as regular router.
|
|
|
|
|
|
|
|
Device protocol option *primary* was replaced by section *interface* with option *preferred*.
|
|
|
|
|
|
|
|
Long obsolete syntax for bgp masks (e.g. /1 2 3/) was removed. |