Merge branch 'ospf3' into new
This commit is contained in:
commit
ba9a122142
5 changed files with 37 additions and 6 deletions
9
NEWS
9
NEWS
|
@ -1,3 +1,12 @@
|
||||||
|
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)
|
Version 1.1.6 (2009-11-19)
|
||||||
o Implements RFC 5004 - prefer older external routes.
|
o Implements RFC 5004 - prefer older external routes.
|
||||||
o There is a change how route servers handle missing IPv6 link
|
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
|
Re-export always succeeds, but re-import is protocol-dependent
|
||||||
and might fail (for example, if BGP neighbor does not support
|
and might fail (for example, if BGP neighbor does not support
|
||||||
route-refresh extension). In that case, re-export is also
|
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/
|
<tag/down/
|
||||||
Shut BIRD down.
|
Shut BIRD down.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Summary: BIRD Internet Routing Daemon
|
Summary: BIRD Internet Routing Daemon
|
||||||
Name: bird
|
Name: bird
|
||||||
Version: 1.1.6
|
Version: 1.1.7
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: Networking/Daemons
|
Group: Networking/Daemons
|
||||||
|
|
|
@ -113,6 +113,19 @@ pipe_import_control(struct proto *P, rte **ee, ea_list **ea UNUSED, struct linpo
|
||||||
return 0;
|
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
|
static int
|
||||||
pipe_start(struct proto *P)
|
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->accept_ra_types = (p->mode == PIPE_OPAQUE) ? RA_OPTIMAL : RA_ANY;
|
||||||
P->rt_notify = pipe_rt_notify_pri;
|
P->rt_notify = pipe_rt_notify_pri;
|
||||||
P->import_control = pipe_import_control;
|
P->import_control = pipe_import_control;
|
||||||
|
P->reload_routes = pipe_reload_routes;
|
||||||
return P;
|
return P;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,12 +220,18 @@ pipe_get_status(struct proto *P, byte *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
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;
|
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 = {
|
struct protocol proto_pipe = {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#define _BIRD_CONFIG_H_
|
#define _BIRD_CONFIG_H_
|
||||||
|
|
||||||
/* BIRD version */
|
/* BIRD version */
|
||||||
#define BIRD_VERSION "1.1.6"
|
#define BIRD_VERSION "1.1.7"
|
||||||
|
|
||||||
/* Include parameters determined by configure script */
|
/* Include parameters determined by configure script */
|
||||||
#include "sysdep/autoconf.h"
|
#include "sysdep/autoconf.h"
|
||||||
|
|
Loading…
Reference in a new issue