Age | Commit message (Collapse) | Author |
|
version 13.
|
|
Additionally our as4byte support is based on draft-ietf-idr-as4bytes-13.
|
|
From: Stuart Henderson <stu@spacehopper.org>
|
|
|
|
|
|
|
|
|
|
|
|
"people will complain if it's unclear" jmc@
|
|
|
|
|
|
are now 4-byte instead of the old 2-byte numbers. The only exception are
communities because they can not be switched. The RDE will inflate and deflate
the ASPATH and AGGREGATOR attributes on demand and create the NEW_ASPATH and
NEW_AGGREGATOR field whenever needed. Both old and new stile sessions are
supported and can be mixed. Currently new stile sessions with the 4-byte AS
number capability turned on are only enabled if one of the AS numbers involved
is a 4-byte one.
This is based on an initial diff by Geoff Huston gih (at) apnic (dot) net
Cleanup, testing and bug-fixes by myself (via AS 3.10).
Currently mrt table dumps are producing incompatible output this will be fixed
afterwards -- this diff is already big enough.
"get it in if you think it is ready" henning@
|
|
using a static message structure. This is more flexible and needed if
multipath comes into play. looks good henning@
|
|
some time ago. OK henning@
|
|
Discussed with henning@
|
|
|
|
|
|
This makes prefixlen filtering for AF_INET6 unnecessary complex. From now
on if prefixlen is used alone the address family needs to be specified
beforehands via the new inet or inet6 keywords.
Remove an old check so that it is finally possible to filter IPv6 prefixes.
OK henning@
|
|
mostly from rivo nurges <rix@estpak.ee>, ok claudio
|
|
IPV6_UNICAST_HOPS which does the same thing and does not fail.
OK henning@ found by Jon Morby
|
|
signal "connection closed" upstream.
spotted by Valentin Kozamernik <tin@komna.com>
|
|
|
|
|
|
a few things we actually never realy cared about.
OK henning@
|
|
have pending imsgs to send or that we reduce the poll timout to 0. This
fixes hanging and extrem slow performing bgpctl show rib commands.
Found by Jon Morby additional testing by Stuart Henderson. OK henning@
|
|
|
|
stolen from hostapd.conf.5
|
|
use it, instead of always telling "unknown suberror code X"
From: Leen Besselink <leen@consolejunkie.net>
if memory serves, cease didn't have suberror codes defined in the original
RFC 1771 and they were added later
|
|
|
|
|
|
to work on INET6...
non-fatal error, so in pratice this just avoids a misleading error msg
|
|
that source and destination match the actual traffic flow.
Found and initial diff by Adam Chappell (Adam.Chappell at interoute dot com)
|
|
|
|
|
|
This is an undocumented optimisation that fails with the introduction of
AS 23456 as placeholder for 4-byte ASN.
OK henning@
|
|
to understand. This is modeled after bgpctl's parse_prefix function.
OK henning@
|
|
|
|
With help from jmc@
|
|
for special stuff (4-byte AS support).
|
|
range check. Found while hacking on 4-byte AS support.
|
|
- dedicated pipe between the SE and the RDE for control messages
- restartable RB tree dumps in the RDE
- queuing limits both in the SE and RDE
The result is a dramatic decrease of memory consumption on operations like
bgpctl show rib. Previously all messages where first stored in the RDE
then passed to the SE where they got queued in case bgpctl was not fast enough.
Now only a small number of messages is generated and passed to the SE and
the SE has an additional limit instead of acting like an infinite buffer.
Without this the bgpd on bgpd.networx.ch would not survive a single minute.
looks good henning@
|
|
This is needed because the nexthop is not yet linked to the aspath attributes
and so a withdraw in the same update imsg could remove this nexthop which in
turn causes a use after free error when the prefix is added later on.
The order of parsing (attributes, withdraws, prefixes instead of withdraws,
attributes, prefixes) was reversed for multiprotocol support.
This should fix all strange nexthop crashes seen by various people.
Tested and OK henning@
|
|
|
|
Previously prefix changes of neighbors with softreconfig in disabled where
using prefix_add() instead of prefix_move(). Luckily prefix_add() has
additional logic to detect this case and calls prefix_move() itself.
This made backtraces of a totaly different issue so strange that I was
hunting a bug for weeks at the completely wrong spot. Doh!
|
|
pipes without the signal just fine. ok claudio
|
|
On some of my systems rde_shutdown() takes more than 3min doing nothing more
than calling free(3) over and over again.
|
|
less than 255 attributes can be allocated at max. OK claudio@
|
|
|
|
|
|
change. OK henning@
|