Age | Commit message (Collapse) | Author |
|
is not found. Fixes crash reported by Tom Smyth.
|
|
OK claudio@
|
|
OK phessler@
|
|
|
|
OK claudio@
|
|
if there are any neighbors that have pending updates. If so the timeout of
the poll loop is set to 0 so that the work is completet ASAP.
The regress test was not working because of this. The RDE was stuck in poll()
instead of sending the updates out.
Tested and OK denis@
|
|
config and not the old flags. Needed so that changing flags and rtableid
at the same time works.
|
|
or the rtableid changed and there is a FIB. In the NOFIB case changing the
rtableid has no effect. Fixes a problem introduced with keeping the default
ribs alive and Adj-RIB-In/Out.
Probelm found, tested and OK denis@
|
|
OK claudio@
|
|
OK job@, benno@
|
|
introduced before 6.4 because it now can be replaced with the real RIB.
Main changes are:
- simplified 'show rib' handling since everything is now a real RIB
- path_update() is now returning if a prefix was not modified, added or moved
- softreconfig out case is simpler since path_update does all the magic now
- Adjust shutdown code to work with the Adj-RIB-Out
Tested and OK denis@, benno@
|
|
(and other lexers too)
This commit rectifies earlier change:
in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).
OK deraadt@, OK millert@
|
|
lists are no longer needed and make it possible to share rde_aspath between
peers & prefixes. Instead of the lists the rde_aspath is now reference counted.
With this struct prefix is now the central place where everything is connected
to making the RIB a bit easier to handle.
With input and OK denis@
|
|
OK denis@
|
|
network_flush() is now using rib_dump_new to walk the Adj-RIB-In and
remove all dynamically added announcements. peer_flush() got generalized
and is now used also in peer_down(). It also uses a walker to remove all
prefixes of a peer but does it in a synchronous way for now.
OK benno@
|
|
on reload but after that not allowing it to be re-enabled. So now it is
possible to enable route-collector mode again but it is still not possible
to turn it of via reload. Problem reported by Aaron A. Glenn.
OK benno@
|
|
OK deraadt@
|
|
OK phessler@
|
|
rib_valid() check. The list of ribs can have holes.
OK benno@
|
|
sizeof calculation that did not respect possible padding bytes.
OK sthen@ denis@
|
|
walked. rib_dump_r() is now an internal function and instead the code gets
an additional callback for throttling the rib_dump code. This removes a
lot of similar code used to make sure the RDE is not walking to fast and
replaces it with simpler callbacks. The other big change is the removal
of struct rib pointers in other data structures. The rib pointers are not
stable because of a realloc() call happening when extending the array so
instead use the RIB ID as a reference.
Tested and OK denis@ and benno@
|
|
Adj-RIB-Out prints the right (modified) nexthop. Found by Marko Cupac.
OK benno@
|
|
messages the RDE did not act based on them. This mostly ensures that large
UPDATE runs (e.g. on peer up) are not flodding the imsg queue and therfore
delaying other imsgs.
OK denis@ benno@
|
|
most probably wrong EoR could be sent out because the variable persisted
over iterations.
|
|
blocks look the same.
|
|
reload peers into a new RIB. Removes one additional full RIB tree walker.
OK benno@
|
|
context once every poll loop until finished or data is queued.
OK benno@
|
|
comparing with byte-order swapped, therefore it could add duplicates.
ok claudio
|
|
|
|
Network Announcements. Move stuff accordingly and add some missing bits.
Input and OK sthen@ OK benno@ just push ahead jmc@
|
|
OK claudio@
|
|
With input from claudio@, sthen@ and jmc@
OK claudio@ sthen@
|
|
OK denis@ claudio@
|
|
OK claudio@
|
|
Bug report from Jon Williams, jon AT jonwillia DOT ms, thanks.
ok claudio@
|
|
roa-set for RPKI based origin validation and a origin-set which allows to
lookup a source-as / prefix pair.
For RPKI a config can be built like this:
roa-set {
165.254.255.0/24 source-as 15562
193.0.0.0/21 maxlen 24 source-as 3333
}
deny from any ovs invalid
match from any ovs valid set community local-as:42
match from any ovs not-found set community local-as:43
Origin sets are similar but only match when the source-as / prefix pair is
valid.
match from any origin-set ARINDB set community local-as:44
Committing this now so that further work can be done in tree.
OK benno@, job@
|
|
potentially much bigger. In bad cases the SE activated the config way
before the RDE which is not ideal. Introduce IMSG_RECONF_DRAIN which
acts as a barrier and ensures that both childs got all the config.
Only after that the IMSG_RECONF_DONE message is sent activating
the config in the childs more or less simultaneous.
OK benno@
|
|
which prefixes were sent out as UPDATE. At withdraw time the RB tree can be
consulted to know if the withdraw actually needs to be sent to the peer.
This replaces the faulty heuristic that was used before and caused either
that unneeded withdraw to be sent or in the worst case failing to send a
necessary withdraw resulting in stuck routes.
OK benno@
|
|
|
|
ok claudio@
|
|
soon. OK compiler and grep
|
|
withdraw were suddenly filtered out because the filter ran into the
default deny. So for this case (state == NULL) change action to default
allow. This bug was haunting bgpd for a while now causing prefixes to be
stuck for no obvious reason.
OK benno@, sthen@
|
|
checking that a source_as / maxlen combo actually fits.
Fixes regress test.
|
|
that it is actually AS_SEQUENCE. No functional change those are the only
two types bgpd supports here.
|
|
|
|
goes in now since it fixes a real issue.
|
|
number of elements is used as size which is always wrong.
|
|
This simplifies host() and merges host_v{4,6}() into host_ip() as recently
done for pfctl and ntpd.
Tested and OK denis, OK deraadt, "go ahead" benno
|
|
AS 0 and adjust yyerror message to print the right number.
With input and OK denis@
|
|
OK denis@
|