Age | Commit message (Collapse) | Author |
|
|
|
|
|
Add proper support for per-nexthop onlink flag in routes to handle next
hop addresses that are not covered by interface IP ranges. Supported by
kernel and static protocols.
Thanks to Vincent Bernat for the idea.
|
|
The subtlv parsing code was doing byte-based arithmetic with non-void pointers,
causing it to read beyond the end of the packet.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
|
|
RFC6126bis formally introduces sub-TLVs to the Babel protocol, including
mandatory sub-TLVs. This adds support for parsing sub-TLVs to the Babel
protocol and skips TLVs that contain mandatory sub-TLVs, as per the spec.
For details, see section 4.4 of
https://tools.ietf.org/html/draft-ietf-babel-rfc6126bis-02
Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
|
|
Previously, the Babel protocol would never use prefix compression on outgoing
updates (but would parse it on incoming ones). This adds compression of IPv6
addresses of outgoing updates.
The compression only works to the extent that the FIB is walked in lexicographic
order; i.e. a prefix is only compressed if it shares bytes with the previous
prefix in the same packet.
Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
|
|
This updates the documentation for the Babel protocol to mention the fact
that it now supports dual-stack operation, and adds documentation for the
new next hop options.
Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
|
|
This adds support for dual-stack v4/v6 operation to the Babel protocol.
Routing messages will be exchanged over IPv6, but IPv4 routes can be
carried in the messages being exchanged. This matches how the reference
Babel implementation (babeld) works.
The nexthop address for v4 can be configured per interface, and will
default to the first available IPv4 address on the given interface. For
symmetry, a configuration option to configure the IPv6 nexthop address
is also added.
Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
|
|
|
|
|
|
|
|
|
|
|
|
The old hash table had fixed size, which makes it slow for config files
with large number of symbols and symbol lookups. The new one is growing
according to needs.
|
|
|
|
Function isspace() expects to get *unsigned* chars (encoded as ints),
not that it matters for plain ASCII.
|
|
Lexer always parsed numbers as unsigned, but parser handled them as
signed and grammar contained many unnecessary checks for negativity.
|
|
bird> eval 200.210.220.0/16
Invalid IPv4 prefix 200.210.220.0/16, maybe you wanted 200.210.0.0/16
bird> eval 1000:2000::/8
Invalid IPv6 prefix 1000:2000::/8, maybe you wanted 1000::/8
|
|
|
|
Variable of u64 type was passed to vararg function as uint.
|
|
When shift count >= width of type the behavior is undefined.
|
|
|
|
|
|
Avoid empty macro argument to avoid default behavior.
|
|
Space in action branch breaks build on some platforms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Simplify BIRD client library checks, add proper devel header checks and
prefer dependency on just tinfo than full ncurses.
|
|
|
|
|
|
|
|
|
|
Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not
really correct, but is consistent with the old behavior.
|
|
Make indentation and quotation consistent in configure macros.
Also remove --with-sysinclude option, which was broken for 7 years
and nobody complained.
Thanks to Ruben Kerkhof for source patches.
|
|
|
|
Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.
Thanks to Ruben Kerkhof for the patchset.
|
|
|
|
|
|
|
|
|
|
Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.
Thanks to Ruben Kerkhof for the patchset.
|
|
|
|
|
|
|
|
|
|
|