Skip to content
Snippets Groups Projects
Commit c4199e30 authored by Ondřej Zajíček's avatar Ondřej Zajíček
Browse files

Merge branch 'dev' into ospf3

parents f2d7da74 ea7ada38
Branches
Tags
No related merge requests found
Version 1.1.7 (2009-12-21)
o Implements BGP Route Refresh (RFC 2918).
o Implements route reload feature.
o Deep changes and bugfixes in pipe protocol.
o Bugfix in OSPF premature aging of LSA.
o Bugfix in OSPF next hop calculation.
o Bugfix in core related to route withdraws.
o Several minor bugfixes.
Version 1.1.6 (2009-11-19)
o Implements RFC 5004 - prefer older external routes.
o There is a change how route servers handle missing IPv6 link
......
......@@ -512,7 +512,9 @@ This argument can be omitted if there exists only a single instance.
Re-export always succeeds, but re-import is protocol-dependent
and might fail (for example, if BGP neighbor does not support
route-refresh extension). In that case, re-export is also
skipped.
skipped. Note that for the pipe protocol, both directions are
always reloaded together (<cf/in/ or <cf/out/ options are
ignored in that case).
<tag/down/
Shut BIRD down.
......
Summary: BIRD Internet Routing Daemon
Name: bird
Version: 1.1.6
Version: 1.1.7
Release: 1
Copyright: GPL
Group: Networking/Daemons
......
......@@ -113,6 +113,19 @@ pipe_import_control(struct proto *P, rte **ee, ea_list **ea UNUSED, struct linpo
return 0;
}
static int
pipe_reload_routes(struct proto *P)
{
/*
* Because the pipe protocol feeds routes from both routing tables
* together, both directions are reloaded during refeed and 'reload
* out' command works like 'reload' command. For symmetry, we also
* request refeed when 'reload in' command is used.
*/
proto_request_feeding(P);
return 1;
}
static int
pipe_start(struct proto *P)
{
......@@ -183,6 +196,7 @@ pipe_init(struct proto_config *C)
P->accept_ra_types = (p->mode == PIPE_OPAQUE) ? RA_OPTIMAL : RA_ANY;
P->rt_notify = pipe_rt_notify_pri;
P->import_control = pipe_import_control;
P->reload_routes = pipe_reload_routes;
return P;
}
......@@ -206,12 +220,18 @@ pipe_get_status(struct proto *P, byte *buf)
}
static int
pipe_reconfigure(struct proto *p, struct proto_config *new)
pipe_reconfigure(struct proto *P, struct proto_config *new)
{
struct pipe_config *o = (struct pipe_config *) p->cf;
struct pipe_proto *p = (struct pipe_proto *) P;
struct pipe_config *o = (struct pipe_config *) P->cf;
struct pipe_config *n = (struct pipe_config *) new;
return (o->peer == n->peer) && (o->mode == n->mode);
if ((o->peer->table != n->peer->table) || (o->mode != n->mode))
return 0;
/* Update also the filter in the phantom protocol */
p->phantom->p.out_filter = new->in_filter;
return 1;
}
struct protocol proto_pipe = {
......
......@@ -7,7 +7,7 @@
#define _BIRD_CONFIG_H_
/* BIRD version */
#define BIRD_VERSION "1.1.6"
#define BIRD_VERSION "1.1.7"
/* Include parameters determined by configure script */
#include "sysdep/autoconf.h"
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment