Age | Commit message (Collapse) | Author |
|
|
|
detect changes of the active prefix. This bug is only triggered when a
nexthop changes state. While doing that clarify prefix_move a bit.
OK henning@
|
|
OK henning@
|
|
|
|
ok claudio
|
|
->remote_addr for easier multiprotocol support
ok claudio@
|
|
with this, logit() can be a private function.
we don't need to include syslog.h in bgpd.h any more; log.c and parse.y
who need it include it directly now.
|
|
|
|
a few messages.
ok claudio@
|
|
attached to a pseudo peer and inserted like all other prefixes into the RIB.
OK henning@
|
|
The first limits the number of sent prefixes per peer the latter controls
which prefix we do annouce to the neighbor.
Another looks good from henning@
|
|
ignore all queued updates after an error. Looks good henning@
|
|
Now bgpctl neighbor <IP> up does work as expected.
Looks good from henning@
|
|
|
|
for IPv6.
|
|
|
|
|
|
is more appropriate. The rde uses now in most cases struct bgpd_addr.
OK henning@
|
|
in_addr_t
ok claudio@
|
|
peer session. This is needed to set the correct nexthop address in outgoing
bgp UPDATES. OK henning@
|
|
|
|
neighbors. Fix a bug in the update generation. If no path attributes are
available e.g. a packet with only withdraws we need to set (and write) the
bgp path attribute field to zero. With this change we are able to send
valid updates to our neighbors with one exception: the nexthop field which
needs to be changed for ebgp neighbors.
OK henning@
|
|
peer basis. A queue runner will dequeue and package those messages to valid
bgp UPDATE messages and send them to the SE.
Not yet done is per peer type attribute handling (like aspath prepends and
nexthop modifications) and the queue runner could be a tad smarter. All in
all this gives us a good starting point for the missing parts.
OK henning@
|
|
|
|
where the nexthop is not in state NEXTHOP_REACH.
previously routes in state NEXTHOP_LOOKUP, i. e. not yet verified, were
send to the parent process causing unnecessary and of course failing route
add attempts, cluttering logs, etc. nexthops in state NEXTHOP_UNREACH were
handled correctly.
|
|
change. Until now rde_send_kroute tried to send a IMSG_KROUTE_DELETE if old
and new prefix where ineligible. OK henning@
|
|
|
|
Dumping of incomming bgp messages is now possible and dumping the (not yet)
filtered updates works too. Per neighbor dumps are still missing.
OK henning@
|
|
with the amount of different msgs the RDE is handling the checks wether
a msg was received on the "wrong" pipe make things less clear.
also remove some outdated comments
|
|
every other IP address
in the RDE, transform in into host byte order upon receival
|
|
that need it include that
|
|
so many parts of bgpd are not at all interested in the session specific peer
structs... allows for some further cleaning
|
|
that means that the callers can (and must) coope with closed connections
themselves, what is exactly the desired behaviour.
|
|
imsg into the buffer. since imsg_get by definition only returns one imsg we
missed the next imsg(s) until the next poll event on the socket in question,
building up a queue on that socket. didn't show up as a problem yet...
factor out imsg_read, which reads into the buffer. imsg_get now entirely
operates on the buffers and does not read(2) itself.
make all callers cope by calling imsg_read on poll events and calling
imsg_get in a loop until all imsgs are processed.
|
|
|
|
|
|
|
|
zap aspath->state, which was a copy of aspath->nexthop->state, for a tiny
little bit faster access. tho, it happened what had to happen, they ran
out of sync.
it's just not worth it.
also add a missinf LIST_INIT.
|
|
the exit nexthop as the latter will only work if the two happen to be equal
|
|
|
|
make the callers cope.
|
|
the error number as parameter instead of accessing errno, because in one
place the error number was not in errno but fetched from a socket.
now, of course it makes much more sense to just set errno to the error number
just fecthed in this one place instead of having hundreds of fatal() calls
all transfer the errno round and round and round...
fix this, and also provide a fatalx, which does not care for errno and doesn't
invoke strerror.
oh, btw, in the place where we fetch the err # from the socket, we don't
call fatal anymore anyway...
|
|
ok henning@
|
|
The RDE just tracks the nexthop IPs and reacts on nexthop messages
from the parent.
ok henning@
|
|
|
|
few places, requested by theo
|
|
somewhat fragile IMSG_SHUTDOWN_* stuff any more. speeds shutdown up
enourmously.
ok claudio@
|
|
them easily on shutdown without the RDE's help
|
|
|
|
and make all callers cope.
|